Ext js

32
TECHNOLOGIE BUDOWY KOMPONENTOWYCH APLIKACJI INTERNETOWYCH (NP. EXTJS), CHARAKTERYSTYKI I PRZYKŁADY ZASTOSOWAŃ Kamil Kwiek, Koczanowski Dawid

description

 

Transcript of Ext js

Page 1: Ext js

TECHNOLOGIE BUDOWY

KOMPONENTOWYCH APLIKACJI

INTERNETOWYCH (NP. EXTJS),

CHARAKTERYSTYKI

I PRZYKŁADY ZASTOSOWAŃ

Kamil Kwiek, Koczanowski Dawid

Page 2: Ext js

Co w planach ?

Czym jest komponent ? Komponent i aplikacje internetowe extJS Podsumowanie

Page 3: Ext js

‘ Nastawienie się na obiektowość poniosło porażkę, lecz oprogramowanie komponentowe odnosi sukcesy ’

Udell J.

Czym jest komponent ?

Page 4: Ext js

Komponent - definicja:

Podstawowa jednostka oprogramowania Posiada jasno zdefiniowany interfejs Posiada podane wprost zależności

Page 5: Ext js

Kryteria komponentów

Może być użyty przez inne elemty programu

Nie wymaga ingerencji w kod Dokładna specyfikacja Dokładny opis oferowanych funkcji Używany wyłącznie wg specyfikacji Możliowść łączenia z innymi

komponentami Integralność w systemie

Page 6: Ext js

Obiekty vs Komponenty

Polimorfizm Późne wiązanie

wywołań Częściowa

hermetyzacja Dziedziczenie klas

Konfiguracja wdrożenia

Późne wiązanie wywołań

Pełna hermetyzacja Dziedziczenie

interfejsów Powtórne użycie na

poziomie binaryzacji

Obiektowe Komponentowe

Page 7: Ext js

Własności komponentu

Komponenty nie sprawują nad sobą kontroli

Kontener zarządza komponentami: Odpowiada za proces tworzenia, Zależności pomiędzy komponentami Zarządza cyklem zycia komponentów

Page 8: Ext js

Odwrócone rozwiązywanie zależności

Page 9: Ext js

Odwrócone sterowanie

Komunikacja poprzez interfejsy Przeniesienie odpowiedzialności za

rozwiązania zależności na KONTENER Automatyczne spełnianie zależności

Page 10: Ext js

Zależności – metody rozwiązania wstrzykiwanie przez interfejs, polegające na

aktywnym wyszukaniu przez komponent wymaganych zależności,

wstrzykiwanie przez konstruktor, w którym wszystkie zależności komponentu muszą zostać spełnione w momencie jego tworzenia, a ich rozwiązaniem i spełnieniem zajmuje się kontener,

wstrzykiwanie przez właściwości obiektu, czyli przekazanie przez kontener referencji do zależnego komponentu przez metody typu setXXX ().

Page 11: Ext js

Kontenery IoC - charakterystyka

Sterowanie tworzeniem obiektów Rozwiązywanie zależności Zarządzanie cyklem życia komponentu Obsługa zależności cyklicznych

Page 12: Ext js

Przykład technologii

projekt nieczynny od 2002 r, obecnie podzielony na mniejsze projekty (m.in. Excalibur, Fortress, Loom)

wstrzykiwanie zależności przez interfejs zarządzanie cyklem życia komponentu

przez interfejsy konfiguracja programowa i zewnętrzna

(XML)

AVALON

Page 13: Ext js

Przykład technologii

minimalny rozmiar (< 50 kb) wstrzykiwanie zaleŜności przez konstruktor i

właściwoś proste komponenty (POJO) programowa konfiguracja tworzenie singletonów i prototypów obsługa cykli Ŝycia komponentów przez interfejsy brak rozgraniczenia pomiędzy interfejsem i klasą

PicoContainer

Page 14: Ext js

Przykład technologii

kontener IoC z typowymi możliwościami gotowe komponenty współdziałanie z popularnymi

technologiami (Java Servlets, Hibernate, EJB) "łatwiejsza i lepsza" wersja J2EE programowanie aspektowe (Spring AOP)

SPRING

Page 15: Ext js

Komponent i aplikacje internetowe

Page 16: Ext js

Komponent i aplikacje www – dlaczego warto ?

powtórne wykorzystanie komponentów w nowym przedsięwzięciu projektowym

redukcja czasu wdrożenia nowego projektu

minimalizacja kosztów konserwacji oprogramowania

Page 17: Ext js

Model-View-Controller

Page 18: Ext js

MVC

Taka architektura sprzyja komponentowości – zapewnia

rozdział pomiędzy logiką i prezentacją, które można

zamknąć w konkretnych pakietach-komponentach.

Oznacza to, że warstwy biznesowa i danych będą

faktycznie znajdowały się tylko w komponentach – to

one przejmują na siebie ciężar logiki biznesowej.

Mechanizmy zarządzające tymi komponentami oraz

wizualizacja ich funkcjonalności znajdują się w warstwie

prezentacji i pełni ona funkcję kontrolera do warstw

niższych.

Page 19: Ext js

Warstwa biznesowa ?

Page 20: Ext js

Warstwa prezentacji ?

Kontroler, który odbierając i interpretując żądania

HTTP, wybiera widoki z warstwy prezentacji do

wyświetlenia w przeglądarce klienta. Wybór jest

kontekstowy – na podstawie odebranych

parametrów, stanu sesji, etc. Takie podejście jest

implementacją wzorca MVC gdzie modelem są

warstwy biznesowa i danych, a warstwa

prezentacji odpowiada za budowanie widoków.

Page 21: Ext js

Jak to działa ?

Page 22: Ext js

extJS

Page 23: Ext js

Czym jest extJS ?

EXT JS jest to biblioteka JavaScript (chociaż może należałoby powiedzieć raczej framework), która pozwala na szybkie pisanie rozbudowanych interface AJAX opartych o JavaScript.

Page 24: Ext js

Zalety

naprawdę duże możliwości mała ilość kodu potrzebna do oprogramowania współpraca z wieloma innymi bibliotekami (np. JQuery) prawie idealna zgodność pomiędzy różnymi

przeglądarkami dość dobra dokumentacja API dużo dodatkowych pluginów rozszerzających

funkcjonalność duże forum i społeczność programistów dostępny Designer do budowania aplikacji w sposób

wizualny (płatny)

Page 25: Ext js

Wady

duży rozmiar samych bibliotek ociężałość interfejsu trochę „zamotany” kod

Page 26: Ext js

Czym się zajmuje ext JS ?

Ext JS zajmuje się wyłącznie wizualizacją danych, podczas gdy właściwe działania realizowane są w tle, po stronie serwera. Ext JS potrafi na bieżąco komunikować się z serwerem, bez przeładowywania całej strony, wykorzystując do tego celu wbudowaną implementację XML oraz AJAX-a. Jest też niezależny od platformy systemowej dostępnej na serwerze i od wykorzystywanego języka programowania.

Page 27: Ext js

Możliwości

Page 28: Ext js

Możliwości

Page 29: Ext js

Skąd wziąć ?

Aby rozpocząć pracę z Ext JS, wystarczy wejść na stronę http://www.extjs.com i pobrać aktualną wersję frameworka w wersji SDK.

Page 30: Ext js

Nie tylko extJS

MooTools Dojo Prototype Jquery SoQ – Simple of Queries

Page 31: Ext js

Podsumowanie

Page 32: Ext js

Dziękuejmy za uwagę