@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