Sencha ExtJS

Sencha Ext JS jest potężną platformą umożliwiającą projektowanie aplikacji internetowych, zapewniającą zgodność z popularnymi przeglądarkami internetowymi, zaawansowaną architekturę MVC, zintegrowane wykresy, i nowoczesne widżety.

Początkowo stworzona przez Jack-a Slocum jako rozszerzenie biblioteki YUI, Ext JS wspierało współpracę z jQueryPrototype.

Projekt pracy magisterskiej zwany Didactix

Moja przygoda z technologią ExtJS rozpoczęła się w roku 2007, podczas implementacji projektu mojej pracy dyplomowej zwanego roboczo Didactix. Potrzebowałem wówczas widżetu oferującą funkcjonalność drzewa, którego elementy można by zaznaczać, wybierając je do dalszego przetwarzania.

Funkcjonalność taką oferowało właśnie ExtJS 1.1.1, które użyłem następująco:

Wykorzystane technologie:

  • ExtJS 1.x

CMS dla portalu Ciążowy.pl

Niedługo później, bo na początku roku 2008 rozpocząłem pracę nad systemem zarządzania treścią (and. CMS - Content Management System), dla portalu Ciążowy.pl, który zaimplementowałem w frameworka ZNF. W roku 2009 frontend portalu został przepisany w Zend Framework 1.
Kilka przykładowych zrzutów ekranu z wspomnianego CMSa można znaleźć na stronie poświęconej portalowi Ciążowy.pl.
Użyto w nim technologii ExtJS 2.x i wielu rozszerzeń napisanych przez społeczność skupiającą się wokół tej technologii (ux). Wymianę danych pomiędzy klientem (przeglądarką internetową), a serwerem zapewniono poprzez specjalnie przygotowany format dokumentu XML i techologii Ajax.

Więcej informacji oraz zrzutów ekranu z panelu administracyjnego można znaleźć na stronie aplikacji typu portal.

Portal Ciążowy.pl - dedykowany system zarządzania treścią
Portal Ciążowy.pl - dedykowany system zarządzania treścią

Wykorzystane technologie:

  • JavaScript,
  • ExtJS 2.x

Wykresy ExtJS/YUI edytowane przez przeciągnij i upuść

W 2009 roku pracowałem nad funkcjoalnością zapewniającą edycję wykresów liniowych, za pomocą technologii przeciągnij i upuść (ang. drag&drop).

Celem projektu było umożliwienie przeciągania punktów wykresu właśnie poprzez przesuwanie punktu na wykresie liniowym.

Pierwsza implementacja była napisana tylko w języku JavaScript i bazowała na zdarzeniach ExtJS. Druga - na którą nalegał klient z Norwegii - została zaimplementowana w języku ActionScript3, w którym programiści firmy Yahoo napisali wykresy zaimportowane do ExtJS 3.x, dostępne we frameworku YUI, a który rozszerzył Jack Slocum tworząc ExtJS.

Draggable ExtJS's charts
Wykresy ExtJS 3.x/YUI 2.x - implementacja drag&drop w ActionScript3.

Projekt zakończył się sukcesem, co można zobaczyć na zrzucie ekranu powyżej i przetestować na stronach:

Wykorzystane technologie:

  • JavaScript,
  • ExtJS 3.x,
  • YUI 2.x,
  • ActionScritpt 3.

Loculus Games - projekt typu R&D

W roku 2012 pracowałem nad projektem typu research & development nazwanym roboczo Loculus Games.

Celem projektu było stworzenie implementacji gier:

Projekt został zawieszony i nie ukończony, jednakże poniżej można zobaczyć jego efekty. Rezultatem projektu jest nieduża biblioteka oferująca "klocki" do budowy gier typu Arcade. Biblioteka jest prosta w obsłudze i możliwa do rozbudowy w technologii ExtJS.

Gra Kółko i krzyżyk
http://ext4.evolic.site50.net/games/xo/xo.html

Gra karciana Texas Hold'em Poker
http://ext4.evolic.site50.net/games/card/poker.html

Gra karciana Tysiąc
http://ext4.evolic.site50.net/games/card/board.html

Interfejs gry Tetris
Interfejs gry Tetris

Interfejs gry Okręty
Interfejs gry Okręty

Interfejs gry W kości
Interfejs gry W kości

Interfejs gry Warcaby
Interfejs gry Warcaby

Wykorzystane technologie:

  • XHTML, CSS;
  • Javascript,
  • ExtJS 4.x

Menedżer postaci gry Eve Online

Miałem okazję pracować także nad innym projektem, w którym ExtJS pokazuje swoje możliwości - niedużej aplikacji (nieukończonej) związanej z grą online Eve Online i zarządzanie konta gracza. Deweloperzy gry opracowali specjalne API, w postaci webservice-ów, które każdy z graczy może wykorzystać jeśli tylko będzie tego chciał - za pomocą formatu XML.
Możliwości API można sprawdzić na poniższej stronie:
http://wiki.eveonline.com/en/wiki/Category:API

Poniżej kilka zrzutów ekranu z aplikacji korzystającej z ExtJS 4.x i danych Eve:

Lista umiejętności postaci
Lista umiejętności postaci

Drzewo z listą przedmiotów gry Eve Online
Drzewo z listą przedmiotów gry Eve Online

Wykres prezentujące tranzakcje finansowe gracza
Wykres prezentujące tranzakcje finansowe gracza

Wykorzystane technologie:

  • XHTML, CSS;
  • Javascript, JSON;
  • ExtJS 4.x
  • SQL, PostgreSQL, PL/PgSQL;
Free Web Hosting