2011-07-03 17 views
6

Attualmente sto lavorando a un progetto RIA in flex, ma recentemente mi sono imbattuto in openlaszlo. Sembra che molti grandi progetti l'abbiano scelto rispetto al flex, come il servizio di musica in streaming Pandora. Sono interessato al perché. Finora il più grande vantaggio che ho visto è che ha uno strato di astrazione per il supporto di flash 6,7, 8, 9 e dhtml ed è stato in sviluppo per un tempo più lungo (quindi probabilmente più stabile).Adobe Flex vs openlaszlo

Qualcuno ha avuto molta esperienza nell'usare entrambi, o anche solo openlaszlo? il supporto per il dhtml e le vecchie versioni flash sono davvero così grandi di un vantaggio con la popolarità di flash 9 in questi giorni? Potrebbe essere solo perché molti sviluppatori si sentono già a proprio agio con javascript/ajax? Oltre alle preferenze linguistiche, perché openlaszlo e non flex?

Grazie per eventuali suggerimenti! Ryan

+0

Al momento ci sono 20 domande taggate "openlaszlo" e 12695 taggato "flex" su StackOverflow ... –

+0

qualcosa fatto da volontari, e qualcosa fatto da una società, con chiari teneri e tabella di marcia ... beh, una scelta difficile : D. Scommetto sullo sviluppo della corporation - Flex. –

+0

Buoni punti, commerciale vs comunità, anche se ho visto molti grandi progetti comunitari. Mi piace l'ambiente ide/visual di sviluppo flex/flash builder. Se openlaslo non ha questo, penso che ci siano molte altre piattaforme/framework per browser che sono anche molto buone, usate da grandi siti e che non hanno builder di gui. –

risposta

5

Quando aziende come Pandora hanno scelto OpenLaszlo, Flex era ancora un prodotto commerciale (anche il compilatore). Le versioni Flex 1.0 e 1.5 non erano molto stabili e solo con la versione 2.0 di Flex la piattaforma è diventata molto più stabile. Macromedia ha sconvolto molti sviluppatori, poiché Flex 2.0 non era compatibile con 1.5 e tutte le applicazioni dovevano essere riscritte per la nuova versione. In quella situazione diverse aziende hanno pensato che OpenLaszlo non fosse una cattiva scelta.

La caratteristica più potente di OpenLaszlo è il linguaggio LZX. Il linguaggio supporta classi, animazioni di qualsiasi proprietà numerica, vincoli utilizzando una sintassi attributo = "$ {}", supporto mixin, set di dati con datapath (basato sulla sintassi xPath). Alcuni degli sviluppatori chiave della LZX langauge avevano già lavorato sul linguaggio Dylan di Apple, e molti dei potenti concetti di Dylan sono entrati nel linguaggio LZX.

Ho eseguito lo sviluppo sia OpenLaszlo che Flex. Flex ha un eccellente supporto per gli strumenti da parte di vari venditori IDE.Ma il linguaggio ActionScript 3 può essere molto limitante, poiché in Java passi molto tempo a pensare al tuo modello di classe. OpenLaszlo enfatizza lo sviluppo basato sull'istanza (molto veloce per la prototipazione, mentre è ancora possibile creare applicazioni molto complesse con linee 100k + di codice LZX). Le maggiori applicazioni OpenLaszlo di cui sono a conoscenza sono Laszlo Webtop (120K + linee di codice LZX) e IBM Websphere Commerce Edition (http://ibm.co/Kid5tc). Ho sentito che altre società hanno creato applicazioni ugualmente grandi usando OpenLaszlo.

Dalla versione 4.2 OpenLaszlo integra il Flex SDK. Il compilatore OpenLaszlo genera il codice LZX in JavaScript 2 e quindi nel codice ActionScript 3. Se si compila un'applicazione sia per DHTML che per SWF10 +, è possibile trarre profitto dalla migliore verifica del tipo del compilatore Flex, anche se l'applicazione verrà distribuita solo per il runtime DHTML/HTML5.

OpenLaszlo è molto stabile. L'ultima major release (4.0) è stata pubblicata nel marzo 2007, sebbene il team OpenLaszlo considerasse la versione 4.2 uguale a un aggiornamento della versione principale, poiché ha aggiunto il supporto di ActionScript 3 e SWF9 alla piattaforma. 4.2 è stato rilasciato nel dicembre 2008, l'attuale versione stabile è la versione 4.9 - sebbene molti membri della comunità e Laszlo stiano già utilizzando OpenLaszlo 5.0 (trunk, inedito) nella produzione.

Dopo l'annuncio di Adobe di inviare Flex SDK a Apache Foundation (ora un progetto di incubatore di Apache Foundation), Adobe ha annunciato di aver lavorato a una funzionalità di compilazione incrociata per il compilatore Flex di prossima generazione denominato "FalconJS". Adobe ha anche affermato che FalconJS (che probabilmente verrà fornito ad Apache Flex nel quarto trimestre del 2012) non sarà in grado di compilare in cross-line le applicazioni Flex esistenti in JavaScript. Un semplice esempio di elenco di FalconJS (come dimostrato nel dicembre 2011) generato in 5 MB di codice JavaScript non compresso, che potrebbe essere ridotto a 2,5 MB utilizzando la modalità avanzata del compilatore di Google Closure. Un esempio OpenLaszlo simile nel runtime DHTML compila a meno di 750k di codice JavaScript.

+0

non avrebbe potuto chiedere una risposta migliore! – ryanggfx

3

Penso che il termine di "molti grandi progetti" sia molto relativo. Sì, alcune grandi aziende lo hanno usato, ma non considero nessuno di questi grandi progetti. Se li guardi tutti nella vetrina di OpenLaszlo, mi sembrano abbastanza semplici interfacce. Si noti inoltre che OpenLazslo compila Flash, non Flex e framework associato.

Per me OpenLaszlo è un'alternativa per la creazione di semplici RIA in modo che il codice finale possa essere compilato in Flash o Javascript. HaXe è un'altra alternativa a questo, e penso che faccia un lavoro migliore di OpenLaszlo.

Con ciò detto, c'è un problema con questi "generici" scrivere una volta, compilare il framework Flash/Javascript; non sfrutta nessuno dei poteri/vantaggi di ciascuna piattaforma specifica. Flash è in continua evoluzione e così anche Javascript con l'aggiunta di tag html5 e css3. Se hai esperienza in entrambi, noterai che sono molto diversi nel modo in cui fanno le cose e che l'algoritmo potrebbe funzionare bene con Flash, potrebbe non con Javascript.

Il punto è che, se si sceglie una tecnologia, scegliere quella più appropriata. Se il tuo progetto ha bisogno di avere sia Javascript che Flash, questa potrebbe essere una buona scelta, ma ricorda che perderai il "potere" di ciascuno. Ad esempio, Flex ha un'architettura skinning molto buona e una serie di strumenti essenziali per lo sviluppo aziendale. Javascript può fare cose abbastanza buone con selettori, css3 e altri framework come jQuery.

Nella mia esperienza, i compilatori di post come OpenLaszlo eliminano quei punti di forza. Inoltre, se c'è una novità che viene fuori (come dire, video accelerato via hardware/3d per javascript/flash), devi aspettare che le persone di OpenLazslo si aggiornino prima che tu possa usarlo (se lo usano).

+0

Intendevo solo grande come ampiamente usato, e per lo più si riferiva a Walmart, H & R block e Pandora. Ma sì, grazie mille. Questo è esattamente quello che stavo cercando. – ryanggfx

+0

Ampiamente usato? Nei miei 5 anni di esperienza professionale, devo ancora incontrare chiunque usi OpenLazslo (per cui ho lavorato). E non posso dire che lo considero anche un requisito per un lavoro. Lo stesso per HaXe. Per me, sembra più un esperimento che altro e non sarà usato per nessun progetto importante per gli stessi motivi che ho elencato sopra dato che alla fine colpirai un muro e ti sei sparato a un piede dal momento che non puoi fare Di Più. –

+0

dimentica di aver detto qualcosa su tutto ciò che è grande. Mi chiedevo solo perché i progetti pensati per essere più di 2-3k colpire siti web di un giorno (walmart, pandora, h & r block) avevano scelto openlaszlo invece di usare semplicemente flex/as3. Non sapevo se forse c'era qualcosa che stavo trascurando che avevano visto. Ad ogni modo, ero solo curioso e hai risposto a quelli grandi. È sempre bello sapere dei progetti alternativi. – ryanggfx

0

Ho iniziato a sviluppare RIA con OpenLaszlo in quanto offriva una sorta di framework cross-run run-anywhere. Anche l'esperienza utente fornita con esso è stata molto buona.

mi sono trasferito a Flex (quando era in beta), in quanto:

  1. Ogni capacità di OpenLaszlo era disponibile in Flex.
  2. Flex aveva un ulteriore vantaggio in quanto era un prodotto commerciale supportato da un'importante azienda di creazione di contenuti multimediali digitali Macromedia & successivamente acquisita da Adobe.
  3. Flash Builder (a.k.a Flex Builder) basato su Eclipse ha fornito un buon miglioramento della produttività di sviluppo. (quindi spendere una tassa di licenza su di esso non è affatto un problema)
  4. Soprattutto Flex ha una migliore capacità di integrazione/remoting lato server.
  5. Flex disponeva di numerosi codici di esempio per l'esercitazione &, quindi è stato molto semplice far crescere un nuovo sviluppatore.

Ora Flex è anche comunità guidata progetto open source sotto Apache Software Foundation OpenLaszlo fornisce ora una caratteristica in più su Flex (fino FalconJS cross compiler viene rilasciato) che può funzionare sia & ambiente di runtime Flash Ajax con un unico codice base.

Ma ancora Flex ha un ulteriore vantaggio di avere un ottimo ambiente di sviluppo (con integrazione con altri strumenti di progettazione Adobe) e una buona capacità di integrazione lato server, quindi per le applicazioni aziendali, Flex è un chiaro vincitore.

+0

FalconJS non supporterà la compilazione di applicazioni Flex in JavaScript/HTML5. Le app demo mostrate da Adobe alla fine del 2011 ammontavano a più megabyte di codice JavaScript per un elenco semplice, che sarebbe stato compresso a circa 1,5 MB utilizzando gzip. FalconJS sarà donato ad Apache entro la fine del 2012, e non è assolutamente un prodotto finito, e Adobe non crede che possa mai esserlo. –