czwartek, września 04, 2008

Nie pomijać znaczenia JavaScript
  1. Jak zauważyła Forrest Group jest to pożyteczny język ale ma etykietkę do tworzenia stron internetowych po stronie klienta, czyli nie jest tak popularny.

    Trzeba pamiętać, że aplikacje internetowe to są dwie nogi: strona serwerowa (języki Java, .NET, skryptowe jak Python, PHP, Ruby) i kliencka (JS). Proporcje między nimi decydują o rodzaju i charakterystyka użytkowo-funkcjonalnej aplikacji webowych oraz szybkości działania. Jeżeli przeważa część serwerowa to mamy mocne obciążenie łącza oraz serwera (gro przetwarzania odbywa się na serwerze). Jeżeli przewagę ma część kliencka to serwer działa jako dostawca danych rozpakowywanych i prezentowanych u klienta. Tutaj większą część przetwarzania bierze na siebie komputer klienta odciążając serwer. Do tego dochodzi jakość interpretowania JS (teraz w projektach Mozilli FF 3.1 mówi się o kompilatorze języka TraceMonkey, opartego na badaniach uniwersyteckich, obiecującego radykalne przyśpieszenie działania) oraz sprawność motoru przeglądarki. Ponieważ tak czy inaczej strona internetowa wytworzona na serwerze trafia do punktu docelowego jakim jest przeglądarka to tak naprawdę to ona określa efekt końcowy odbierany przez użytkownika. A jeżeli coś się dzieje w przeglądarce (a powinno, choćby renderowanie strony lub wykonywanie jakieś logiki na strukturze DOM tej strony) to jest ona inteligentna tzn. bierze na siebie wykonywanie pewnych operacji w języku JS. Wniosek - dużo zależy do szybkości pracy motoru przeglądarki i jakości i szybkości interpretowania JS. W tym świetle cieszy pogodzenie tendencji ewolucyjnych z rewolucyjnymi w komitecie zajmującym się pracami nad rozwojem i standaryzacją ECMAScript (JS) - ECMA International Commitee . Wygrała frakcja wersji 3 nad wersją 4, tzn. prostszy język i szybsze wykonywanie się w przeglądarce i urządzeniach mobilnych. Zaowocowało to w nowej wersji 3.1 która nosi nazwę Harmony. Duże znaczenie miała opinia twórców rusztowań Dojo, Scriptaculous i innych.

    W związku z tym zachodzi nowy trend - przetwarzania aplikacji w kontenerze klienckim (np. przeglądarka) natomiast dostęp do zasobów znajdujących się w Internecie poprzez protokół HTTP i jego wyższe warstwy wykorzystujące technologię AJAX. Wszyscy liczący się gracze na rynku aplikacji web2 mają coś w zanadrzu:

    • Adobe - technologię AIR (połączenie odmiany JS - ActionScript i Flasha) - super to wygląda graficzne, wykorzystuje wszystkie dostępne możliwości Windows
    • Google - technologię Gears oraz nową przeglądarkę Chrome, która łączy funkcje tradycyjnej przeglądarki (oczywiście wzbogacając ją o prostotę użycia, integrację z Google Apps, wyszukiwarką, szybkością działania dzięki nowoczesnej maszynie wirtualnej JavaScript korzystającej z innowacji Apple -WebKit i Mozilli-Firefox) z uniwersalnym kontenerem umożliwiającym uruchamianie aplikacji klienckich charakteryzujących się możliwością pracy offline (synchronizacja opóżniona), zapamiętaniem stanu aplikacji u klienta (to już nie jest HTTP bezstanowy) w bazie SQL, wykorzystaniem technologii Gears oraz brakiem paska adresu internetowego. Dodatkowo ma specjalne okno tzw. Application window stwarza to iluzję korzystania jak z aplikacji desktopowej. Uwaga: Chrome używa ciągle starej wersji WebKit, która ma wiele znanych przez hackerów dziur.
    • Mozilla - prace nad technologią Prism (podobnie jak Google)
    • Opera/Yahoo - stosowania widgetów (wihajstrów) pracujących w środowisku maszyny wirtualnej, którą sobie trzeba ściągnąć na początku pracy (potem ewentualne aktualizacje)
    • Microsoft - technologia Silverlight o jej możliwościach przekonuje NBC w przekazach z olimpiady w Pekinie. Kawał potężnej technologii zintergrowanej z platformą .NET i przenaszalnej na inne środowiska oprócz Windows dzięki technologii Mono



Brak komentarzy: