Blog webdeveloperski Patryk yarpo Jar

Require.js – AMD w praktyce

Autor wiadomości Grudzień 16, 2012

Już kilkukrotnie poruszałem temat tworzenia modułów (czasem nawet "klas") w JavaScripcie. Tym razem coś nowego - asynchroniczne definiowanie modułów. W skrócie AMD (ang. asynchronous module definition). Coraz więcej znanych frameworków i bibliotek wykorzystuje właśnie to podejście (choćby Dojo i jQuery).

W tym wpisie spróbuję pokazać dlaczego powstało takie rozwiązanie oraz przedstawić kilka prostych zastosowań.

Na początek warto:

  • mieć jakieś podstawy JavaScript
  • zarezerwować 5 minut

REST – ciekawszy sposób na komunikację client-server

Autor wiadomości Lipiec 29, 2012

REST (ang. Representational State Transfer) jest wzorcem narzucającym dobre praktyki tworzenia architektury aplikacji rozproszonych. RESTful Webservices (inaczej RESTful web API) jest usługą sieciową zaimplementowaną na bazie protokołu HTTP i głównych zasad wzorca REST. W tym wpisie postaram się pokazać (bardzo) podstawowe założenia.

Ważnym założeniem REST jest istnienie zasobów (ang. resources) jako źródeł danych a także żądana akcja. Ale może po kolei...

Zapomniane metody HTTP w Ajaksie

Komunikując się z serwerem najczęściej korzysta się z dwóch metod:

  • GET
  • POST

Co więcej, często wykorzystuje się je nieprzemyślany sposób (aby nie powiedzieć losowy). Nigdy nie wiadomo, czy żądanie doda, usunie, nadpisze czy tylko pobierze dane z serwera. A szkoda, bo przecież o ile ładniej jest patrzeć w konsole Firebuga i po samym rodzaju metody odczytywać jakiego rodzaju operacja została wywołana.

Tytułowe "zapomniane" metody to (jest ich więcej, ale nie są potrzebne dla tego wpisu):

  • PUT
  • DELETE

Parsowanie JSON

Autor wiadomości Grudzień 28, 2011

JSON (ang. JavaScript Object Notation) jest bardzo przyjemnym formatem wymiany danych. W tym wpisie postaram się pokazać kilka sposobów na parsowanie ciągu znaków zgodnego (lub zbliżonego) z JSON. Z zasadami tworzenia poprawnego JSON można zapoznać się na oficjalnej stronie.

Opisane sposoby:

  • funkcja `eval' (natywna funkcja JS - archaiczne rozwiązanie)
  • biblioteka json2 (obiekt `JSON') by Doug Crockford
  • biblioteka json_parse' (funkcja `json_parse')  by Doug Crockford
  • biblioteka json_sans_eval (funkcja jsonParse) by Mike Samuel
  • obiekt JSON = { stringify : function, parse : function } (natywny obiekt JS - nowsze przeglądarki)
  • parser JSON w jQuery
  • parser JSON w Dojo Toolkit

Książka: “Dojo. The Definitive Guide”

Autor wiadomości Grudzień 14, 2011

HTML5 i CSS3. Standardy przyszłościDojo. The Definitive Guide

Jeśli właśnie zadajesz sobie pytanie: "Czym u licha jest Dojo?" to wiedz, że sporo nie wiesz o nowoczesnych, bardzo przyjaznych użytkownikowi i programiście frameworkach (toolkitach) JavaScript.

Dojo Toolkit jest jednym z najlepszych frameworków Javascript dostarczanym razem z zestawem narzędzi, np. Shrinksafe (zmniejszanie rozmiaru kodu plików JS), buildscript (budowanie jednego pliku z kodem wielu modułów), checkstyle, itp.

Dojo Toolkit jest w pełni darmowy.

Dojo Toolkit wspiera wszystkie najpopularniejsze przeglądarki.

Dojo Toolkit jest nadal rozwijany i posiada dobre zaplecze społecznościowe.

Dojo Toolkit jest tematem książki, którą warto przeczytać.

Ajax w dojo toolkit

Autor wiadomości Czerwiec 20, 2011

Wcześniej pokazałem jak wykorzystywać Ajax w inny sposób - czy to z wykorzystaniem obiektu XMLHttpRequest, czy też biblioteki jQuery. W tym wpisie pokażę podstawy wykorzystywania mechanizmów dojo do obsługi asynchronicznych żądań HTTP.

Na początek

Tagged as: , , Czytaj dalej

Książka: “JavaScript. Programowanie obiektowe”

Autor wiadomości Czerwiec 15, 2011

Okładka JavaScript. Programowanie obiektowe

W świecie JavaScript rewolucja za rewolucją. Na szczęście wyłania się już ścisła elita autorów, których będzie można polecać z zamkniętymi oczami i nie bać się ich cytować, będąc pewnym, że głupot nie gadają.

Stoyan Stefanov - zapamiętać to nazwisko.

Połączenie Erica Meyera i Douga Crockforda. Zdecydowanie najlepsza książka o JavaScript (nie tylko obiektowym, ale całkowicie ujmująca temat) jaką przeczytałem. A proszę mi wierzyć - było ich kilka.

Stawiam ją na równi z "Mocnymi stronami JavaScript" (D. Crockford) jeśli chodzi o wiedzę, którą autor przekazał w książce. Jednocześnie uważam, że jest o poziom lub dwa łatwiejsza do przyswojenia. Przykłady są bardziej intyicyjne, całość sprawia wrażenie pełnej prezentacji, a nie jedynie szczątkowych notatek.

XML – format wymiany danych w Ajaksie

Autor wiadomości Czerwiec 5, 2011

XML jest bardzo czytelnym dla człowieka i prostym w nauce formatem. Nazwa pochodzi od „Extensible Markup Language” - rozszerzalny język znaczników. Służy do opisywania zawartości dokumentów elektronicznych. Jego olbrzymią zaletą jest fakt, że nawet osoba niemająca na co dzień styczności z programowaniem, powinna w miarę szybko zrozumieć informacje nim zawarte. Podstawowymi składnikami dokumentu XML są: elementy oraz atrybuty.

Walidacja danych w formularzach

Autor wiadomości Czerwiec 3, 2011

Prawie na każdej stronie internetowej występują formularze. Są bardzo ważnym i potrzebnym elementem strony - pozwalają na pobieranie danych od internauty. Formularze są wszędzie - system komentarzy, fora internetowe, webmaile, twitter itp. Zamierzam w  tym i kilku następnych wpisach pokazać jak można (bo to, że trzeba jest bezdyskusyjne) walidować dane pobierane przez formularze.

Po co walidować?

Praktycznie na każdej stronie dzisiaj wymagana jest pobieranie w jakiś sposób danych od użytkownika. Automatyzacja pobierania danych z wykorzystaniem formularzy dostępnych na stronie daje z jednej strony święty spokój administratorom serwisów, z drugiej jednak pozwalają na różnego rodzaju ataki. Dodatkowym powodem, dla którego warto walidować dane jest pomoc użytkownikowi - skoro podaje swój e-mail, to być może jednak chciałby, aby podesłać mu jakąś informację. Jeśli poda zły adres, [np. zapomni zapisać "@domena.pl"] mail nie dojdzie.

Zatem walidacja jest dobra dla wszystkich :).

JavaScript na poważnie

Autor wiadomości Czerwiec 3, 2011
GDE Error: Unable to load profile settings

pobierz pdf

Jest to fragment mojej pracy magisterskiej o tytule „Zastosowanie nowoczesnych frameworków  wspierających Ajax do budowy aplikacji internetowej TCT”. Pisanie tej pracy jest częściowo wpierane przez projekt NOR-STA (nor-sta.eu).

Byłbym wdzięczny za wszelkie uwagi.

NOR-STA (http://nor-sta.eu)

Tagged as: , , , , 8 Komentarze

[jQuery] Różne kodowanie strony i wyniku Ajax

Autor wiadomości Maj 23, 2011

W jednym z wcześniejszych wpisów opisałem, w jaki sposób naprawić problem z różnymi kodowaniami znaków na stronie wykorzystującej Ajax oraz zasób, do którego się odwołujemy na serwerze.

W tym artykule pokażę, jak to zrobić wykorzystując jQuery.

Na początek