Quale tecnologia Web Java per imparare a sviluppare Rich Internet Applications?

StackOverflow https://stackoverflow.com/questions/1401483

  •  05-07-2019
  •  | 
  •  

Domanda

Ho sviluppato applicazioni web usando JSF (componenti myfaces). Ma in questi giorni di UI reattiva, JSF non funziona bene. Sto ascoltando molto su AJAX, GWT, ecc. Quindi volevo la tua opinione su quale tecnologia / framework web dovrei imparare in ordine per sviluppare applicazioni web per prodotti aziendali. Alcune delle tecnologie web che sto ascoltando sono:

  1. ICE Faces (con supporto AJAX Bridge)
  2. GWT
  3. extJS e extGWT
  4. JavaFX
  5. Apache Wicket
  6. Jquery
  7. AJAX
  8. Apri laszlo

Quale delle precedenti o la combinazione delle precedenti mi aiuterebbe?

Alcuni dei parametri su cui è possibile valutare queste tecnologie web sono:

  
      
  1. Facilità di apprendimento
  2.   
  3. Manutenibilità del codice dell'applicazione Web
  4.   
  5. Supporto comunitario
  6.   
  7. Supporto IDE - Eclipse o NetBeans
  8.   
  9. Disponibilità del componente standard (come casella di testo, griglie di tabella, menu delle opzioni)
  10.   
  11. Licenza: costa per uso commerciale?
  12.   
  13. Esperienza utente - UI reattiva. Non dovrebbe essere pigro
  14.   

Un'analoga question su SO risponde parzialmente alla mia domanda. Vorrei ulteriori informazioni però.

EDIT: Risposte raccolte: Sulla base delle risposte: AJAX sarebbe la cosa migliore da iniziare per apprendere i fondamenti, quindi imparare JQUERY. Qualsiasi lavoro basato su frame che può integrare ajax, jquery?

Modifica 2: Se dovessi progettare un'applicazione web come StackOverFlow (nella piattaforma Java) quale sarebbe la scelta migliore per imparare e adottare?

  

Wicket + Jquery, WiQuery

     

GWT

     

Alcuni volti XYZ   tecnologia (RichFaces / ICEFaces) + AJAX.

Commenti apprezzati da qualcuno che ha lavorato con loro e può valutarli nei parametri sopra menzionati.

È stato utile?

Soluzione

AJAX è solo un termine (secondo la mia modesta opinione, insignificante).

jQuery è, a mio avviso, il il modo di fare Javascript. A meno che non ci sia un requisito insormontabile che ne proibisca l'uso, lo consiglio se hai mai bisogno di scrivere Javascript tu stesso (nota, se stai usando GWT, stai usando Javascript, ma non scrivendo , quindi non ho bisogno di jQuery).

  1. Facilità di apprendimento: devi cambiare la tua mentalità rispetto al tradizionale JS in stile procedurale [jQuery è ancora procedurale, ma ha un grande aspetto dichiarativo]. Se non hai mai scritto Javascript, potrebbe essere più semplice avvicinarti
  2. Mantenibilità del codice dell'applicazione Web: molto
  3. Supporto comunitario: parecchio
  4. Supporto IDE - Eclipse o NetBeans: non credo. Non mi manca; Odio scrivere abbastanza Javascript per farmi perdere un IDE.
  5. Disponibilità dei componenti standard (come caselle di testo, griglie di tabelle, menu di opzioni): l'interfaccia utente di jQuery ha un po 'e c'è molto materiale là fuori
  6. Licenza: costa per uso commerciale ?: No

Delle altre tecnologie che menzioni:

  1. GWT: credo che questo sia interessante se sei target di siti intranet o qualcosa di simile, scrivendo siti web molto simili a desktop (pensa Gmail, non un tipico sito di contenuti). Suppongo che tu debba fare uno sforzo abbastanza significativo per rendere i tuoi siti Web basati su GWT visitabili dai motori di ricerca e essere utilizzabili da browser non sofisticati (vale a dire che GWT sarebbe inutile per browser senza JS come alcuni telefoni cellulari)
  2. JavaFX. Credo che questo sia solo un trucco. Non aggiunge molto alle applet Java e non ha tanta inerzia come Java.
  3. Apache Wicket: questo è nella mia lista da indagare
  4. OpenLaszlo: sembra molto interessante se vuoi fare cose in Flash senza pagare le licenze.

Come mio suggerimento.

Ti suggerisco di imparare a sviluppare i tuoi siti web senza JS all'inizio. Quindi aggiungi JS (usando jQuery), google " miglioramento progressivo " ;.

Una volta che puoi farlo, puoi imparare a usare qualcosa come GWT e usarlo se è giustificato.

Altri suggerimenti

Consiglio vivamente Apache Wicket, vedo che hai commentato / modificato la domanda per dire che ti stai appoggiando ad Ajax / JQuery e stai chiedendo quadri di componenti che completano quelli.

IMO tra i framework basati su componenti, Wicket offre la migliore integrazione con librerie JavaScript di terze parti. Ho valutato personalmente i contendenti GWT, Tapestry e JSF - ma Wicket rende davvero facile:

  • aggiungi javascript a HTML > HEAD
  • inietta un codice callback ajax (o javascript personalizzato) in una pagina web
  • chiama un evento su un componente stateful sul lato server
  • esegue javascript arbitrario prima o / e dopo che una richiesta Ajax (XHR) è stata attivata

Puoi vedere questo post sul blog come integrare YUI con Wicket , gli stessi concetti possono essere facilmente estesi a JQuery.

Detto questo, il supporto Ajax integrato di Wicket in realtà ti rende possibile creare ricche UI senza scrivere una sola riga di codice javascript. Pensa a un aggiornamento dinamico di parti selettive di una pagina Web, finestre di dialogo popup, ecc.

Sono anche a conoscenza di un progetto per l'integrazione di Wicket-JQuery chiamato WiQuery , ma io non l'ho ancora provato.

Ho lavorato in GWT (con GWT-ext) per il mio ultimo progetto e mi è piaciuto molto. A parte questo, jQuery è sempre stata una manna dal cielo, e lo userò ogni volta che non ho un framework più robusto disponibile.

Se devi fare una buona quantità di Javascript / AJAX, vuoi sicuramente imparare e usare jQuery! Mi avrebbe risparmiato anni di dolore se fosse uscito nel 1999.

Tendo a concentrarmi sulla conoscenza di base, quindi, potresti voler capire bene il javascript, incluso il javascript orientato agli oggetti.

Una volta che conosci bene JavaScript, le librerie sono facili da imparare.

Potresti voler capire a fondo alcune delle funzionalità di HTML5 che possono essere utili, come il tag.

Potresti anche voler imparare Actionscript 3, poiché ti aiuterà a capire come funziona flash, poiché saprai quale codice sta generando l'ide flash. Ho usato uno script di formica per compilare il mio codice ActionScript usando Eclipse.

Silverlight sta guadagnando popolarità, ma ciò richiede VisualStudio Express, ma è un forte concorrente con Flash.

Per il resto, un riferimento di passaggio può essere utile, poiché l'elenco non è esaustivo, ma assicurati di comprendere bene le lingue di base per questi e i framework che puoi raccogliere rapidamente.

Se vuoi avere qualche tipo di esperienza client / server attraverso un browser web, ti suggerisco di dare un'occhiata a GWT insieme al plug-in Eclipse di Google. Questo tipo di tecnologia ti consente di scrivere le webapp più reattive che puoi ottenere (dal mio punto di vista).

Altrimenti, se vuoi sviluppare webapps un po 'più tradizionali e aggiungere semplicemente funzionalità Ajax, dai un'occhiata a DWR (Web Remoting diretto). Questo tipo di tecnologia consente di collegare oggetti Java lato server al lato client per poter utilizzare la loro funzionalità tramite JavaScript. Ti aiuterà a scrivere la tua funzionalità Ajax e possibilmente anche a riutilizzare la logica esistente.

Naturalmente, jQuery è sempre una buona alternativa.

Seam, Spring, Richfaces, Ajax4jsf

Sono sulla tua stessa strada, cercando di scoprire quale sarà il mio server + strumento di sviluppo lato client impostato per un enorme sito Internet. Per quanto ho visto e letto, come sempre, dipende dal tipo di applicazione web di cui hai bisogno.

Ci sono persone che usano diversi framework javascript, basati su facile da usare, dichiarativo, orientato agli oggetti e simili.

Ci sono diverse cose da considerare: 1) Tecnologia lato client   1a) "Core" tecnologia lato client: framework   1b) Miglioramenti della tecnologia lato client dell'interfaccia utente 2) Tecnologia lato server

Per " core " framework javascript, puoi trovare JQuery, MooTools (licenza MIT), ExtJS Core (licenza MIT) (non ExtJS: si tratta di gadget ExtJS Core + UI, e successivamente necessita di licenza commerciale), interfaccia utente di Yahoo, ecc. Puoi confrontarli in siti come questo: http://www.domassistant.com/slickspeed/

Questo test "in qualche modo" confronta i diversi aspetti di ciascuno di questi "core" framework javascript client.

Cosa ottieni da quei framework? La maggior parte di essi ti consente di essere "quotato su più browser" compatibile, e ognuno ha diversi e diversi modi e sintassi.

Solo una questione di test e di ricerca di quello che ti piace di più.

Quindi, con questo, hai solo un modo per codificare " everybrowser " ;.

Ora, se hai bisogno di " Widget / Controlli / UI gadget " ;, quindi, ogni " core " framework ha una propria estensione relativa all'interfaccia utente.

Anche alcuni di loro possono interagire tra loro. Ho letto delle implementazioni di ExtJS (non core, quella fornita con diversi buoni elementi dell'interfaccia utente) in grado di connettersi a jQuery.

Quindi, per il lato client devi scegliere il tuo " core " framework, e se hai bisogno dell'interfaccia utente, allora, alcune UI associate ad esse.

Esistono diversi IDE compatibili con questo framework, uno può essere Aptana, Eclipse, Netbeans (l'ultima versione si integra molto bene con javascript) o in Microsoft Expression, Visual Studio Express o " Pro ".

È anche un dato di fatto che jQuery è stato incluso "così com'è" e supportato da Microsoft e Nokia. Quindi, jQuery otterrà più attenzione ora, più supporto e più "pubblico", prevedo che otterrà molta attenzione e miglioramenti. Non hanno acquistato jQuery, hanno aderito ad esso come Open Source incluso nelle soluzioni VS d'ora in poi. E sarà molto accoppiato con ASP.NET MVC, componenti e simili.

Comunque, come ho già detto, jQuery non è l'unico e non è necessariamente il migliore.

Per quanto riguarda il lato server, dipende dalle tue conoscenze: java, ASP.NET, qualunque cosa tu ti senta a tuo agio.

Spero che questo ti sia utile.

La mia selezione è GWT perché il programma GWT scrive nel linguaggio di programmazione Java e questo linguaggio di programmazione è molto potente e di facile comprensione.

Anche jQuery ed ext-js sono buoni, ma ho avuto qualche problema con il linguaggio di programmazione JavaScript. questo linguaggio di programmazione è molto soggetto a errori.

La codifica Apache Wicket ama GWT ma è una tecnologia lato server ed è una tecnologia pesante.

Perché il programma JavaFX richiede il plugin non è la mia selezione.

Il mio consiglio per te è jQuery o ext-js se non hai problemi con JavaScript.

Probabilmente dovrai imparare una combinazione di strumenti, ma probabilmente dovresti iniziare con AJAX, quindi passare ad alcune librerie JS (JQuery, prototype-scriptaculous, MooTools, ecc.)

Anche questi complimenteranno piacevolmente un framework JSF.

Puoi anche considerare la piattaforma Ajax ricca di Eclipse quando valuti le piattaforme RIA basate su Java.

Ti suggerirei di dare un'occhiata a Vexi , che offre applicazioni simili al desktop che sono più flessibili di un'applet + Swing / AWT.

(Dichiarazione di non responsabilità: sono uno sviluppatore di Vexi)

Le applicazioni sono simili a desktop - ricche e reattive - e sono interfacce utente che sono "proiettate" su internet. Tutta la logica dell'applicazione risiede sul server che crei nella lingua che preferisci ed esponi tramite un'interfaccia XmlRpc.

Il vantaggio principale di Vexi è che il layout è davvero semplice, in quanto è un modello box. È anche più facile da capire dell'HTML.

<box>
    <box orient="vertical">        .-------------------.
        <box fill="red" />         |   red   |         |
        <box fill="blue" />        |---------|  green  |
    </box>                         |   blue  |         |
    <box fill="green" />           '-------------------'
</box>

Lo scripting viene eseguito con JavaScript e esiste un set di widget estensibile. Anche l'uso dei widget è facile.

<button id="button1" text="My button" />
<textarea id="text1" shadowtext="Type in here!" />
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top