Ext js
-
Upload
danon123danon -
Category
Technology
-
view
1.623 -
download
1
description
Transcript of Ext js
TECHNOLOGIE BUDOWY
KOMPONENTOWYCH APLIKACJI
INTERNETOWYCH (NP. EXTJS),
CHARAKTERYSTYKI
I PRZYKŁADY ZASTOSOWAŃ
Kamil Kwiek, Koczanowski Dawid
Co w planach ?
Czym jest komponent ? Komponent i aplikacje internetowe extJS Podsumowanie
‘ Nastawienie się na obiektowość poniosło porażkę, lecz oprogramowanie komponentowe odnosi sukcesy ’
Udell J.
Czym jest komponent ?
Komponent - definicja:
Podstawowa jednostka oprogramowania Posiada jasno zdefiniowany interfejs Posiada podane wprost zależności
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
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
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
Odwrócone rozwiązywanie zależności
Odwrócone sterowanie
Komunikacja poprzez interfejsy Przeniesienie odpowiedzialności za
rozwiązania zależności na KONTENER Automatyczne spełnianie zależności
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 ().
Kontenery IoC - charakterystyka
Sterowanie tworzeniem obiektów Rozwiązywanie zależności Zarządzanie cyklem życia komponentu Obsługa zależności cyklicznych
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
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
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
Komponent i aplikacje internetowe
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
Model-View-Controller
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.
Warstwa biznesowa ?
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.
Jak to działa ?
extJS
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.
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)
Wady
duży rozmiar samych bibliotek ociężałość interfejsu trochę „zamotany” kod
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.
Możliwości
Możliwości
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.
Nie tylko extJS
MooTools Dojo Prototype Jquery SoQ – Simple of Queries
Podsumowanie
Dziękuejmy za uwagę