Ext js

Post on 16-Nov-2014

1.623 views 1 download

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ę