piątek, maja 14, 2010

Czym robić?

Tworzenie bogatych aplikacji webowych (pod tym pojęciem jest wiele definicji – ale chyba najprymitywniejszą i najprawdziwszą jest wykorzystanie na najniższym poziomie technologii AJAX-a czyli Javascriptu w przeglądarce) zawsze kojarzy się z wyborem narzędzia. Najczęściej jest to wybór rusztowania wspomagajacego pisanie w JS. Mamy wiele takich platform. Którą wybrać? Ten artykuł pomaga w zorientowaniu się w gąszczu możliwości do wykorzystania. Dla twórców w Javie optymalnym wydaje sie GWT-Ext. Przykładem GWT są znane wszystkim aplikacje Google jak Gmail. Oponenci jednak są sceptycznie nastawieni. Ich zdaniem automatyczne tłumaczenie regularnych i dobrze ustrukturowanych  klas w Javie na podobne konstrukcje w Javascript są jawnym zabiciem ogromnych możliwości lekkiego programowanie obiektowego w JS (przecież uważa się JS jako unowocześnione rozwinięcie języka Lisp). Automatyczna translacja kodu Java (gdzie logika jest powiązana z ścisłym typowaniem zmiennych) do JS (gdzie zmienne są amorficzne, mogą w locie zmieniać typ przechowywanych w nich danych) nie pozwala wykorzystać finezji tkwiącej w JS. Dodatkowym utrudnieniem jest odmienność w implementacji wersji JS oraz funkcji manipulowania na DOM w różnych przeglądarkach. Dlatego oraz częściej stosuje się do tłumaczenia kodu Java jakiegoś rusztowania izolującego różnice w implementacji JS w przeglądarkach. Dobrym kandydatem wydaje się EXT-JS. Dlatego powstała hybryda GWT-EXT – tutaj ukłon w stronę programistów Swing, EXT-JS korzysta z tego samego paradygmatu układu stron i widgetów (wichajstrów). Inne firmy mogące pomóc to w tworzeniu aplikacji w GWT to http://www.instantiations.com/ (GWT Designer) lub Netbeans (Matisse).

Uwaga:

  • Na strona GWT-EXT (http://code.google.com/p/gwt-ext/) jest informacja, że projekt ten ewoluował do SmartGWT. To dobrze i naturalne. Wydaje się, że projektanci GWT (ludzie od Google) zrozumieli niebezpieczeństwo włączenia w swój produkt płatnej biblioteki Ext (czyli mogą być posądzeni o krypto sponsoring kogoś lub konflikt z udostępnianiem czyli licencjonowaniem aplikacji)
  • Istnieje pewne niebezpieczeństwo – licencja na użytkowanie tego projektu – trzeba ją dobrze zrozumieć!

Inny projekt łączący GWT z rusztowaniem JS to Tatami (gdzie tym rusztowaniem jest Dojo). Ciekawe, że oba wspomniane wyżej platformy są udostępniane na code.google.com. Tamże można znaleźć GWTUML.

A co z jMaki - https://ajax.dev.java.net/. Ten projekt jest szerszy w zakresie ponieważ umożliwia tworzenie aplikacji AJAX w różnych środowiskach (Java, Ruby, PHP) ?

Źródło – Infoworld.

Brak komentarzy: