Qcodo

Da Wikipedia, l'enciclopedia libera.
Qcodo
Autore Mike Ho, Quasidea Development
Data di origine 2005
Ultima versione 0.4.22
Utilizzo Applicazioni web
Paradigmi Orientato agli oggetti
Tipizzazione
Implementazione di riferimento
Implementazione Qcodo.com
Sistema operativo Multipiattaforma
Licenza Licenza MIT
Sito web http://www.qcodo.com

Il Qcodo Development Framework è un web application framework PHP open-source che genera contenuti (ORM) (Object Relational Mapping), CRUD (Create, Retrieve, Update, Delete) , e AJAX a partire da un modello dati preesistente. Include un toolkit HTML e JavaScript strettamente integrato per la generazione e gestione di moduli che si interfacciano direttamente con le entità generate dall'(ORM).È un framework robusto e completo che può essere utilizzato per applicazioni web di piccole o grandi dimensioni.

Il framework è costituito da tre componenti principali:

  • Il Code Generator - il generatore di codice
  • Qforms, QForms - webform fondate sull'OOP che possono basarsi su Ajax o sul server processing
  • QQuery - un generatore di query fondato sull'OOP.

Ognuno di questi componenti può essere utilizzato singolarmente.

Il Code Generator analizza la struttura di un Database Relazionale esistente e genera un(ORM) PHP oltre a una serie di interfacce remote (SOAP e AJAX) integrate all'interno dell'(ORM).

L'ORM di Qcodo può essere esteso per fornire funzionalità mantenute dall'utente attraverso il subclassing degli oggetti. Qforms è un template engine ispirato a ASP.NET nel quale ogni elemento dei moduli è un oggetto che espone le proprie funzionalità e il proprio stato attraverso metodi e proprietà. Qforms mantiene lo stato della pagina e lo stato del modulo e include le funzionalità di validazione dei campi, di gestione degli eventi e delle chiamate AJAX associate. È strettamente collegato con l'(ORM) e permette agli sviluppatori di effettuare cambiamenti e interazioni in ognuno dei tre componenti dell'architettura MVC con poco impatto sulle modifiche richieste agli alti componenti..

Il Qcodo Package Manager (QPM) è stato introdotto conQcodo versione 0.4.0 per permettere ai membri della community una modalità più efficiente di introdurre e condividere moduli, miglioramenti e correzioni al Qcodo Development Framework. Il sito web Qcodo.com può essere utilizzato per visualizzare i pacchetti QPM frutto del contributo degli utenti nella sezione QPM del sito web.

Qcodo è stato concepito da Mike Ho e la sua azienda Quasidea Development gestisce come mantainer centrale le decine di contributi della Qcodo Community che fornisce nuove funzionalità e rilasci di nuove versioni attraverso il sito web di Qcodo Qcodo.com. Il codice di Qcodo è opensource e disponibile anche su GitHub.

Il framework è utilizzato in molti ambienti di produzione in vari ambiti inclusi:

  • NASA Online Project Information System[1]
  • NASA Exploration Life Support
  • Stanford University School of Medicine, Biomedical Informatics Research
  • Uloop, the largest student-to-student Classifieds network
  • Chess.com, the largest Chess-focused social network
  • Academy of Country Music, the official website
  • Delo.si, the official website of Delo, the major daily newspaper of Slovenia

Il framework è stato presentato in molte conferenze tra le quali la Zend/PHP Conference, la MySQL User Conference, MySQL Dev Zone,[2], AJAXWord

QCubed[modifica | modifica wikitesto]

QCubed è un fork di Qcodo gestito dalla community e fa capo a un progetto che è stato reso pubblico il 6 Novembre 2008. Il progetto ha 11 contributori principali. Il codice è open-source e disponibile su GitHub. La codebase è gestita attraverso la responsabilità condivisa dei contributori. Qcubed include un sistema di gestione dei plugin e un installer. Nella pianificazione futura tutto il codice Javascript custom verrà sostituito con JQuery

Collegamenti esterni[modifica | modifica wikitesto]

Note[modifica | modifica wikitesto]

  1. ^ Levri, J.A.; Deng, B.; Welch, J.; Ho, M.C.; Hogan, J.A. (2009) "Online Project Information System (OPIS) Description, Annual Reporting Outcomes, and Resulting Improvements" 39th International Conference on Environmental Systems, SAE 2009-01-2513.
  2. ^ MySQL :: Using MySQL With PHP