2011-07-03 19 views
6

Obecnie pracuję nad projektem RIA w wersji flex, ale ostatnio spotkałem się z openlaszlo. Wygląda na to, że wiele dużych projektów wybrało go w wersji flex, takich jak usługa strumieniowego przesyłania muzyki Pandora. Jestem zainteresowany dlaczego. Do tej pory największą zaletą, jaką widziałem jest to, że ma warstwę abstrakcji do obsługi flashów 6,7, 8, 9 i dhtml i była rozwijana przez dłuższy czas (więc prawdopodobnie bardziej stabilna).Adobe Flex vs openlaszlo

Czy ktoś miał duże doświadczenie w korzystaniu z obu, czy po prostu openlaszlo? jest wsparcie dla dhtml i starszych wersji flash naprawdę tak dużej przewagi z popularnością flash 9 w tych dniach? Może to być po prostu dlatego, że wielu programistów już czuje się dobrze w javascript/ajax? Oprócz preferencji językowych, dlaczego openlaszlo i nie flex?

Dzięki za wszelkie wskazówki! Ryan

+0

Obecnie jest 20 pytań z etykietą "openlaszlo" i 12695 oznaczonych "flex" na StackOverflow ... –

+0

coś stworzonego przez wolontariuszy, a coś z korporacji, z wyraźnymi twardzielami i mapą drogową ... cóż, trudny wybór :RE. Założę się o rozwój korporacji - Flex. –

+0

Dobre punkty, reklama kontra społeczność, chociaż widziałem wiele wspaniałych projektów społecznościowych. Podoba mi się środowisko projektowe flex/flash build/visual. Jeśli openlaslo tego nie robi, myślę, że istnieje wiele innych platform/frameworków przeglądarki ria, które są również bardzo dobre, używane przez duże witryny i nie mają budowniczych GUI. –

Odpowiedz

5

Gdy firmy takie jak Pandora wybrały OpenLaszlo, Flex nadal był produktem komercyjnym (nawet kompilatorem). Wersje Flex 1.0 i 1.5 nie były zbyt stabilne, a tylko z wersją 2.0 platformy Flex stały się o wiele bardziej stabilne. Macromedia zdenerwowała wielu programistów, ponieważ Flex 2.0 nie był kompatybilny z wersją 1.5, a wszystkie aplikacje musiały zostać przepisane dla nowej wersji. W tej sytuacji sporo firm uznało, że OpenLaszlo nie jest złym wyborem.

Najpotężniejszą funkcją OpenLaszlo jest język LZX. Język obsługuje klasy, animacje dowolnej właściwości liczbowej, ograniczenia przy użyciu składni atrybut = "$ {}", obsługę mixin, zbiory danych z mapowaniem baz danych (mapowanie oparte na XPath). Niektórzy z głównych programistów LZX langauge pracowali wcześniej nad językiem Apple Dylan, a wiele z potężnych koncepcji Dylana znalazło się w języku LZX.

Zrobiłem zarówno program OpenLaszlo, jak i Flex. Flex ma doskonałe wsparcie narzędziowe przez różnych dostawców IDE.Ale język ActionScript 3 może być bardzo ograniczony, ponieważ w Javie spędzasz dużo czasu myśląc o swoim modelu klasowym. OpenLaszlo kładzie nacisk na rozwój oparty na instancjach (bardzo szybki do prototypowania, podczas gdy nadal możliwe jest budowanie bardzo złożonych aplikacji za pomocą 100k + linii kodu LZX). Największe znane aplikacje OpenLaszlo to Laszlo Webtop (120K + linie kodu LZX) oraz IBM Websphere Commerce Edition (http://ibm.co/Kid5tc). Słyszałem, że inne firmy stworzyły równie duże aplikacje przy użyciu OpenLashlo.

Od wersji 4.2 OpenLaszlo integruje Flex SDK. Kompilator OpenLaszlo generuje kod LZX do JavaScript 2, a następnie do kodu ActionScript 3. Jeśli skompilujesz aplikację zarówno do DHTML, jak i SWF10 +, możesz skorzystać z lepszego sprawdzania kompilatora Flex, nawet jeśli aplikacja zostanie wdrożona tylko dla środowiska wykonawczego DHTML/HTML5.

OpenLaszlo jest bardzo stabilny. Ostatnia ważna wersja (4.0) została wydana w marcu 2007 roku, chociaż zespół OpenLaszlo uznał wydanie 4.2 za równorzędne z aktualizacją wersji głównej, ponieważ dodała obsługę platformy ActionScript 3 i SWF9. 4.2 został wydany w grudniu 2008 roku, obecne stabilne wydanie to wersja 4.9 - chociaż wielu członków społeczności i Laszlo już używa OpenLaszlo 5.0 (trunk, niepublikowany) w produkcji.

Po ogłoszeniu przez firmę Adobe udostępnienia pakietu Flex SDK Fundacji Apache (obecnie projekt Inkubatora Fundacji Apache), firma Adobe ogłosiła, że ​​pracowała nad kompilacją krzyżową dla kompilatora Flex nowej generacji o nazwie "FalconJS". Adobe powiedziało także, że FalconJS (który prawdopodobnie zostanie wniesiony do Apache Flex w czwartym kwartale 2012 roku) nie będzie w stanie przekompilować istniejących aplikacji Flex do JavaScript. Prosty przykład na liście FalconJS (w wersji demonstracyjnej z grudnia 2011 r.) Wygenerowany w 5 MB nieskompresowanego kodu JavaScript, który można sprowadzić do 2,5 MB przy użyciu zaawansowanego trybu kompilatora Google Closure. Podobny przykład OpenLashlo w środowisku wykonawczym DHTML kompiluje się do mniej niż 750k kodu JavaScript.

+0

Nie mogłem prosić o lepszą odpowiedź! – ryanggfx

3

Wydaje mi się, że termin "wiele dużych projektów" to bardzo relatywny. Tak, niektóre duże firmy go używały, ale nie uważam żadnego z nich za duży projekt. Jeśli spojrzeć na nie wszystkie w prezentacji OpenLashlo, wydają mi się dość prostymi interfejsami. Zauważ też, że OpenLazslo kompiluje Flash, a nie Flex i związane z nim ramy.

Dla mnie OpenLaszlo jest alternatywą do tworzenia prostych aplikacji RIA w sposób, w jaki kod końcowy może być skompilowany do formatu Flash lub Javascript. HaXe to kolejna alternatywa dla tego i wydaje mi się, że działa lepiej niż OpenLaszlo.

Z tym, że istnieje jeden problem z tym "generycznym" napisem, kompilacja do frameworka Flash/Javascript; nie wykorzystuje żadnej mocy/zalet każdej konkretnej platformy. Flash ciągle się zmienia, podobnie jak JavaScript z dodatkiem tagów html5 i css3. Jeśli kiedykolwiek masz doświadczenie w obu, zauważysz, że są one bardzo różne w sposobie, w jaki robią różne rzeczy, a algorytm może dobrze działać z Flash, może nie z Javascriptem.

Moim zdaniem, jeśli chcesz wybrać technologię, wybierz tę, która jest bardziej odpowiednia. Jeśli Twój projekt wymaga zarówno JavaScript, jak i Flasha, może to być dobry wybór, ale pamiętaj, że utracisz "moc" każdego z nich. Na przykład Flex ma bardzo dobrą architekturę skórek i zestaw narzędzi niezbędnych do rozwoju przedsiębiorstwa. JavaScript może zrobić całkiem fajne rzeczy z selektorami, css3 i innymi frameworkami takimi jak jQuery.

Z mojego doświadczenia wynika, że ​​kompilatory post, takie jak OpenLaszlo, eliminują te mocne strony. Dodatkowo, jeśli pojawi się coś nowego, np. Powiedzmy, sprzętowo przyspieszone wideo/3d dla javascript/flash), musisz poczekać na aktualizację OpenLazslo, zanim będziesz mógł z niego skorzystać (jeśli go używają).

+0

Chciałem po prostu duże, jak w powszechnie używanym, a przede wszystkim odnosiło się do Walmart, H & R block i Pandora. Ale tak, dziękuję bardzo. Właśnie tego szukałem. – ryanggfx

+0

Powszechnie stosowane? W swoim pięcioletnim doświadczeniu zawodowym nie spotkałem jeszcze nikogo używającego OpenLazslo (nad którym pracowałem). I nie mogę powiedzieć, że postrzegam to jako wymóg pracy. To samo dotyczy HaXe. Wydaje mi się, że jest to bardziej eksperyment niż jakikolwiek inny i nie będzie używany do żadnego ważnego projektu z tych samych powodów, które wymieniłem powyżej, ponieważ w końcu uderzysz w ścianę i strzeliłeś sobie w nogę, ponieważ nie możesz tego zrobić jeszcze. –

+0

zapomniałem powiedziałem cokolwiek o czymkolwiek jest duży. Właśnie zastanawiałem się, dlaczego projekty miały być ponad 2-3 tys. Razy dziennie na stronach internetowych (walmart, pandora, h & r block) wybrały openlaszlo zamiast używać tylko flex/as3. Nie wiedziałem, czy może było coś, co przeoczyłem, co widzieli. Tak czy inaczej, byłem po prostu ciekawy, a ty odpowiedziałeś dużym. Zawsze miło jest wiedzieć o alternatywnych projektach. – ryanggfx

0

Zacząłem tworzyć aplikacje RIA przy pomocy OpenLaszlo, ponieważ oferowały one architekturę typu "działającą w różnych przeglądarkach". Dostarczone z nim doświadczenie było również bardzo dobre.

przeniosłem do Flex (kiedy to było w wersji beta), ponieważ:

  1. Każda zdolność OpenLaszlo był dostępny w Flex.
  2. Firma Flex miała dodatkową zaletę, ponieważ była to wspierany produkt komercyjny należący do wiodącej firmy zajmującej się tworzeniem treści multimedialnych - Macromedia &, którą później nabył Adobe.
  3. Flash Builder (a.k.a Flex Builder) zbudowany na platformie Eclipse zapewniał dobrą poprawę produktywności. (więc wydanie jednorazowej opłaty licencyjnej nie stanowi problemu)
  4. Przede wszystkim Flex miał lepszą zdolność integracji/zdalnego przetwarzania po stronie serwera.
  5. Flex miał wiele samouczków & przykładowych kodów, więc przyspieszenie nowego programisty było bardzo łatwe.

Teraz Flex jest również społeczność napędzane projekt open source pod Apache Software Foundation OpenLaszlo zapewnia teraz dodatkową funkcję nad Flex (aż krzyż FalconJS kompilator jest zwolniony), który może działać zarówno Flash & środowiska wykonawczego Ajax za pomocą jednego kodu baza .

Ale nadal Flex ma dodatkową zaletę, że ma bardzo dobre środowisko programistyczne (z integracją z innymi narzędziami projektowymi Adobe) i dobrą integrację po stronie serwera, więc w przypadku aplikacji dla przedsiębiorstw, Flex jest wyraźnym zwycięzcą.

+0

FalconJS nie będzie obsługiwał kompilacji aplikacji Flex do JavaScript/HTML5. Aplikacje demonstracyjne, które Adobe zaprezentowało pod koniec 2011 roku, zawierały wiele megabajtów kodu JavaScript dla prostej listy, która zostałaby skompresowana do około 1,5 MB przy użyciu gzip. FalconJS zostanie przekazane do Apache do końca 2012 roku, a to absolutnie nie jest gotowy produkt, a Adobe nie wierzy, że kiedykolwiek będzie. –

Powiązane problemy