Domanda

Ho appena provato a giocare con Vaadin quadro e mi sembra molto facile da usare. Inoltre quello che mi piace il suo quadro è che è costruito sulla cima di Google Web Toolkit (GWT) .

Cosa ne pensi, dovrei continuare a utilizzare questo quadro o è meglio attaccare con GWT?

È stato utile?

Soluzione

Ciao. Come un disclaimer, io lavoro per l'azienda in via di sviluppo Vaadin.

Vaadin utilizza GWT in un modo che ha un insieme di componenti precompilati in GWT. È possibile, naturalmente, inoltre rendere i propri componenti, se lo desidera. Tuttavia, l'insieme di componenti è abbastanza completo, e che spesso può essere personalizzato per il proprio bisogno. Questo significa che non c'è bisogno di ricompilare il codice da Java a JavaScript ogni volta che si cambia la vostra applicazione. Basta combinare i componenti già disponibili insieme.

Il quadro è assistente guidato, in modo da ogni logica viene gestito sul lato server. I componenti ha due parti, client e server di file. Il lato client è solo un manichino "vista" per il componente. Una volta che si interagisce con esso, invia un messaggio al server che questo o quel è stato premuto / scritto / etc. Il server decide allora cosa dovrebbe essere fatto. Questo è per una maggiore sicurezza, perché non si può "hackerare" la logica in quanto solo una piccola API significato per l'invio delle richieste è disponibile in javascript. Questo può essere in alcuni casi un po 'di trade-off con velocità dell'applicazione, ma io non penso che sia un così male. Peggiore dossi sono di solito db query di andata e ritorno e simili, che non ha nulla a che fare con la scelta del framework di interfaccia utente. Lentezza del demos come suggerito può essere perché sei lontano dal server o c'è un alto utente ha colpito in questo momento. Da provare in un ambiente proprio, chiudere l'applicazione finale della vostra applicazione, per vedere come si comporta. Ci sono alcune applicazioni pronte che si può solo distribuire di provarlo.

Credo che la scelta si riduce a ciò che si sta cercando di fare. Vaadin è un bene per le applicazioni web, come si può costruire una normale applicazione Java e fare l'interfaccia utente web dinamico per esso facilmente. Se il vostro qualcosa di fare di più di un sito web tradizionale, dove gli utenti solo responsabile della pagina - più che attivamente interagisce con esso, allora Vaadin non è il modo migliore per andare. Andare con alcuni altri framework gratuiti come guide o un framework PHP ecc Penso che si sta facendo più di una domanda, come si sta suggerendo che si sta utilizzando GWT, in modo Vaadin dovrebbe essere buona.

fare altre domande, qui, sul forum Vaadin o sul canale IRC #vaadin @freenode e forse qualcuno può dare ragione in più per perché o perché non usare Vaadin.

Altri suggerimenti

Dopo quasi 1,5 anni lo sviluppo di un non così enorme applicazione GWT, utilizzando tutte le migliori pratiche che ho imparato dall'ultima Google I / O come MVP, EventBus, command pattern, ecc lo dico dal profondo del mio cuore: dopo trascorrere giornate cercando di ottenere le cose funzionano il modo in cui la mia squadra e cliente ha voluto sia tecnicamente che visivamente, anche dopo il rilascio di UiBinder, Vaadin è venuto da me come una luce alla fine del tunnel.

Dopo aver scritto quasi un migliaio di azioni boilerplate per modello di comando, un altro migliaio di presentatori e punti di vista e un altro migliaio di gestori di eventi, ecc .. Non avere a che fare con quasi il 75% di queste classi e mantenendo un approccio buon modello (appfoundation add e), un piccolo sovraccarico della rete è accettabile. Con Vaadin, out-of-the-box, si ottengono buoni widget, paging, l'associazione dati, interfaccia grafica impeccabile. Tutto questo per cosa? Ancora un po 'il consumo di memoria del server-side.

Credo di poter dire che questo è accettabile perché io non sto costruendo il prossimo Facebook o qualcosa del genere. Ho ancora in grado di gestire migliaia di utenti simultanei per media server e pur mantenendo bassa latenza di andata e viaggi.

Con Vaadin, posso costruire una bella app con quasi la metà di righe di codice e ancora l'applicazione sembra più completa. : -)

!! UPDATE 23 Febbraio 2011: Non posso sottolineare come si deve essere consapevoli delle limitazioni di ogni quadro. Vaadin non è diverso. Uno dovrebbe essere consapevoli del fatto che Vaadin astrae ogni forma di HTML o JavaScript. Inoltre, il codice HTML risultante è molto pesante e si dovrebbe prendere cura di te stesso stato della storia cambia. Quindi, essere a conoscenza di tali spese quando si genera il progetto.

responsabilità :. Io sono affiliati a nessuna delle librerie menzionati qui di seguito, ma capita di conoscere il mio modo intorno a loro abbastanza bene

Come voi, mi sono imbattuto su questo post nell'ambito della riflessione che pila / quadro da utilizzare per un nuovo progetto. Ho avuto qualche solida esperienza con Play! (Ok, a Scala, ma non è rilevante qui), ma i widget interessanti e la loro integrazione con il lato server + Swing come lo sviluppo ha fatto stimolare il mio interesse. E 'stato alla fine del 2010, e come le risposte mi ha convinto a dare Vaadin una prova, ho deciso di tornare indietro e scrivere la risposta che mi sarebbe piaciuto leggere qui, esp. come la questione è ancora attuale oggi. Nel frattempo, è andato Vaadin dalla versione 6 a 7 con alcuni notevoli miglioramenti che sono stati necessari, Play! andato dalla versione 1 a 2 e I (+ un piccolo team) ha completato un numero ridotto di progetti di successo con entrambi i quadri.

Penso che il confronto è interessante perché entrambi i quadri

  1. eseguito sulla JVM e può sfruttare la sua abbondante ecosistema
  2. non potrebbe essere più in disaccordo nel loro approccio alle applicazioni web e quello che, come sviluppatore dovrebbe preoccuparsi, e
  3. , in misura minore, il loro rapporto con Java EE.

Praise

In una sola frase, se si trova l'idea di porting di un'applicazione desktop per un browser mentre è completamente astratto dal meccanismo sottostante richiesta HTTP / risposta convincente, allora Vaadin è probabilmente il vostro candidato per fare applicazione web. Il suo swing come approccio alla programmazione può essere un gioco da ragazzi per coloro che sono più felice lontano dalla bassa planarità di HTML e JavaScript. Una nuova richiesta per la vostra applicazione è infatti iniziando una nuova istanza e il resto del flusso è a voi e la vostra logica. Link ritornano ai buoni vecchi pulsanti per la navigazione e siete liberi di comporre i layout utilizzando i numerosi modelli incorporati, senza mai essere tenuta a modificare il codice HTML o CSS. L'API è generalmente abbastanza consistente e certamente ben documentato ( Libro di Vaadin è una lettura obbligatoria. Fatelo a fondo come sono facilmente disponibili molte cose, ad es. legame vostri fagioli ai componenti e validatori, ...). I widget hanno una buona compatibilità complessiva cross-browser, garantendo così un comportamento coerente della vostra applicazione in una vasta gamma di clienti.

Controllo di realtà

Abbiamo avuto un bel tempo a sviluppare e testare le nostre applicazioni Vaadin. Le cose divennero più chiare e più sfumata quando abbiamo rilasciato la prima versione e ha iniziato la raccolta di feedback. Ci siamo resi conto che che era stato effettivamente sbilanciata in abbastanza alcuni modi fondamentali , vale a dire:

  1. Nella 201x, la maggior parte degli utenti hanno avuto una lunga storia di utilizzo del web, e pochi di loro in realtà quasi uso desktop applicazioni più. Il punto chiave qui è che Browser standardizzato l'interazione UX con i collegamenti ipertestuali, una schiena, un attaccante e un pulsante di ricarica, le schede onnipresenti e, talvolta, le finestre, e l'idea di base che la maggior parte delle azioni innescano una richiesta HTTP e attenderà una risposta . Questo è il contratto implicito che i siti web rispettino da e intorno a cui sono costruiti. Pertanto, non avrebbe dovuto essere sorpreso quando gli utenti si sono lamentati di non poter utilizzare i pulsanti Avanti e Indietro / come sono stati utilizzati, o che le schede non ha funzionato il modo previsto. E siamo d'accordo. Abbiamo rotto il contratto invisibile agli utenti e browser vincolante. In realtà, ci siamo stati in implicitamente non utilizzando il nostro browser con la Vaadin app il modo in cui l'abbiamo utilizzato con qualsiasi altro sito web. Naturalmente, si può tornare al suddetto libro e leggere con attenzione su replicare un'esperienza di navigazione web con frammenti di URL e vedrete che in realtà è più coinvolto di quanto anticipato perché le applicazioni sono Vaadin stateful . Inoltre, i paradigmi MVC o MVP sono solo vagamente imposti lo sviluppatore, a differenza di giocare! wqui non c'è praticamente nessun altra opzione. Non prendete alla leggera, ma il cervello è usato per lo schermo bianco brillante mostrato per una frazione di secondo a seguito di un cambio pagina. Quando gli utenti fanno clic e si aspettano di essere preso una nuova pagina, il browser riconosce mostrando la clessidra (o loro varianti). Con AJAX, le richieste sono posizionati dietro le quinte. Ci sono luoghi in cui oggi i piccoli, gli scioperi AJAX quasi chirurgiche sono diventati la norma, ma non per i principali aggiornamenti UI ancora.

  2. applicazioni stateful portare la loro quota di sfide ... e senza problemi. Il bilanciamento del carico (se siete interessati) per uno è più complicato. Il concetto di operazione è del tutto diverso, come le sessioni di Vaadin abbracciano molte richieste e sono quindi a lungo in contrasto con riposo a base avvicinato, ma relativamente di breve durata, in termini di UX. Infatti, non è raro per gli utenti di tornare ad una forma hanno iniziato a ore fa per terminare il loro compito. Questo potrebbe, in teoria, il lavoro con Vaadin troppo, ma che avrebbe dovuto tenere in vita le sessioni per un lungo, lungo tempo con la memoria bloccata per tutto il tempo e riflettere attentamente su questo sarebbe bene scala w.r.t. utenti simultanei.

    pagine stateful sono anche più difficile per gli utenti di condividere, per non parlare di segnalibro (che sta assumendo che avete affrontato con frammenti di URL).

  3. Infine, condividiamo l'impressione che l'interfaccia utente è generalmente più lenta con la logica di essere sul server. Naturalmente si può sempre creare un widget carico di JavaScript lato client di rintuzzare il numero di viaggi di andata, ma sarà inevitabilmente necessario apportare alcuni aggiornamenti dell'interfaccia utente sul server. Il JS è già abbastanza pesante da interpretare nella mia esperienza e rende l'esperienza meno su dispositivi mobili (Sono consapevole di TouchKit, ma ancora: le app HTML5 su dispositivi mobili proprio non tagliato per me). Inoltre, tenete a mente che il thread dell'interfaccia utente è attivo dopo che una richiesta è pubblicato (es. Azione dell'utente sul lato client, in modo simile a tirare gli aggiornamenti dell'interfaccia utente) e sarà accessibile a voi attraverso diversi ascoltatori. Tuttavia, l'aggiornamento dell'interfaccia utente dal thread in background è più complicata (ad es. Gli aggiornamenti che spingono). Vaadin 7 migliorato la situazione sotto questo aspetto, però, soprattutto con relativamente ha generato più leggero HTML. miglioramenti significativi UI reattività erano evidenti semplicemente ruotando la compressione HTTP.

Conclusione

Così abbiamo messo in pausa e chiesti cosa abbiamo trovato così attraente nell'approccio Vaadin per cominciare. Lo sviluppo iniziale era stata una corsa relativamente liscia ottenendo risultati rapidi ma rielaborando alcuni concetti per accogliere le aspettative UX web ci ha dato una forte impressione di nuotare contro corrente. Abbiamo concluso che l'idea seducente di essere estratta (oscurato?) Dal meccanismo di richiesta / risposta HTTP rivelò un'arma a doppio taglio che ha presentato il vero disadattamento di impedenza tra applicazioni web e applicazioni desktop.

Invece di far finta che il web è ancora un altro strato, abbiamo sentito con forza che uno dovrebbe abbracciare il modo in cui funziona e questo inizia con avere un'applicazione URL-centric (come imposto dalla Rails / Django / Giocare). Probabilmente avete sentito qualcuno dire che i dati sopravvive applicazione. Al giorno d'oggi i dati viene definito dalle risorse URL quindi si può tranquillamente dire che gli URL sopravvivono dati. Dopo tutto, essi sono ciò che la gente segnalibro, non è vero? Quindi, la separazione di base di preoccupazioni si dovrebbe applicare anche a questo livello. Questo è probabilmente il motivo per il web è diventato così popolare in primo luogo. Quindi abbiamo rivisitato la nostra applicazione di strutturare più intorno ad un controllore centrale risponde alle azioni di à la Gioca fatta su sentieri di risorse distinte.

Per il momento stiamo mantenendo le nostre applicazioni Vaadin ma a causa di alcuni di questi vincoli e il cambiamento fondamentale di paradigma non saremo partire nuovi progetti con esso. Tuttavia cappello davanti alla squadra che ha costruito un Java quadro tecnico coerente, coesa e ben documentato a 360 ° Web che richiede scarsa conoscenza del funzionamento interno web. SopraAl rialzo hanno persino eseguire il loro quadro con una società che vende servizi di consulenza. Sono grato per l'esperienza e per quanto mi ha fatto rivalutare le mie opinioni sulle applicazioni web. Verrà monitorato da vicino la sua evoluzione ma abbiamo sicuramente bisogno di più controllo e granularità.

Speriamo che un giorno Vaadin si libererà da tutta l'architettura Servlet su cui si basa di avere un proprio server HTTP. Meglio ancora sarebbe un design MVC più profondamente radicato nel quadro. Ma questo è un po 'improbabile che in un futuro prevedibile come sembra aver trovato una nicchia redditizia tra esperti gorilla Java aziendali che giurano solo da EE. Shine on.

TL; DR : Penso che Vaadin manca il punto di ciò che webapps sono e, soprattutto, come dovrebbero comportarsi. Si tratta di programmatori di tempo abbracciato il web e come gli utenti interagiscono con esso (es. Tasto indietro, ricaricare pulsante, schede e segnalibri). Quanto più un web app bastoni alle richieste HTTP e semantica (verbi), la più probabile è quello di abbinare le aspettative degli utenti. E questo è fondamentale.


Modifica :. Se avete qualche esperienza di Python, mi raccomando di provare Flask troppo per ottenere un sapore di url-centric, basato su REST programmazione di applicazioni web

Modifica 2 : Se per qualsiasi motivo si sente è necessario utilizzare un framework Vaadin-come full-stack, poi dare Meteor una prova. È un framework basato su JavaScript (sia fronde e posteriore) che gira su Node.js con comunicazione asincrona che avviene attraverso WebSocket (quindi latenza minore di richiesta / risposta) ed è reattivo per default. Un certo numero di cose che non mi piace in Vaadin sono stati affrontati in Meteor. Per esempio, la logica per l'interfaccia utente aggiorna eseguito sul client che lo rende molto più reattivo rispetto a Vaadin. La gente nelle comunità JavaScript e Java non si intersecano molto, ma quando ho sentito parlare di esso, il parallelo con Vaadin mi hanno colpito immediatamente. E 'attualmente gode un po' di slancio nella comunità per ragioni simili a quelle che ha fatto Vaadin popolare, vale a dire. la capacità di rendere le applicazioni web di tipo desktop. Non fare un tentativo, se anche si è venuto a rendersi conto che Java non appartiene tanto nel quadro delle future applicazioni web o se siete stanchi di quei lunghi cicli distribuire quando colpisce l'aggiornamento è tutto ciò che dovrebbe prendere. Ma pensateci due volte prima di legare un intero app per una sola libreria.

Il discorso di consueto su Vaadin riguarda i widget e le preoccupazioni per la comunicazione di andata e ritorno tra client e server.

Ma a mio parere questo si affaccia sul più significativo aspetto (forse rivoluzionaria) di Vaadin: elimina completamente il compito di progettare e realizzare la comunicazione client-server che di solito è necessario per le applicazioni AJAX (la "A" e "X" in AJAX).

Con Vaadin, si può dimenticare completamente (oggetto di trasferimento dati) di DTO, problemi di sicurezza basati sul protocollo, Hibernate eccezioni lazy loading, ecc.

Sei in un certo senso solo la scrittura di una normale applicazione swing desktop di vecchia Java, solo che si sta utilizzando un diverso toolkit UI da Swing.

Dalla mia esperienza GWT richiede di codice standard molto più lento e interfaccia utente quando edificio complecated e ricco. Di solito abbiamo a che fare con i modelli applicativi piuttosto complessi che detiene molti oggetti di dominio persistibili. Per portare tutti questi dati per cliente è necessario introdurre il modello client separato e fornire meccanismo di conversione dei dati. Abbiamo utilizzato apripista per questo scopo e ci vuole molto tempo per mappare ogni archiviato, creare convertitori personalizzati e testare tutta questa roba.

D'altra parte, se non rientrano in overengineering e se l'applicazione non è molto complicato si può prendere un vantaggio di utilizzare risorse client e hanno meno carico sul server. In questo modo si può drammaticamente ridurre al minimo la comunicazione con il server e ottenere il software molto più reattivo.

Vadin sembra molto sviluppatore frinedly :) Ma ho un po 'paura di "attacco AJAX massiccia" al server. Ho esperienza in ZK e spesso abbiamo dovuto affrontare i problemi di prestazioni quando un'operazione banale sulla UI funziona lento perché richiede la comunicazione con il server.

Wicket è un altro buon quadro, ma è più adatto per i siti web. Può funzionare con e senza AJAX, possono essere indicizzati dai motori di ricerca. E la cosa più interessante si tratta di codice HTML pulito -. Non ci sono tag personalizzati, senza strutture di controllo, la rigorosa separazione degli interessi e solo namigs wicketid specifici per componenti

E 'dipende in gran parte dalle vostre esigenze:

  1. Se avete bisogno di un'applicazione super veloce e semplice - utilizzare GWT e utilizzare le risorse del client
  2. Se l'applicazione è abbastanza complessa di Vaadin sembra essere l'opzione migliore
  3. Se l'applicazione è pubblico ed è necessario la capacità di indicizzarlo per SEO che ha scelto Wicket.

Il fatto è che, per lo sviluppo serio, non si può dimenticare di nulla, lasciare che DTOs da solo .. Io sono affossa cucitura, e lato server concetto ui solo perché vorrei che un controllo più preciso su ciò che sta accadendo sul filo .. Vaadin di problema per me è proprio questo, avendo lo stato sul lato server ..

Ci sono stati "preoccupazioni" circa Wicket utilizzando sessioni di gestire gli stati componenti e scalabilità simili agli argomenti circa Vaadin e l'elaborazione lato server. Ho imparato nel corso degli ultimi 10 anni che la comunità Java è di solito sbagliato su come misurare i potenziali (tra le altre cose) di un framework web. Da JSF a Grails, di solito ci vogliono un paio di centinaia GB di memoria e almeno una dozzina di file jar open source con funzionalità di sovrapposizione e inefficiente per ottenere un'applicazione di produzione in esecuzione. Guardatevi intorno e vedrete aziende più web hosting non offrono una pratica opzione java a causa del percorso erratico tecnologie Java hanno preso per il framework web. GWT 2.1 è ancora un dolore da usare a causa della velocità di compilazione ed è solo ottenere serio con MVP e dati tabelle che avrebbe dovuto essere lì fin dall'inizio. Mi piace Wicket ma Vaadin sembra essere molto promettente ... ma sapendo come framework Java andare, sono sicuro che essi si zappa sui piedi a un certo punto, ma dubito che sarà causa di lavorazione pesante lato server.

Per la costruzione good looking interfaccia utente, direi che questo sarebbe la strada da percorrere. In più è molto ben documentato.

ho usato per un paio di settimane e I davvero , come finora. Codice è solido, Documenti un buon re, costruzione molto logico, i risultati finali sono eccellenti.

me ne sono innamorato in combinazione con Hibernate per risolvere tutto il tedio di database.

Plus - facile da implementare  (Con Tomcat è possibile solo caricare un file singolo .WAR tramite l'interfaccia web, non potrebbe essere più facile)

E 'anche la pena di considerare Apache Wicket come valida alternativa per i componenti orientate framework Java Web UI. Vaadin suona alla grande e io non voglio sminuire questa discussione, ma la scelta è una buona cosa. Ci sono alcuni esempi con origine collegata al largo della home page, e ancora di più nel sito WicketStuff, e l'ottimo libro da Manning forma ottima documentazione di terze parti.

dare un'occhiata alla demo Vaadin costruire con Maven: http://asolntsev.blogspot.com/2009/11/vaadin-demo.html

Ho pensato Wicket fosse la via da seguire, fino a quando ho provato a farlo funzionare in modo efficiente e ha iniziato una depressione (scherzo). Poi, sono passato a GWT, che sembrava molto bello, ma c'è veramente molto codice caldaia piastra di scrivere e la documentazione non è un gran che ... -> La luce proveniva da Vaadin: semplici, operative, nessun bug finora ... !!!

Nella nostra azienda, che è prevalentemente una grande casa Java SW (tra le altre cose) c'è venuto su di noi la possibilità di creare un nuovo web based product.It era un insieme di prodotti e c'erano molte squadre in tre paesi in via di sviluppo questo. Quando è arrivato al nostro team ho avuto la scelta di utilizzare Vaadin per il bene di sfruttare il nostro sviluppo Java experience.I cercato di Google per aiutarmi nella mia decisione. Ho anche letto questo post; Tuttavia ho scelto di non utilizzare Vaadin se molte altre squadre hanno scelto Vadin. Qui di seguito sono le ragioni di una e-mail mando a quel tempo prima di cominciare sul prodotto (Per Vaadin o meno). Questo è dal mio punto di vista personale e la diffidenza di quadri in generale è sempre in me, in vari gradi. Quindi volevo solo dare un altro prendere su questo argomento per il lettore.

Bene siamo andati su una baldoria di apprendimento imparare l'HTML, CSS, CSS selettori, una lingua meravigliosa JavaScript e librerie JS, jQuery e YUI e ha creato il prodotto web in tempo con piena interfaccia grafica e la conformità delle prestazioni; e io personalmente sono felice e la squadra è così come pure gli utenti.

Altre squadre che si sia tuffato Vaadin creati anche i loro prodotti nel tempo e credo che sono ugualmente felice. (Solo non conoscono la gioia di JavaScript sono mancanti :)).

Come qualcuno ha detto, tutte le astrazioni sono astrazioni che perde e quando hanno dovuto migrare da Vaadin 6 a Vaadin 7 hanno dovuto fare un po 'di ri-lavoro e ci sono voluti più tempo di quanto si pensasse; anche se naturalmente sono riusciti a macinare e finsh esso; Ancora c'era un po 'di ritardo a causa di this.Also Credo che ci fosse qualche problema con InvientCharts addon che non è stato sostenendo Vaadin 7 provocando le squadre di acquistare ($$) il relativo Vaadin Grafici addon e il cambiamento per questo ....

Per Vaadin o non

Con Vaadin sembra che il sottostante JavaScript, HTML e CSS sono generati dinamicamente da un'applicazione di tipo Java Swing. Da un punto purista parziale e probabilmente sciocco di vista, un tale slogan "Io generare il codice per te" non dà un buon odore di progettazione. A meno che non bisogno di un'astrazione perché legare in su con un altro quadro. Come con qualsiasi quadro del codice di generazione, dovrebbe funzionare meglio per il l'astrazione Vaadin aveva in mente, ma non molto flessibile; Sento che se facciamo tecnologia web è meglio fare gli strumenti e linguaggi di cui la tecnologia ha suscitato - biblioteche e cioè, HTML, CSS e JavaScript / JavaScript piuttosto che fare affidamento su un altro livello di astrazione - il quadro Vaadin. Questo può sentire ingenuo a un esperto GWT o Vaadin sviluppatore come mi immagino le compliers Google generano il JavaScript più ottimizzato rispetto vostri codificati a mano,, aiuta a gestire codice migliore tra più squadre, ecc (ma soprattutto quando lo sviluppo di applicazioni web piuttosto grandicelli), meglio sviluppatore la produttività, più facile il debug ecc Tuttavia la scrittura componenti in Java per Vaadin e quindi automaticamente la conversione in JS è che non sento proprio di che molti dei nostri sviluppatori non potrà mai imparare molto importante linguaggio di programmazione - JavaScript per lo sviluppo web (e guadagnando trazione veloce nel lato server - Node.js ). Quando basandosi sui quadri per ottenere il tuo JavaScript destra allora non sarà mai eccellere in quella lingua. Credo che per una società basata prodotto è importante imparare in prima persona il linguaggio del web invece. Come qualcuno ha commentato Java è diventato come il COBOL di dell'anno ieri ed è indispensabile per la competenza costruire per imparare altre lingue importanti come JavaScript. Tuttavia avendo lavorato in JS per il piccolo tempo che ho, ho notato che se codice con una certa disciplina (modello Module), il test ogni logica - Unità di JavaScript - JSTestDriver, ed eseguire JSHint, si tratta di un linguaggio piuttosto potente per lavorare con , e la produttività migliora di Java, una volta si è appreso.  Anche la maggior parte dell'importante esempio componenti - OpenLayers sono scritti in JS e se avete bisogno di estendere questi o work con in modo ottimale è necessario sapere JavaScript, o per quella materia librerie potenti come d3.js Così, in breve se c'è un sacco di vantaggio nell'utilizzo di Vaadin e quadri, a lungo andare magari usando JavaScript è importante?

sto usando Vaadin pure. Anche se l'applicazione non è grande, quello che mi è piaciuto molto l'esperienza era che l'API è stato coerente, generalmente ben documentato e dato che stavo sviluppando con un nuovo strumento, sono stato in grado di sfornare roba per un molto esigente cliente nella stessa, o in alcuni casi, tempi migliori rispetto gli strumenti che ho usato prima.

Molto pochi problemi. L'unico che in questo momento è il cliente insiste sull'utilizzo di IE 7 (non chiedere) e alcuni dei più elaborato piacere per gli occhi non funziona del tutto al 100% in un componente addon (grafici).

A proposito io non lavoro per Vaadin sia: -)

Ho provato Wicket e Vaadin entrambi e se davvero provare sia per qualche tempo, con in un mese saprete che Vaadin è la strada da percorrere e non Wicket, punto. - Dheeraj G

Abbiamo guardato Wicket dove lavoro, ma abbiamo trovato invece di 9.000 file, potremmo avere più di 30.000. Abbiamo quasi 1.000 schermi con la nostra applicazione principale dei servizi finanziari e, anche se sembra grande Wicket è estremamente difficile per convertire il nostro codice Struts 1.3 per Wicket. Il nostro architetto ha fatto un progetto POC, a soli 3 schermi aggiunto diverse centinaia di classi (molti sono per il riutilizzo). E 'anche difficile prototipo una schermata con Wicket dal tuo html deve corrispondere al codice Java e viceversa.

Vaadin sembra essere molto promettente, ma sarà una vendita dura per il team.

P.S. Non importa quanto grande è un quadro, nessuno imparerà che se non viene utilizzato nel settore. Wicket è stato intorno per un po 'ancora molto poche aziende lo utilizzano. La maggior parte degli sviluppatori con cui parlo con sono interessati con l'apprendimento di un nuovo quadro che è inutile su un curriculum.

La cosa fondamentale è Vaadin utilizza un design Swing-like e aiuta il fatto che ho iniziato in Java utilizzando Swing.

Ho usato Vaadin per sviluppare una giftadvisor presso l'azienda per cui lavoro (non Vaadin;).

Vaadin permette di costruire applicazioni web Swinglike reale in componenti.

Se siete preoccupati per andata e ritorno client-server per ogni clic che ho questo da dire: ho creato un pulsante di passaggio del mouse che cambia l'aspetto del pulsante sul sì, passaggio del mouse. Per questo il quadro deve andare al server e viceversa. E funziona abbastanza veloce imo. Vedere http://www.cadeau.nl/sophie per verificare che cosa voglio dire.

Mi piace Vaadin, è suite mie esigenze e webdevelopment rende un gioco da ragazzi.

Saluti, Rob.

Ho iniziato con Vaadin solo due giorni fa ed è stato in grado di costruire una piccola applicazione CRUD su OSGi completi di modularità, l'associazione di dati, servizi OSGi per la persistenza. Una cosa veramente bella è che la mia completa interfaccia utente si trova a soli 118 linee di codice e supporta le operazioni CRUD complete per una semplice struttura di Java Bean.

E 'anche bello che Vaadin funziona perfettamente in OSGi. E 'già un fascio e ho trovato un piccolo ponte da Neil Bartlet che rende Vaadin estremamente facile da usare in OSGi.

Tasklist Vaadin Esempio

Non mi occupo di utilizzare gli stati sul lato server. E 'servire al suo scopo. Con il cloud computing ora a un giorno di memorizzazione e larghezza di banda sono sempre a buon mercato. Ma sì posso vedere il tuo punto da una buona prospettiva di progettazione, soprattutto se si vuole RESTify vostra applicazione. Ma credo che ci sono più vantaggi che svantaggi per quanto riguarda Vaadin e simili. Un importante cosa, non dovete modificare molto sui tuoi web-apps per un browser specifico consente di chiamare IE, per la complessità Javascript / CSS - soprattutto se si sono orientati verso il back-end come me. Tutti i tuoi webapps diventa compatibile attraverso browser senza doversi preoccupare nulla. Ricordate il tempo sviluppatore è più costoso rispetto a quello di stoccaggio e larghezza di banda. È la mia opinione. =)

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top