Dyskusja:AJAX
AJAX (Remote scripting)
[edytuj kod]1.Definicja Ajaxu Amsterdam (Remote scripting)
Ajax (Remote scripting) nie jest technologią. Tak naprawdę jest to połączenie kilku oddzielnych, rozwijanych osobno technologii scalonych razem w nowy, potężny sposób.
Ajax zawiera:
- Zgodną ze standardami sieciowymi warstwę prezentacji opartą o XHTML oraz style kaskadowe CSS
- Dynamiczne wyświetlanie i interakcję przy użyciu ‘Document Object Model” (DOM)
- Wymianę i manipulowanie danymi przy użyciu XML i XSTL
- Niesynchroniczne przesyłanie danych przy użyciu funkcji ‘XMLHttpRequest’
- JavaScript wiążący wszystko w całość
Klasyczny model sieciowych aplikacji wygląda następująco: użytkownik uruchamia (wywołuje) za pomocą interfejsu zapytanie HTTP, które przesyłane jest do serwera sieciowego. Serwer przetwarza otrzymane dane i następnie zwraca klientowi stronę HTML.
Jest to model oparty o klasyczne pojmowanie sieci jako medium opartego na hipertekście. To jednak co sprawdza się w przypadku zwykłych stron internetowych, niekoniecznie jest równie dobrym rozwiązaniem dla aplikacji sieciowych.
Klasyczne podejście jest logiczne z technicznego punktu widzenia lecz potrafi być uciążliwe gdy spojrzymy na problem z punktu widzenia użytkownika. Gdy serwer przetwarza zapytanie użytkownik musi czekać na wynik. Przy każdym kolejnym koku jest tak samo.
2.Dlaczego Ajax jest inny
Aplikacja oparta o Ajax eliminuje problem cyklicznej („wyślij, czekaj, wyślij, czekaj”) natury interakcji w sieci poprzez wprowadzenie pośrednika – silnika Ajax – pomiędzy użytkownikiem i serwerem.
Na pierwszy rzut oka wydaje się iż wprowadzenie dodatkowej warstwy do aplikacji sprawi iż będzie ona wolniej reagować na akcje użytkownika. W rzeczywistości jest odwrotnie.
Zamiast ładowania strony internetowej, na początku sesji przeglądarka ładuje silnik Ajax – napisany w JavaScipt i zwykle schowany w ukrytej ramce. Silnik ten odpowiedzialny jest za wyświetlanie interfejsu który widzi użytkownik i komunikowanie się z serwerem w jego imieniu.
Silnik Ajax pozwala użytkownikowi na komunikacje z aplikacją sieciową w sposób asynchroniczny – niezależnie od komunikacji z serwerem. Dzięki temu użytkownik nigdy nie widzi pustego okna przeglądarki oraz kursora w kształcie klepsydry podczas oczekiwania aż serwer wykona jakąś akcję.
Każde działanie użytkownika, zwykle wywołujące zapytanie HTTP, przybiera w zamian formę odwołania do silnika Ajax. Każda reakcja na działanie użytkownika które nie wymaga połączenia z serwerem - takie jak ocena poprawności danych w formularzu, edycja danych w pamięci a nawet część nawigacji – jest obsługiwana przez sam silnik.
Jeśli silnik Ajax potrzebuje czegoś z serwera w reakcji na działanie użytkownika - przykładowo przy wysyłaniu danych z formularza, ładowaniu dodatkowego kodu interfejsu lub przy otrzymywaniu nowych danych – silnik wykonuje te zapytanie asynchronicznie, zwykle używając XML, bez przerywania kontaktu użytkownika z aplikacją.
3.Charakterystyka aplikacji opartych o Ajax
Oto niektóre z charakterystycznych cech aplikacji opartych o Ajax:
- Nieprzerwana praca: Tradycyjne aplikacje sieciowe zmuszają użytkownika do wypełnienia formularza, poczekania kilku sekund, przeładownia strony i dopiero wtedy pozwalają na kontynuowanie pracy. Jeśli użytkownik się pomylił, musi zaczynać proces od nowa. Ajax pozwala na dużo wygodniejszą pracę - bez przeładowywania stron – użytkownik wykonuje działanie a aplikacja „odpowiada”
- Uaktualnienia w czasie rzeczywistym: Aplikacje oparte o Ajax pozwalają na zmianę konkretnych elementów strony bez przeładowywania jej całej – reszta elementów pozostaje niezmieniona
- Graficzna interakcja: Ajax pozwala na zbliżenie wyglądu i działania graficznego interfejsu użytkownika do tego znanego nam z systemów operacyjnych – zanikające elementy tekstowe ukazujące iż coś zostało zapisane, przenoszenie elementów metodą ‘drag-and-drop’, zmiana tekstu w pole edycji po najechaniu na nie kursorem
Oto lista pojęć które nie są charakterystyką Ajax:
- Własność: Ajax jest jednym z najbardziej rozpoznawanych pojęć w sieci (przynajmniej wśród developerów). Nie jest to jednak nazwa firmy ani nawet standardu. Jest to nazwa podejścia do projektowania łączącego różne, niezależne technologie
- Plugin: aplikacje Ajax nie wymagają specjalnego pluginu lub aplikacji komputerowej.
- Zależność od przeglądarki: Dopóki użytkownik nie korzysta z bardzo starej (sprzed roku 2002) lub nietypowej przeglądarki internetowej aplikacje oparte o Ajax powinny wyglądać i zachowywać się tak samo.
4.Przyczyny szybkiego rozwoju
Widoczny jest wyraźny trend wzrostowy wykorzystania tego podejścia przy projektowaniu. Nowe aplikacje sieciowe oparte o Ajax pojawiają się coraz częściej. Oto kilka przyczyn dlaczego tak się dzieje:
- Sieć jako platforma: sieć nie jest już tylko miejscem gdzie znajdują się strony WWW ze statycznymi informacjami. Powstała ogromna rzesza aplikacji które pozwalają na coraz większą interakcję
- Frustracja użytkowników: zasada ‘kliknij i czekaj’ nie jest wymarzoną formą komunikacji
- Rozwój Web 2.0: Ajax jest jednym ze sztandarowych podejść idei Web 2.0 będącej wizją nowoczesnej sieci
- Wielość punktów dostępu: Użytkownicy korzystają z wielu komputerów z dostępem do Internetu. Przechowywanie na nich danych powoduje ryzyko ich kradzieży. Przechowywanie danych on-line oraz dostęp do nich za pomocą bogatych w funkcje aplikacji jest naturalną koleją rzeczy
- Sieć jako jedyna platforma: wielu ludzi nie posiada komputera lecz często korzysta z sieci. Dla tej kategorii użytkowników instalowanie aplikacji na lokalnym komputerze nie ma sensu.
- Lepsza infrastruktura sieciowa: coraz lepsze łącza internetowe sprawiają że możemy wygodnie korzystać z aplikacji sieciowych wymagającej dużej przepustowości łącza.
- Niezależność od platformy: Wzrost zainteresowania użytkowników platformami innymi niż Microsoftu sprawia iż istnieje duże zapotrzebowanie na aplikacje niezależne podsystemu operacyjnego
5.Wykorzystanie Ajax
Jedną z najbardziej znanych firm wykorzystujących Ajax jest Google, które przeznacza ogromne nakłady finansowe na rozwijanie tego podejścia do projektowania aplikacji sieciowych.
Wszystkie główne produkty Gogle z ostatnich lat, takie jak Orkut (www.orkut.com), Gmail (gmail.com), najnowsze wersje beta Gogle Groups, Gogle Suggest oraz Gogle Maps (maps.google.com) są aplikacjami Ajax.
Inni nie pozostają w tyle. Duża ilość funkcji które ludzie uwielbiają w serwisie Flickr (flickr.com) oparta jest o Ajax. Również A9.com firmy Amazon wykorzystuje podobne techniki.
Powyższe projekty ukazują iż Ajax nie jest kolejną technologią która jest wykorzystywana tylko w wyspecjalizowanych laboratoriach, lecz wręcz przeciwnie – praktyczną, bardzo użyteczną technologią wykorzystywaną w wielu aplikacjach sieciowych. Aplikacje Ajax mogą być dowolnej wielkości – od pojedynczych funkcji typu Gogle Suggest aż do złożonych typu Gogle Maps.
Ajax ważnym krokiem w rozwoju aplikacji sieciowych a jego waga będzie jeszcze rosnąć. Ponieważ coraz większa rzesza developerów poznaje dobrodziejstwa tych połączonych technologii, w niedługim czasie można się spodziewać wysypu kolejnych aplikacji o nie opartych.
Przeniesione z kategorii - autor 80.55.63.210
Do zintegrowania i / lub wywalenie. A_Bach - ΣΦ 11:50, 14 lut 2006 (CET)
To nie był bot
[edytuj kod]link do ajaxin.pl umieściłem ja, nie rejestrowałem się wcześniej
- Wyjaśniłem — EMeczKa dyskusja 22:55, 2 lut 2007 (CET)
Zmiana strony domowej biblioteki Prototype
[edytuj kod]Nie wiem czemu została nadpisana moja zmiana adresu strony biblioteki Prototype.
Zajrzyjcie sobie na stary adres www.prototype.conio.net Prototype'a a zobaczycie, że przekierowuje on na www.prototypejs.org nową stronę.
Jeszcze raz zmieniam adres, może tym razem nikt nie zmieni.
Chciałbym dodać link do strony o AJAX'ie i JavaScript www.ajaxin.pl Strona jest rozwijana, jednak są już ciekawe artykuły 20:33, 9 lut 2007 (CET)Tanoo
XMLHttpRequest
[edytuj kod]W/g mnie nie jest konieczne użycie XMLHttpRequest , można użyć kilku innych technik asynchronicznego pobrania danych. Np. ukrytych iframów.
- Można, można nawet utworzyć obrazek, ale to już nie będzie AJAX. --Nux (dyskusja) 12:37, 3 lip 2010 (CEST)
- Nie istnieje oficjalna definicja co to jest AJAX, to nie jest żadna technologia, tylko potoczne rozumienie asynchronicznego ładowania danych z użyciem skryptów juz po samym wczytaniu strony WWW. Można np. użyć ActiveX, iframów, ostatnio nawet widziałem trik z wklejaniem png do canvas celem dekompresji js, można nazwać to ajaxem.
- ActiveX daje Ci w zasadzie ten sam obiekt. Irfame i pozostałe nie dają tych samych możliwości. Poza tym istnieje definicja. --Nux (dyskusja) 19:12, 30 sie 2010 (CEST)
- Nie istnieje oficjalna definicja co to jest AJAX, to nie jest żadna technologia, tylko potoczne rozumienie asynchronicznego ładowania danych z użyciem skryptów juz po samym wczytaniu strony WWW. Można np. użyć ActiveX, iframów, ostatnio nawet widziałem trik z wklejaniem png do canvas celem dekompresji js, można nazwać to ajaxem.
jQuery
[edytuj kod]Czy na pewno we frameworkach powinno być wymienione jQuery? Albo przynajmniej czy jego opis na pewno powinien opisywać je jako bibliotekę wspomagającą Ajaxy? Generalnie główną odpowiedzialnością jQuery jest wsparcie manipulacji DOMem, a $.ajax jest jedynie jego funkcjonalnością poboczną.