# Qcodo

Il Qcodo Development Framework è un ambiente di sviluppo software per applicazioni web (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 maintainer 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
* 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,, AJAXWord

## QCubed

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