czwartek, 26 kwietnia 2007

Kod źródłowy kompilatora Flex 2 będzie dostępny

Firma Adobe wciąż czymś zaskakuje. Dzisiaj przeczytałem że zamierzają opublikować kod źródłowy Flex SDK . Co to znaczy dla mnie? Że ktoś może napisze kompilator AS 3 w PHP czy w Ruby. Ale tak naprawdę myślę że to jest tylko wejście wielkiej firmy w biznes Open Source. Z samego kodu firma nie ma korzyści, ale jak programiści zaczną wykorzystywać kod to firma może zarabiać na usługach i wartości dodanej na wsparciu jej klientów. Patrząc na raporty finansowe Adobe wnioskuje że firmie opłaca sie taki manewr. Technologie Adobe Flex 2 nie przynosiły dużych przychodów firmie, ale powodowały, że wartość firmy wzrastała.

Francuski ruch OpenSource inicjował pewne ruchy które sprawiały, że Macromedia a potem Adobe zrezygnowała z walki o monopol nad tworzeniem narzędzi do generowania plików SWF, wychodząc z założenia ze współpraca z programistami OpenSource daje większe korzyści. Zaoferowanie AVM2 (Tamarin) jest przykładem dobrego działania, które przyniosło raczej więcej rozgłosu marketingowego niż praktycznego. Niewielu jest programistów którzyby wykorzystaliby ten kod do swoich produktów. Porównałbym wypuszczanie i upublicznianie kodu do promocji typu "komórka za zlotówkę". Koszt zapoznania sie z tym przez zwykłego człowieka jest zbyt wysoki, (podobnie jak wysoki abonament, który jest spłacaniem ukrytych rat) a ci którzy to już znają to raczej maja na głowie ważniejsze sprawy niż grzebanie się w tym kodzie (podobnie jak z właścicielami najnowszych komórek, którzy nie potrzebują czegoś za symboliczna złotuwkę). Więc w praktyce jest to prezent dla pasjonatów i studentów. Z drugiej strony wiadomo że jak komuś zależałoby napisaniu własnego kompilatora to i tak by to już dawno napisałby - przykład MTASC. Ming, HaXe. Wypakowanie plików klas z Flex 2 SDK a potem ich dekompilacja nie jest takim trudnym zadaniem. Można zadawać pytanie czy jest obecnie sens bawić sie w to jak skoro Adobe upubliczni kod Flex 2 SDK. Czy powstaną jakieś nowe technologie oparte na tym? Czas pokaże, bo obecnie mamy taką sytuację, trzeba już coraz bardziej specjalizować się i intensywnie promować swoje technologie. To jest pożądane zjawisko. Z drugiej strony szybko pojawia się konkurencja i wtedy zaczyna się walka o programistów. Producent technologii chce przekonać żeby programiści używali jego technologii, a z drugiej strony klienci też oczekują że otrzymają produkty w danej technologii. Zaczyna sie walka o programistów. A programiści muszą wybierać technologie i klientów którym dostarczą produkty i usługi w oparciu o daną technologię. I trudno programistom dogodzić.

4 komentarze:

Sebastian Zarzycki pisze...

Witam. Czy Ty napisałeś jakąś aplikację we Flexie? Flex SDK jest przecież dostępne od wczesnych wersji beta, w postaci zarówno skompilowanej jak i źródłowej - można sobie wszystko przejrzeć, zmienić, przekleić.

Adobe ma upublicznić kompilator/debuger AS3 i MXML - tak jak sugeruje tytuł posta. Ale im głębiej, tym bardziej rozmijasz się z prawdą.

Michał Małaj pisze...

Flex SDK to są binaria kompilatora debugera oraz pliki źródłowe do komponentu framework.swc. Natomiast nie mam kodu źródłowego do pakietów flash.* w pliku globalplayer.swc (kiedyś to chyba było w postaci pliku .abc)

Nie ma też kodu źródłowego następujących plików fdb.jar, mxmlc.jar, swfkit.jar, asdoc.jar, asc.jar Myślę, że jak komuś zależy to może sobie zdekompilować pliki *.class zawarte w tych archiwach.

Jak pewnie większość ludzi myśli że zmiana warunków licencji coś zmieni. Tak naprawdę nic nie zmienia. Na co programistom AS3 / Flex 2 i designerom Flasha kod w Javie ? Podobna była sytuacja w przypadku Tamarin z kodem C++. Świat dowiedział jak obsługiwany jest kod .abc. A komu to się przyda ? Pasjonatom i studentom.

Obecnie niestety liczy się marketing technologii. To oznacza, że producent technologii musi dbać o to żeby ludzie mieli o czym pisać. Można to zauważyć na prostym przykładzie, ile jest blogów poświęconych Microsoft Silverlight, a ile Adobe Flex 2. Pozornie można powiedzieć, że Microsoft Silverlight jest łatwiejszy bo wymaga znajomości JavaScriptu.
Na razie wygląda na to, że Microsoft musi intensywnie promować swoją technologię Silverlight wśród programistów AJAXa. Najgorsze to co może spotkać producenta technologii to zignorowanie jakiego produktu przez pasjonatów czy programistów Ile ludzi interesuje się Adobe Mars czy Adobe Digital Edition?

Radek pisze...

Witaj Michal,

Musze przyznac, ze Twoj blog bardzo mi sie podoba. Calkowicie profesjonalnie i na temat.

Wracajac do tematu. Otoz wyglada na to, ze Adobe nie udostepni kluczowych elementow serwera. Sam kompilator mxml oraz as3 moze okazac sie lakomym kaskiem dla developerow, nie tyle serwrow ria, ale takze developerow takich jak Mozilla. Osobisice wydaje mi sie, ze nie jest to jednak glownym celem dla Adobe. W tak duzym projekcie jak Flex dodawanie nowej funkcjonalnosci moze sie okazac naprawde koszmarem. Zdanie sie na community moze byc dobrym ruchem dla dwoch stron. Rozwoj technologii opartych na kodzie Flex moze byc naprawde ogromny, z drugiej strony samo Adobe bedzie mialo nieograniczone mozliwosci korzystania z rozwiazan innych grup OS.

Drugim tematem jest uderzenie Adobe w MS Silverlight. Tech ruch prawdopodobnie wybije pilke z rak MS. Caly wieloletni rozped MS w kierunku stworzenia tego produktu moze sie okazac bezwartosciowy.
W tym momencie jestem w trakcie pisania kompilatora AS3 dla .NET, ktos inny pewnie tez juz to robi. Niedlugo pojawia sie ludzie, ktorzy beda pisac kompilatory XAML dla Flex. Czy widzisz te mozliwosci?

Jeszcze inna sprawa to sam AS3 jako ewoluujacy jezyk, ktory dzieki udostepnieniu jako OS, dodaniu jego VM do Mozilli i duzemu community oraz sprawdzonym rozwiazaniom moze niedlugo stac sie dominujacym jezykiem dla Web. Mozliwe jest, ze za rok roznice miedzy aplikacja Flex, XUL i zwykla aplikacja AJAX w Mozilli w ogole nie beda istniec.

Co o tym myslisz?

Michał Małaj pisze...

Witaj Radek

Silverlight Microsoftu to potężna technologia. Jestem nawet skłonny stwierdzić że rozwój platformy .NET dużo zależy od tego jak przyjmie się w środowisku developerskim ta nowa technologia.

Programiści Linuksa już zrobili wersję Monolight. (Zostaje tylko jeszcze zrobić SilverLighta na platformę Symbian OS)

Czy SilverLight może konkurować z Adobe Flash Player 9? Wydaje mi się że jeszcze za wcześnie na tego typu porównywania, dopóki co SilverLight jeszcze nie jest w pełni "dojrzałą" technologią.

Możemy przyjrzeć się temu co już zrobili programiści z SliverLight. Tim Sneath przedstawił 50 aplikacji
Ale w tej chwili marketingowo wygrywa Adobe ze swoim AIR. Wystarczy zobaczyć jaką reklamę robi swojemu produktowi
> poprzez promocję AIR BUS


Kompilatory dla assembly Silverlight i dla plików SWF równocześnie już są dostępne.
Przykładem jest GOA System.Windows.Forms for Silverlight and Adobe Flash
Zawiera aż ponad 40 kontrolek UI

Radek zadałeś mi pytanie jak widzę integrację Mozilli z ActionScript 3. Według mnie raczej szybko to nie nastąpi. Chyba, że programiści Mozilli pozwolą na kompilowanie kodu JavaScript do bajtkodu ABC. W ten sposób Mozilla / Firefox upodobnią się do Adobe AIR.