Adobe Flex 2 i RoR

Zebrałem trochę informacji o integracji Adobe Flex 2 i RoR. Prawdą jest to że większość projektów powstaje dzięki zastosowaniu AJAX. Wg mnie może to się zmienić jak programiści lepiej poznają możliwości jakie tkwią w współpracy pomiędzy RoR i Flex 2.
Zaletą Adobe Flex 2 jest to szybciej i łatwiej można tworzyć panele administracyjne (które można uruchamiać w każdym środowisku wspierającym Flash Playera 9).

Czy są chętni do bliższego poznawania możliwości jakie niesie taka integracja?

Pozdrawiam
Michał Małaj

Osobiscie uwazam, ze w tej kwestii nic sie nie zmieni poki Adobe nie postanowi tego narzedzia otworzyc.
Do tego nie wierze w szerokie zastosowanie Flasha - wprowadza zbyt wiele ograniczen.
Bylbym szczesliwy gdyby w najblizszym czasie powstal interaktywny standard z prawdziwego zdarzenia, ktory zniesie ograniczenia Flasha - moze Mozilla Foundation cos poprobuje?:).

Predzej pieklo zamarznie niz Adobe flash’a otworzy :frowning: Jezeli komus zalezy na standardach :slight_smile: i na poteznym gui toolkicie to firefox ze swoim xulem jest dobrym wyjsciem :slight_smile: To jest ta sama ideologia, flex wywodzi sie z xul’a. A flash w przypadku flex’a jest imho nadal zbyt wolny.

mi wszystko jedno… jestem gorącym przeciwnikiem technologii Flash w rozwiązaniach webowych

ja rowniez nie przepadam za flashem, chociazby ze wzgledu na usability i dostepnosc takich rozwiazan…jednak obecnie coraz wiecej aplikacji webowych bedzie tworzonych w oparciu o RIA i nie wazne czy bedzie to flash biblioteki ajaxa czy flex… chyba nie pozostaje nam nic innego jak zwracac uwage na takowe rozwiazania… dzieki michal za zebranie tych informacji w jednym miejscu… ja juz wiem co bede robil dzis wieczorem…:slight_smile:

Pozdrawiam
Pawel Kaminski

co myslicie o Laszlo ?

zalozylem serwis: http://laszlo4u.pl
zapraszam do poczytania

Tez wykorzystuje Flash-a. Jak wydadza wersje DHTML (mozliwe ze jeszcze w tym roku) moze byc to ciekawe rozwiazanie - z tego samego kodu tworzysz wersje dla Flash-a i DHTML a klient wybiera ktora wersje woli.

@ab Proponuje zapoznać sie też z Haxe kompilatorem niskopoziomowym do programowania JavaScriptu i jak ActionScriptu zarówno jak do generowania wersji po stronie serwera (w postaci plików skompilowanych do bajtkodu Neko) i jak do generowania plików SWF nawet tych w wersji 9.
Swojego czasu pisałem o tym http://flex2.blogspot.com/2006/08/haxe-i-neko.html
Pewnie ten projekt dalej się intensywnie rozwija może kiedyś przekształci sie w konkurenta RoR jak napisza świetny framework do obsługi aplikacji webowych i deskopowych.

@zmywak Podoba mi się Twoja inicjatywa co do popularyzacji OpenLaszlo. Sugerowałbym skupić się na napisaniu jakiegoś A B C jak zainstalować OpenLaszlo.

@kidd Zauważyłem duzą poprawę w obsłudze dostępności w kompomentach flexowych w porównaniu do poprzednich wersji. Myslę że problem tkwi w tym że twórcy aplikacji flashowych nie zawsze o tym wiedzą.

@Pak Format SWF stał się już nieformalnie standardem. Specyfikacja budowy plików SWF są do ściagnięcia ze stron Adobe (poza wersją SWF 9). Podaj mi przykłady działających aplikacji RIA opartych na “gui toolkicie z XUL” Twój przykład moze mnie sie wydawac nieforturny, bo starsze wersje wtyczek nigdy nie działaja z nowszymi wersjami Firefoxa, natomiast w przypadku Flasha starsze wersje zawsze powinny działać w nowszych wersjach FlashPlayera.

@Adamh: Nie wiadomo mi o ograniczeniach Flex / SWF9 wobec aplikacji internetowych.
Interaktywny standard? Myśle, że Microsoft mógłby znowu próbować swoich sił w tym kierunku. W przyszłym roku chce wypuścić WPF/E nawet ma Linuksa.

Pozdrawiam
Michał Małaj
Blog o Flex 2

Jet tego troche:
Firefox
Thunderbird
Songbird
Sunbird(calendar?)
Powstaje tez projekt ktory jest prowadzony przez zalozycieli skype


Zanlazlo by sie jeszcze pewnie kilka innych rzeczy o ktorych nic nie wiem :wink:
Jezeli chodzi o problemy z kompatybilnoscia to to nie jest tak jak mowisz, to ze dane pluginy nie dzialaja nie wynika w 90 % przypadkow z winy firefox’a, wynika to z winy autorow danych wtyczek ktorzy zapisuja min i max version tak ze nie da sie tego odrazu uruchomic w nowych wersjach firefox’a, wiekszosc wtyczke dla 2.0 dzialala odrazu jeszcze na pare miesiecy przed wydaniem wystarczylo zmienic maxversion w plikach. No chyba ze firefox zmieni API systemu wtyczek to wtedy moga byc problemy, to samo tyczy sie skor.

Ja nie mowie ze jest latwo :slight_smile: ba :wink: kompontenty w firefoxsie to najbardziej zawila rzecz jaka mogl ktokolwike wymyslic w javascripcie. Niemniejednak wiele osob kompletnie niedocenia tego srodowiska, zapewniam cie ze gdybys napisal aplikacje w XUL’u oraz Javascripcie 1.5 w polaczeniu z php, pythonem czy rubym to dzialala by na kazdej wersji firefoxa, seamoneky, czy nawet thunderbirda :slight_smile:

Wymysla sie takie technologie jak flasz czy laszlo nie dla tego aby pokazac ze to mozna zrobic tylko dlatego ze jest to chyba oczywist trend w rozwoju aplikacji ktory microsoft za wszelka cene chce zachamowac. Wyzwolenie sie z dybow systemowych toolkitow graficzych scisle zwiazanych z jednym slusznym systemem operacyjnym.

Jezeli chodzi o rubego oraz xul to sam framework potrzebowal by jeszcze troche dodatkowych rzeczy, nie jestem pewien czy CRUD by sie tak do konca sprawdzilo tutaj, chociaz moge sie mylic :wink: nie zasastanawialem sie jeszcze nad tym.

Ogolnie to wydaje mi sie ze jezeli komus zalezy naprawde na mocnym interfejsie, ktory jest przenosny, dziala na kazdej platformie i w kazdych bitach (flash jeszcze troche potrzebuje czasu:) to xul bylby dobrym rozwiazaniem, jednak aktualnie nie istnieje framework ktory bylby w stanie ulatwic pisanie takiej aplikacji :wink:

@Pak Dziękuję za rzeczową odpowiedź. XUL -em kiedyś zajmowałem się jak go wprowadzono. Jako GUI toolkit niespecjalnie mi przypadł do gustu. Zaczynam się zastanwaiać czy z tym XUL jest jak z ewolucją interfejsu użytkownika w Javie. Kiedyś AWT, potem Swing (MIDP 1.0) póżniej SWT z Eclipse oraz (MIDP 2.0). Co moze być następnie w rozwoju interfejsu użytkownika w aplikacjach Javy? Podejrzewam że model takiej aplikacji będzie wyglądał tak: wbudowany serwer WWW w aplikację będzie uruchamiał interfejs użytkownika np: w wersji serwisu WWW wyświetlanego przez wewnętrzna przeglądarkę w aplikacji.

Do tej pory coś takiego funkcjonowało na zasadzie aplikacja była w modelu klient - serwer ( przy założeniu że klient aplikacji jest przegladarka WWW). Teraz do roli klienta aspiruja rózne technologie (szczególnie midlety i jak FlashPlayer)

Dlaczego? Bo przeglądarki WWW nie maja niskopoziomego API do rysowania i interaktywności (mógłby nim być SVG ale nie miał dobrego wsparcia dla nie-programistów, podobnie sytuacja znalazło się VML, który został “na nowo” odkryty przez Maps Google.)

DHTML jest jakby próba wyciągnięcia czegoś z HTML i jak CSS wysokopoziomowego API do rysowania i jak interaktywności. Problemem jest to, że DHTML właściwie nie jest zgodny w dół ani w górę, każdy GUI aplikacji trzeba “na nowo” pisać w przypadku pojawienia się nowych przeglądarek.

Odpowiedzią na to może być tylko format SWF. To że jest zamkniętym od strony rozszerzalności ma też swoje plusy. To nie pozwala na “przypadkową” dowolność jak to bywa w projektach opensourcowych. Daje też to firmie i ludziom duży zysk bo maja kontrolę nad tym formatem danych.

Sun odniósł sukces dzięki Virtualnej Maszynie do Javy. Myślę że licencjowanie kodu do obsługi J2ME pozwoliło otrzymować spore dochody ze strony producentów telefonów komórkowych. Adobe idzie śladami Suna… Flash Lite jest dobrą alernatywą wobec J2ME. Adobe może zarabiać na umowach że producenci komórek będa płacić licencje za Flash Lite Playera.

Uważam że opinia wyrażona korzyściach stosowania XUL jako podstawy dobrego GUI Tookita przez Paka za zbyt optymistyczną.

Proponuję test dla 3 technologii: J2ME, Flash i XUL

Obsługa XML tak tak tak
Obsługa layoutu 2D: tak tak tak
Posiada niskopoziomowy API do rysowania: tak, tak, nie wiem**
Format danych jest binarny (oparty na bajtach) tak, tak, nie
Można uruchamiać z poziomu przegladarki WWW: tak*, tak, tylko z silnikiem Gecko
Obsługa 3D: tak, nie, nie
Obsługa multimediów: tak, tak, nie
Języki programowania: Java, ActionScript, JavaScript,
Popularność: bardzo duża, duża, bardzo mała
Obsługa na urządzeniach mobilnych: tak****, tak, nie***.

  • MIDP.1,0 można uruchamiać jako aplety na stronach WWW
    ** chodzi mi czy jest coś takiego objectGUI.rotate(45) czy jest API do rysowania linii, prostych figur
    *** nie wiadomo mi żeby XUL chodził pod Symbianem czy Windows Mobile
    **** J2ME pod Windows Mobile chyba jest dostępne do kupienia (?)

Pozdrawiam
Michał Małaj
Blog o Flex 2

Małe uzupełnienie oraz pytania,

  1. Flash nie jest przenosny :wink: ale trwaja prace nad tym aby byl przenosny i mozna bylo pracowac na 64 bitach w windowsie oraz linuxsie. Nie rozumiem co to za ograniczenie jako silnik gecko… skoro to w zasadzie “przegladarka” ? Problem jest tylko natury ideologicznej… flash potrzebuje silnika renderujacego “flash” aby moc wyswietlac swf, kwestia tego czy producent wspiera dana architekture to samo tyczy sie javy. Czy moglbys korzystac z apliakcji sieciowej bez przegldarki na danej architekturze? Ogolnie chodzi mi o to ze XUL jest ogolnie dostepny, pod postacia silnika renderujacego gecko w kazdej przegladarce wykorzystujacej ten silnik i to wrecz stanowi atut w porownaniu z flashem ktory ma problemy jak narazie z byciem “wszedzie” oprocz windowsa i mac’a IMHO remis
  2. Format danych jest binarny (oparty na bajtach) a jakie to ma atuty ?
  3. Posiada niskopoziomowy API do rysowania, gecko posiada canvas sprawdza sie jako tako :wink: pozatym jest jeszcze svg.
  4. Obsługa na urządzeniach mobilnych: zainteresuj sie minimo a tak wogole to probowales uruchomic jakis flex albo laszlo na windows mobile albo symbianie ? Chodzi to wydajnie ? Bo imho nawet na mojim turionie 64 FLASH w przypadku flex’a oraz laszlo jest bardzo malo wydajny i MULI :frowning:
  5. Obsługa multimediów… ale my mówimy o aplikacjach webowych, niesadze abys mial zamiar napisac panel administracyny do sklepu z obsługą kamery, albo system outsurcingowy dla jakiejs powaznej firmy zarzadzajacej serwisem kilku wilekich hipermarketow. No chyba ze chcialbys wprowadzic np mozliwosc komunikacji glosowej, tylko warto sie teraz zastanwic czy jest sens brac cos takiego na swoje barki ? Skoro sa lepsze rozwiazania ktore juz dzialaja :wink: skype:// etc.
  6. Jeżeli chodzi o popularność to no cóż napewno nie jest tak wielka jak flasza 98 % komputerow PC ? :] jednak Xul’a nie bedziesz uzywal przeciez do tworzenia czesci uzytkowej sklepu internetowego bo to nie ma sensu Xul nie jest od tego… (flash imho zreszta tez, chociaz wyglada to ladnie chodzi mi tutaj o wydajniejsze tworzenie interfejsu administracji z ktorej bedzie korzystalo waskie grono osob “doswiadczonych” dla ktorych nie beda mialy znacznia wielkiego ideologiczne wzgledy czego_konkretnie_bede_uzywac_do_pracy. Tworzac to bo chcesz zeby bylo lepiej, wydajniej, szybciej, przyjemniej, a nie dlatego bo tak uwazasz ze jest dobrze

Acha i jeszcxze jedna wazna rzecz. Flex to rozwiazanie i klient i server + rails rozwaizanie po stronie servera prawda ?
Nie wiem czy jest to plus czy minus, wiem ze Flex ma wewnetrzna strukture chyab dosyc skomplikowana prawda ? :slight_smile: Pomimo tego ze te tutoriale flex+rails wygaldaja trywialnie to mam wrazenie ze zlozone aplikacjie mogly by juz wygladac troche bardziej skoplikowanie niz w przypadku przystosowanego rails do xul’a :slight_smile: Tak wogole to rails domyslnie mapuje pliki xml otrzymane metoda post na tablice wartosci ? czy jest to tylko ficzer flex’a ?

Jezeli uwazasz ze wydajniejszy bedzie panel z wytryskami we flashu wykorzystujacy flex, to ok ale jezeli chcialbys wykorzystywac to tylko z uwagi na obsluge multimediow, popularnosc tej technologi ze wzgledu na kompletnie odmienne zastosowanie oraz racje ideologiczne to mysle ze jest to zaprzatanie sobie glowy pierdolami :wink: i tylko dodatkowa niepotrzebna w gruncie rzeczy praca.

Jezeli chodzi o moj optymizm w kierunku XUl’a to no coz ja dokladnie to samo moge powiedziec na temat twojej subiektywnej opini na temat Flasha, nie zaprzeczysz ze gdybys mial mozliwosc pelnego doboru technologi, abo wyboru pomiedzy jednym a drugim wybral bys Flash prawda ?

Teraz spróbuje być obiektywny, obie technologie sa bardzo dobre, jednak maja swoje plusy i minusy, nie powinna istniec wyzszosc jednej nad druga poniewaz watpie aby ich autorowie w jakisposob kiedykolwike mysleli o konkurowaniu ze soba Jedna technologia zaczerpnela pomysly z drugiej ale wykonala to w znacznie inny sosob. Flex wywodzi sie z XUL’a. XUL zostal stworzony jako wieloplatformowy GUI TOOLKIT ktory bedzie dzialac i wygladac wszedzie tak samo. Flex zostal stworzony jako framework do tworzenia webaplikacji Na tym polu jak narazie Flex wygrywa bo ma juz wszystko to czego w takiej aplikacji bysmy potrzebowali. Mysle ze narazie owiele latwiej bylo by napisac swoja pierwsza aplikacjie we flexsie + rails niz w xulu + rails poniewaz te 1 rozwaizanie juz jest w jakis sposob zintegrowane i sporo rzeczy mamy juz gotowych natomait xul… no coz tutaj jeszcze bedziemy musieli sami odkryc ameryke Zaintersowalem sie wczoraj id zis troche tematem i bylo by kilka problemow dla nas jako developerow

  1. W jaki sposob generowac formularze? Tutaj akurat mysle ze zawiele by sie nie zmienilo po prostu _form.rhtml trzeba by tylko stworzyc troche helpersow do generowania kontrolek xul. Jeszcze tez moglo by na poczatku przyspozyc troche problemow zwykle uploadowanie plikow, ale chyba dalo by sie to rozwiazac… ba nawet za pomoca xmlhttprequest
  2. W jaki sposob prezentowac dane ? Mysle ze chyba w postaci plikow do szablonow rdf a na ich podstawie byly by juz tworzone drzewka, listy czy co tam bysmy sobie juz tylko wymyslili. Rxml jest bardzo wygodne gorzej z wydajnoscia prawda ?

Ogolnie wszystko by sie toczylo za pomoca xmlhttprequest i gdyby tylko przystosowac lepiej rails do wykrozystania tej technologi to moglo by sie to okazac znacznie wydajniejsze niz pisania paneli administracynych w html’u

very heavy. kiedyś mnie zaintrygował. ma taki ciekawy język obiektowy w xml. to, co mnie zniechęciło to duża zasobożerność tego systemu.

Natrafiłem u Manninga na książkę “Flexible Rails: Flex 3 on Rails 2”. Kurcze, chyba ją kupię, choć z tego, co piszecie wygląda na to, że nie ma sensu używać RoRa jako backendu dla Flex (czy raczej Flex jako front-endu dla RoR). Słyszeliście może o jakiejś aplikacji, która by na RoR+Flex działała?

Ja mam taką.
Działa nieźle ale raczej będzie przepisana na PHP.