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.

czwartek, maja 13, 2010

Myśli dzikie

  • Rusztowania (framework) są potrzebne. Również w JS. mamy tutaj dwa ważne podstawowe:
    • jQuery i
    • Prototype
  • Do nich dochodzą dodatki UI (odpowiednio):
    • jQuery UI i
    • scryptaculus
  • Inne rusztowanie to Ext JS, które głownie skierowane jest na GUI
  • Dla projektów wykorzystujących karty z certyfikatami ważne jest:
    • przewidzieć zapamiętanie Id karty w opisie konta osoby upoważnionej do zalogowania się do serwisu – ważne przy WS
    • ludzie z zewnątrz dzięki zastosowaniu Web SSL VPN mogą być potraktowani jako logujący się w sieci wewnętrznej

Cloud

  1. Porównanie Google i Microsoft - http://www.networkworld.com/keywords/google-v-microsoft.html
  2. LA wybrało Google Apps -
  3. Yahoo zapowiada otwarcie swojej chmury na początku przyszłego roku - http://www.theregister.co.uk/2010/05/12/yahoo_to_open_source_cloud/
  4. Rozbiegówka przekonywująca do Google Apps - http://www.google.com/apps/intl/en/business/index.html
  5. MS ma teraz nowy produkt – Office Web Applications - Oznacza to, że pakiet ten pojawi się wraz z MS Office 2K10 w dwóch wersjach:
    1. konsumencka (oparta o MS SkyDrive oraz aplikacji facebookowskiej - docs.com) oraz
    2. biznesowa -jako dodatek do SharePoint 2010 lub nawet do darmowego SharePoint Foundation.
    3. Jeżeli chodzi o Facebook to jest to nie tylko ukłon  w stronę serwisów socjalnych ale również decyzja biznesowa – wejście w obszar współpracy z najpotężniejszym twórcom platformy socjalnej – Facebookiem. Może MS myśli o zaoferowaniu usług socjalnych w obszarze biznesowej.
    4. Należy zwrócić uwagę na fakt zaistnienia platformy serwerowej w postaci SP 2010 – chyba chodzi o to aby utrzymać wpływy z aplikacji biurowych
  6. Raport roczny O’Reilly - http://radar.oreilly.com/2010/04/handicapping-internet-platform-wars.html
  7. Niezawodny The Register:
    1. Szum wokół MS Office 2010 - http://www.theregister.co.uk/2010/05/12/office_2010_vesus_the_competition/
    2. Zalecenia komisji edukacyjnej Wielkiej Brytanii – zamiast C/C#/PHP uczymy Java (warunkowo ponieważ Stany z niej zrezygnowały)  oraz takich “staroci” jak Delphi/Pascal/Python/VB - http://www.theregister.co.uk/2010/05/12/aqa_c_php/. Pascal ma kompilator z rodziny bloodshed - http://pascalprogramming.byethost15.com/downloads.html, do Dephi - http://www.festra.com/freetutor/ i http://www.delphibasics.co.uk/ i vb - http://www.programmingtutorials.com/vb6.aspx
  8. Ciekawe co na to nasz MEN?

wtorek, maja 11, 2010

REST

  1. Opis WADL oraz jego generatora - http://searchsoa.techtarget.com/tip/0,289483,sid26_gci1265367_mem1,00.html
  2. IBM naucza co to jest REST - https://www.ibm.com/developerworks/webservices/library/ws-restful/
  3. Zasoby o REST na INFOQ - http://www.infoq.com/minibooks/emag-03-2010-rest
  4. Implementacje REST-a:
    1. OpenRasta - http://trac.caffeine-it.com/openrasta/wiki/Doc/Configuration/HowTos
    2. Restlet - http://en.wikipedia.org/wiki/Restlet
    3. RestEasy – JBOSS
    4. Jersey – wzorcowa implementacja

CURL

Jest wiele implementacji tego protokołu w tym również dla VFP i .NET. Istnieją ponadto inne rozwiązania np. http://curl.haxx.se/libcurl/competitors.html. Wśród nich jest wymieniony:

  1. HTTPClient - http://www.innovation.ch/java/HTTPClient/. Jest tam ciekawy odnośnik jak wyświetlić w applecie stronę HTML.
  2. Inna implementacja klienta – HTTPCLIENT z projektu Jakarta
  3. XML Http z MS
  4. WININET – chociaż nie jest zalecany, jak już to lepiej stosować – WinInet