Event Driven Objects / Framework sul Web [chiuso]

1

Sono uno sviluppatore desktop che si sta spostando verso lo sviluppo web. I ragazzi con cui sto lavorando usano il PHP procedurale e provengono da una prospettiva obiettiva oggettivata (usando WPF e C # .Net). Sono completamente perso in quello che sembra il selvaggio West dello sviluppo.

Esistono combinazioni linguistiche / framework che consentono una certa parvenza di stato tra client e server e "persiste" negli oggetti? C'è un modo per creare una definizione di un oggetto che sia sinonimo tra il client e il server?

C'è qualcosa che incorpora anche test e componenti dell'interfaccia utente?

Mi rendo conto che questa è una domanda piuttosto ampia e parziale, tuttavia è una di quelle per cui non ho trovato risposte definitive. Qualunque consiglio e guida sarebbe molto apprezzato!

    
posta chaosaffe 28.12.2014 - 07:41
fonte

3 risposte

3

La tua migliore scommessa è quella di imparare prima JavaScript senza alcun framework. Funziona sia lato client che lato server (come Node.js). JavaScript è Event Driven da solo quindi non dovrai affrontare molti problemi qui.

Dato che provieni da uno sfondo C # e il tuo team usa PHP, ti consiglio vivamente il Dojo Framework . Funziona sia lato client che lato server o può funzionare sul lato client e ha integrazione con Zend PHP sul lato server.

Ci sono Widget in Dojo all'interno del pacchetto Dijit , che sono fondamentalmente classi utilizzate per implementare l'interfaccia utente ( Controlli nel mondo C # ). L'integrazione con Zend ha alcuni vantaggi interessanti tra cui lo stato persistente di cui stai parlando.

Altrimenti potresti cercare framework vanilla come jQuery e sincronizzare i dati con il tuo server PHP usando AJAX Chiamate.

    
risposta data 28.12.2014 - 16:52
fonte
0

Ci sono una grande varietà di framework web in diverse lingue, e nel considerarli vale sempre la pena tenere a mente che in realtà c'è solo un singolo tipo di evento nello sviluppo web lato server (il browser ha richiesto di caricare alcuni dati).

Detto questo, esistono alcuni framework che tentano di emulare un sistema in cui il server risponde agli eventi che si verificano sugli oggetti lato client; ASP.net è probabilmente il più noto di questi.

Molti sviluppatori sono dell'opinione che siano più problemi di quanti ne valga la pena, comunque. Estrapolano troppo il dettaglio di come funziona il web e portano via troppo controllo.

La maggior parte dei siti web moderni e di grandi dimensioni sono sviluppati utilizzando il pattern MVC. Come sviluppatore C # potresti voler esaminare ASP.net MVC; altre implementazioni popolari sono ruby on rails e Spring MVC per Java.

    
risposta data 28.12.2014 - 09:46
fonte
0

Vedo che hai bisogno di una soluzione per l'interfaccia utente e il server. Per quanto riguarda lo sviluppo del web basato sugli eventi, puoi provare EXTJS di Sencha. E 'un framework basato su javascript, standardizzato e uno dei più preferiti.

La migliore funzionalità, che secondo me è la migliore, è che può comunicare con il tuo server in vari formati come l'XML e JSON ampiamente utilizzati. Considerato questo, ti libera dalla preoccupazione per la tua compatibilità con l'implementazione del server. Puoi scrivere il tuo server in qualsiasi lingua e comunicare al cliente tramite XML o JSON.

Fornisce API per la maggior parte degli eventi sul Web e ti consente di implementare la tua. È basato su OOP, quindi la tua eredità funziona anche qui :). Ha il supporto per il pattern MVC, che sarà un po 'difficile da digerire all'inizio, in quanto è una percezione comune MVC - sul client - davvero? Ma abbi fede una volta che ce l'hai, è una corsa senza intoppi.

Quasi tutti gli eventi hanno ascoltatori (implementazione AJAX). L'aspetto dell'interfaccia utente è brillante e si ottiene la funzionalità di temi incorporati. Oltre a questo hai il supporto della comunità, materiale didattico dedicato e documentazione API, un numero enorme di esempi e persino il supporto per i dispositivi mobili.

Detto questo, ha varie licenze, ma ha anche una GPL3, ma con certi termini.

Per tua comodità sto postando il link sia al framework che ai termini di licenza

quadro: link

licenza: link

    
risposta data 28.12.2014 - 15:59
fonte

Leggi altre domande sui tag