Czas na stworzenie prostej aplikacji wykorzystującej Jave (BlazeDS) i Flex w jednym projekcie Flex Buildera. Będzie to klasyczne “Hello World”
Wymagane oprogramowanie:
Flex Builder 3.0.2 – dostępny do ściągnięcia w wersji trial ze stron Adobe lub w specjalnej wersji dla studentów lub bezrobotnych programistów ze strony Free RIA Tools,
BlazeDS 3.2.0.3978 – dostępny na stronach Adobe Open Source (jest to wersja z samymi binariami – dostępna jest także wersja z zintegrowanym Tomcatem) – rozpakowujemy w dowolne miejsce, np.: C:\Work\BlazeDS
Chciałbym przedstawić w jaki sposób można przygotować środowisko deweloperskie Flex Builder do kodowania Flex + Java. Chodzi oto, żeby móc tworzyć jednocześnie część aplikacji widoczną dla użytkownika (frontend) jak i backend, czyli kod Javy odpowiedzialny np.: za komunikację z bazami danych i obróbkę tych danych.
Uwaga! Poniższy sposób tworzenia aplikacji sprawdza się tylko w przypadku kodowania przez jedną osobę.
Kod Javy będzie docelowo wykorzystywał BlazeDS/LiveCycle Data Services – będzie to jednak zagadnieniem następnego tutoriala.
Wymagane oprogramowanie: Flex Builder 3.0.2 – dostępny do ściągnięcia w wersji trial ze stron Adobe lub w specjalnej wersji dla studentów lub bezrobotnych programistów ze strony Free RIA Tools.
Co wybrać? AMFPHP, ZendAmf, WebOrb for PHP czy może SabreAMF? A może wogóle język inny niż PHP?
Pytanie na które ciężko ostanim czasy znaleźć dobrą odpowiedź. Żeby choć trochę ułatwić sprawę polecam sprawne porównanie istniejących rozwiązań dla PHP opublikowane przez Mihai Corlan’a.
Dodatkowo dodam, że w dniu dzisiejszym pojawił się update (do wersji 1.7.8) biblioteki ZendAMF – więcej info na blogu Wade’a Arnolda, a kod można ściągnąć ze stron Zend Frameworka.
Dzięki staraniom panów Paul Gregoire’a i Stevena Gonga open-sourcowy serwer RTMP Red5 wzbogacił się właśnie o obsługę kodowania H.264 (gdyby ktoś nie wiedział o co chodzi polecam takie oto HD demo). Narazie wersja dostępna jest tylko z poziomu svn, ale zapewne wrzucona zostanie do release’a 0.9.
Niestety mój projekt, wykorzystujący jako część serwerową Red5, ostatnio mocno podupadł więc się tym za szybko zapewne nie pobawię
Google App Engine to testowa i darmowa (na dzień dzisiejszy) oferta hostingowa udostępniona przez Google dająca możliwość umieszczania aplikacji pisanych w Pythonie i korzystających z tej samej infrastruktury co wyszukiwarka Google. Parametry to: max 3 aplikacje po maksimum 500MB trzymanych w bazie BigTable, 5 milionów odsłon i 10TB transferu miesięcznie. Umożliwiony jest dostęp do usług Google takich jak: GMail, Google Accounts i innych.
PyAMF to kompatybilna z Flash Playerem implementacja protokołu AMF (Action Message Format) stworzona w Pythonie. Jest to binarny protokół służący wymiany danych pomiędzy aplikacją Flash/Flex i serwerem za pomocą zdalnego wywoływania procedur (RPC).
Wywołania mogą być przesyłane poprzez protokół HTTP/HTTPS lub też poprzez RTMP/RTMPS. Dzięki serializacji obiektów do postaci binarnej zwiększa się wydajność wywołań co pozwala wczytywać dane 10 razy szybciej niż gdyby działo się to za pomocą tekstowych formatów takich jak XML czy SOAP. Porównanie wydajności można przeprowadzić na stronie Jamesa Warda.
Przykłady zastosowania PyAMF dostępne są na stronie projektu, a ja polecam jedno z ciekawszych rozwiązań, czyli PyAMF Python Shell Demo.