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 jQuery i Prototype.
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ą
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.
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:
- http://ext3.evolic.site50.net/examples/nils/charts.html
- http://ext3.evolic.site50.net/examples/nils/time-axis-charts.html
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.
http://ext4.evolic.site50.net/games/xo/xo.html
http://ext4.evolic.site50.net/games/card/poker.html
http://ext4.evolic.site50.net/games/card/board.html
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:
Drzewo z listą przedmiotów gry Eve Online
Wykres prezentujące tranzakcje finansowe gracza
Wykorzystane technologie:
- XHTML, CSS;
- Javascript, JSON;
- ExtJS 4.x
- SQL, PostgreSQL, PL/PgSQL;