Przedmowa
Prawda jest taka, e nigdy nie utworzyem aplikacji w technologii Ajax.
Oczywicie, pracowaem nad projektami Ajax, ale jeli chodzi o programowanie, to moje dowiadczenie jest do ubogie. Napisaem kilka skryptw JavaScript, znam rwnie odrobin jzyk Perl, cho jest to wiedza pozwalajca zaledwie na utworzenie aplikacji sieciowej. W kwestii programowania zaliczam si wic raczej do grupy weekendowych hobbystw.
Czytelnik moe sobie wyobrazi frustracj osb, ktre si o tym fakcie dowiaduj, gdy przysyaj do mnie wiadomoci e-mail z prob o pomoc w swoich skryptach JavaScript. Trudno jednak wini je za to, i oczekuj ode mnie tego, e bd technologiem. Ostatecznie, napisaem artyku uywajc okrelenia Ajax, a Ajax jest przecie technologi, nieprawda?
Zabawny w tym wszystkim jest fakt, e w trakcie pisania wspomnianego artykuu nie zakadaem takiego rozwoju wypadkw. W ogle nie przypuszczaem, e pisz artyku adresowany do technologw. Nale do kategorii projektantw i to do tej grupy osb by skierowany artyku. Jeeli Czytelnik zapozna si z innymi publikacjami zamieszczonymi na witrynie adaptivepath.com , wwczas przekona si, e nasze rozwaania dotycz bardziej sposobu analizy zachowa uytkownika ni rozmw o najnowszych bibliotekach danych lub schematach danych.
Jest to gwny powd, dla ktrego niektre osoby uwaaj za bardzo dziwne to, e w ogle przystpiem do pisania na temat Ajaksu. Projektanci powinni pozostawi technologom pisanie o technologii.
Ale postrzeganie Ajaksu jako czysto technologicznego fenomenu jest pominiciem najwaniejszych kwestii. Co wicej, Ajax jest nawet w wikszym stopniu obszarem zmian dla projektantw ni dla programistw. Oczywicie, istnieje wiele sposobw, na ktre programici musz zmieni swj tok mylenia w trakcie przejcia od tradycyjnego tworzenia aplikacji sieciowych do budowania aplikacji z wykorzystaniem technologii Ajax. Dla tych osb, ktre projektoway z myl o uytkownikach, zmiany przynoszone przez Ajax s jeszcze bardziej gruntowne.
W cigu minionych 10 lub wicej lat bardzo dobrze wywizywalimy si z naszych obowizkw. Rozpoczynalimy od obsugi tego, co Sie wykonywaa znakomicie oraz tego, co Sie obsugiwaa bardzo kiepsko.
Opracowalimy cay arsena konwencji, na ktrych polegamy w trakcie projektowania aplikacji: miejsce umieszczenia logo, zachowanie czy po ich klikniciu oraz sposb poinformowania, e dany element moe zosta kliknity.
Caa ta wiedza przynajmniej jej wikszo staje si niepotrzebna w trakcie wykorzystywania technologii Ajax. Co prawda dysponujemy szersz palet narzdzi, ale rwnoczenie oznacza to wicej moliwoci popenienia bdw. Szczerze mwic, bdziemy popeniali duo bdw. Poznanie nowych zagadnie zajmie programicie odrobin czasu, podobnie jak miao to miejsce w przypadku starych, statycznych stron internetowych. Rwnie osignicie poziomu gwarantujcego peniejsze wykorzystanie technologii Ajax bdzie wymagao czasu i wielu prb.
I to jest odpowiednia chwila, w ktrej do akcji wkracza Czytelnik oraz niniejsza ksika.
Jedn z najbardziej inspirujcych kwestii dotyczcych Sieci jest fakt, e kady moe uczestniczy w jej rozwoju. Organizacje zajmujce si standardami oraz producenci platform maj znaczenie, ale nie istnieje nadrzdny plan, ktry wyznaczaby kierunek ewolucji Sieci. Poda ona w kierunku, w ktrym zmierzaj jej uytkownicy ale jedynie wtedy, gdy s na to przygotowani. Oznacza to, e czasami wietne pomysy nie s realizowane od razu, natomiast w innych przypadkach wystarcza tylko jeden gos przedstawiajcy ide, ktry zjednuje sobie wikszo.
My wszyscy, projektanci i programici, jestemy architektami Sieci. Dziki narzdziom takim jak ta ksika moemy si nawzajem uczy, mamy moliwo wykorzystania naszej kreatywnoci w celu przyspieszenia kolejnych innowacji. Dokonywane przez nas teraz wybory stanowi podstaw dla przyszych wydarze. W tym momencie Ajax jest naszym przeznaczeniem, kolejnym oczywistym rozdziaem w historii Sieci. Gdy ten rozdzia zostanie zamknity, z niecierpliwoci bd wypatrywa, co przyniesie nastpny. Jednak obecnie powinnimy skupi si na tym, co da si osign za pomoc teraz dostpnych moliwoci.
Zmykamy wic std i zabieramy si za kodowanie!
Jesse James Garrett
San Francisco, Kalifornia
Grudzie 2005
O autorze
O autorze
Bruce Perry jest niezalenym programist oprogramowania i autorem ksiek; opublikowa Java Servlet & JSP Cookbook (OReilly). Od 1996 roku programuje aplikacje sieciowe oraz bazy danych dla rnych organizacji typu nonprofit, firm projektowych i marketingowych oraz dla wydawcw. W wolnym czasie Perry jest aktywnym uczestnikiem grupy triatlonowej, intensywnie uprawia kolarstwo w Alpach szwajcarskich. Autor na stae mieszka w Newburyport w stanie Massachusetts wraz z on Stacy LeBaron oraz crk Rachel i synem Scottem.
Wsppracownicy
Micah Dubinko pracowa jako redaktor i autor specyfikacji XForms 1.0 W3C. Prac na rzecz XForms rozpocz we wrzeniu 1999 roku, na dziewi miesicy przed oficjalnym utworzeniem grupy roboczej. W roku 2004 Micah zosta wyrniony nagrod InfoWorld Innovator. Jest rwnie autorem ksiki XForms Essentials (OReilly), dostpnej w internecie pod adresem http://www.xformsinstitute.com . Obecnie Micah pracuje jako starszy programista w firmie Yahoo! w Kalifornii.
Curt Hibbs jest starszym programist w St. Louis z ponad 30-letnim dowiadczeniem w zakresie platform, jzykw oraz wielu technologii (wszystkich ze wzgldu na szczup ilo miejsca nie mona tu wymieni). Kieruje swe przenikliwe (i zawsze poszukujce) spojrzenie w kierunku nowych metod i technologii, ktre mog uatwi jego prac i zwikszy jej efektywno. Curt sta si rwnie bardzo aktywnym czonkiem spoecznoci programistw Ruby.
Brad Neuberg uczyni wiele dla spoecznoci open source, uczestniczc w pracach nad kodem Mozilli, JXTA, Jakarta Feed Parser oraz innymi projektami. Jego dowiadczenie obejmuje programowanie systemw rozproszonych na Wall Street, projektowanie n -warstwowe oraz J2EE. Jako starszy inynier oprogramowania w Rojo Networks, Brad skupi si na agregatorach nastpnej generacji, blogosferze, MySQL, Ajaksie i Lucene. Do ostatnich zada Neuberga naleay konsultacje w sprawie archiwum internetu do utworzenia czytnika ksiek w Ajaksie, skupienie si na strukturze Ajax/DHTML typu open source, wczajc w to bibliotek Really Simple History przejt w ostatnim czasie przez Google. Brad pracuje rwnie nad Ajax Massive Storage System (AMASS) i dojo.storage , ktre pozwol aplikacjom sieciowym na trwae i bezpieczne przechowywanie megabajtw danych.
Premshree Pillai jest technikiem Yahoo!. Zajmuje si kodowaniem (obsuguje API Ruby dla usug sieciowych Yahoo!, Flickr, Technorati itd.), pisaniem (kolumna Ruby Corner w Linux For You ) oraz w wolnym czasie przemawia (na rnych konferencjach) na temat Ruby. Poprzednio bra udzia w pracach nad ksikami Python. Receptury (Helion) i Yahoo! Hacks (OReilly) oraz wsppracowa z wydawnictwem ACM Crossroads .
Mark Pruett jest programist i pisarzem mieszkajcym w stanie Wirginia, w ktrym pracuje dla firmy energetycznej figurujcej w rankingu Fortune 500. Jest autorem dwch ksiek oraz wielu artykuw w zakresie programowania i technologii. Mark uzyska tytu naukowy z dziedziny komputerw na Virginia Commonwealth University.
Sean Snider jest starszym inynierem oprogramowania sieciowego w firmie Yahoo! oraz menederem zespou Web User Interface w firmie Yahoo! Music Unlimited. Od ponad omiu lat Sean zajmuje si tworzeniem aplikacji Ajax oraz wzbogaconych witryn internetowych dla firm zwizanych z muzyk, grami wideo, przemysem e-commerce oraz firm takich jak Electronic Arts (EA Sports,