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 {{{tipizzazione}}}
Implementazione di riferimento
Implementazione Qcodo.com
Sistema operativo Multipiattaforma
Licenza Licenza MIT
Sito web

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 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

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

Collegamenti esterni[modifica | modifica wikitesto]

Informatica Portale Informatica: accedi alle voci di Wikipedia che trattano di informatica