TECHNOLOGIE BUDOWY KOMPONENTOWYCH APLIKACJI INTERNETOWYCH (NP. EXTJS), CHARAKTERYSTYKI I PRZYKŁADY ZASTOSOWAŃ Kamil Kwiek,...
Co w planach  ? <ul><li>Czym jest komponent ? </li></ul><ul><li>Komponent i aplikacje internetowe </li></ul><ul><li>extJS ...
<ul><li>‘  Nastawienie się na obiektowość poniosło porażkę, lecz oprogramowanie komponentowe odnosi sukcesy ’ </li></ul><u...
Komponent - definicja: <ul><ul><li>Podstawowa jednostka oprogramowania </li></ul></ul><ul><ul><li>Posiada jasno zdefiniowa...
Kryteria komponentów <ul><li>Może być użyty przez inne elemty programu </li></ul><ul><li>Nie wymaga ingerencji w kod </li>...
Obiekty vs Komponenty <ul><li>Poli mo r fi zm </li></ul><ul><li>Późne wiązanie wywołań </li></ul><ul><li>Częściowa hermety...
Własności komponentu  <ul><li>Komponenty nie sprawują nad sobą kontroli </li></ul><ul><li>Kontener zarządza komponentami: ...
Odwrócone rozwiązywanie zależności
Odwrócone sterowanie <ul><li>Komunikacja poprzez interfejsy </li></ul><ul><li>Przeniesienie odpowiedzialności za rozwiązan...
Zależności – metody rozwiązania <ul><li>wstrzykiwanie przez interfejs , polegające na aktywnym wyszukaniu przez komponent ...
Kontenery IoC - charakterystyka <ul><li>Sterowanie tworzeniem obiektów </li></ul><ul><li>Rozwiązywanie zależności </li></u...
Przykład technologii <ul><li>projekt nieczynny od 2002 r, obecnie podzielony na mniejsze projekty (m.in. Excalibur, Fortre...
Przykład technologii <ul><li>minimalny rozmiar (< 50 kb) </li></ul><ul><li>wstrzykiwanie zaleŜności przez konstruktor i wł...
Przykład technologii <ul><li>kontener IoC z typowymi możliwościami </li></ul><ul><li>gotowe komponenty </li></ul><ul><li>w...
Komponent i aplikacje internetowe
Komponent i aplikacje www – dlaczego warto ?  <ul><li>powtórne wykorzystanie komponentów w nowym przedsięwzięciu projektow...
Model-View-Controller
MVC <ul><li>Taka architektura sprzyja komponentowości – zapewnia rozdział pomiędzy logiką i prezentacją, które można zamkn...
Warstwa biznesowa ?
Warstwa prezentacji ? <ul><li>Kontroler, który odbierając i interpretując żądania HTTP, wybiera widoki z warstwy prezentac...
Jak to działa ?
extJS
Czym jest extJS ? <ul><li>EXT JS jest to biblioteka JavaScript (chociaż może należałoby powiedzieć raczej framework), któr...
Zalety <ul><li>naprawdę duże możliwości  </li></ul><ul><li>mała ilość kodu potrzebna do oprogramowania   </li></ul><ul><li...
Wady <ul><li>duży rozmiar samych bibliotek   </li></ul><ul><li>ociężałość interfejsu   </li></ul><ul><li>trochę  „ zamotan...
Czym się zajmuje ext JS ? <ul><li>Ext JS zajmuje się wyłącznie wizualizacją danych, podczas gdy właściwe działania realizo...
Możliwości
Możliwości
Skąd wziąć ? <ul><li>Aby rozpocząć pracę z   Ext JS , wystarczy wejść na stronę http://www.extjs.com i pobrać aktualną wer...
Nie tylko extJS <ul><li>MooTools </li></ul><ul><li>Dojo </li></ul><ul><li>Prototype </li></ul><ul><li>Jquery </li></ul><ul...
Podsumowanie
Dziękuejmy za uwagę
Upcoming SlideShare
Loading in …5
×

Ext js

1,361 views
1,302 views

Published on

Published in: Technology, Education
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
1,361
On SlideShare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
6
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Ext js

  1. 1. TECHNOLOGIE BUDOWY KOMPONENTOWYCH APLIKACJI INTERNETOWYCH (NP. EXTJS), CHARAKTERYSTYKI I PRZYKŁADY ZASTOSOWAŃ Kamil Kwiek, Koczanowski Dawid
  2. 2. Co w planach ? <ul><li>Czym jest komponent ? </li></ul><ul><li>Komponent i aplikacje internetowe </li></ul><ul><li>extJS </li></ul><ul><li>Podsumowanie </li></ul>
  3. 3. <ul><li>‘ Nastawienie się na obiektowość poniosło porażkę, lecz oprogramowanie komponentowe odnosi sukcesy ’ </li></ul><ul><li> Udell J. </li></ul>Czym jest komponent ?
  4. 4. Komponent - definicja: <ul><ul><li>Podstawowa jednostka oprogramowania </li></ul></ul><ul><ul><li>Posiada jasno zdefiniowany interfejs </li></ul></ul><ul><ul><li>Posiada podane wprost zależności </li></ul></ul>
  5. 5. Kryteria komponentów <ul><li>Może być użyty przez inne elemty programu </li></ul><ul><li>Nie wymaga ingerencji w kod </li></ul><ul><li>Dokładna specyfikacja </li></ul><ul><li>Dokładny opis oferowanych funkcji </li></ul><ul><li>Używany wyłącznie wg specyfikacji </li></ul><ul><li>Możliowść łączenia z innymi komponentami </li></ul><ul><li>Integralność w systemie </li></ul>
  6. 6. Obiekty vs Komponenty <ul><li>Poli mo r fi zm </li></ul><ul><li>Późne wiązanie wywołań </li></ul><ul><li>Częściowa hermetyzacja </li></ul><ul><li>Dziedziczenie klas </li></ul><ul><li>Konfiguracja wdrożenia </li></ul><ul><li>Późne wiązanie wywołań </li></ul><ul><li>Pełna hermetyzacja </li></ul><ul><li>Dziedziczenie interfejsów </li></ul><ul><li>Powtórne użycie na poziomie binaryzacji </li></ul><ul><li>Obiektowe </li></ul><ul><li>Komponentowe </li></ul>
  7. 7. Własności komponentu <ul><li>Komponenty nie sprawują nad sobą kontroli </li></ul><ul><li>Kontener zarządza komponentami: </li></ul><ul><ul><li>Odpowiada za proces tworzenia, </li></ul></ul><ul><ul><li>Zależności pomiędzy komponentami </li></ul></ul><ul><ul><li>Zarządza cyklem zycia komponentów </li></ul></ul>
  8. 8. Odwrócone rozwiązywanie zależności
  9. 9. Odwrócone sterowanie <ul><li>Komunikacja poprzez interfejsy </li></ul><ul><li>Przeniesienie odpowiedzialności za rozwiązania zależności na KONTENER </li></ul><ul><li>Automatyczne spełnianie zależności </li></ul>
  10. 10. Zależności – metody rozwiązania <ul><li>wstrzykiwanie przez interfejs , polegające na aktywnym wyszukaniu przez komponent wymaganych zależności, </li></ul><ul><li>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, </li></ul><ul><li>wstrzykiwanie przez właściwości obiektu , czyli przekazanie przez kontener referencji do zależnego komponentu przez metody typu  setXXX   (). </li></ul>
  11. 11. Kontenery IoC - charakterystyka <ul><li>Sterowanie tworzeniem obiektów </li></ul><ul><li>Rozwiązywanie zależności </li></ul><ul><li>Zarządzanie cyklem życia komponentu </li></ul><ul><li>Obsługa zależności cyklicznych </li></ul>
  12. 12. Przykład technologii <ul><li>projekt nieczynny od 2002 r, obecnie podzielony na mniejsze projekty (m.in. Excalibur, Fortress, Loom) </li></ul><ul><li>wstrzykiwanie zależności przez interfejs </li></ul><ul><li>zarządzanie cyklem życia komponentu przez interfejsy </li></ul><ul><li>konfiguracja programowa i zewnętrzna (XML) </li></ul><ul><li>AVALON </li></ul>
  13. 13. Przykład technologii <ul><li>minimalny rozmiar (< 50 kb) </li></ul><ul><li>wstrzykiwanie zaleŜności przez konstruktor i właściwoś </li></ul><ul><li>proste komponenty (POJO) </li></ul><ul><li>programowa konfiguracja </li></ul><ul><li>tworzenie singletonów i prototypów </li></ul><ul><li>obsługa cykli Ŝycia komponentów przez interfejsy </li></ul><ul><li>brak rozgraniczenia pomiędzy interfejsem i klasą </li></ul><ul><li>PicoContainer </li></ul>
  14. 14. Przykład technologii <ul><li>kontener IoC z typowymi możliwościami </li></ul><ul><li>gotowe komponenty </li></ul><ul><li>współdziałanie z popularnymi technologiami (Java </li></ul><ul><li>Servlets, Hibernate, EJB) </li></ul><ul><li>&quot;łatwiejsza i lepsza&quot; wersja J2EE </li></ul><ul><li>programowanie aspektowe (Spring AOP) </li></ul><ul><li>SPRING </li></ul>
  15. 15. Komponent i aplikacje internetowe
  16. 16. Komponent i aplikacje www – dlaczego warto ? <ul><li>powtórne wykorzystanie komponentów w nowym przedsięwzięciu projektowym </li></ul><ul><li>redukcja czasu wdrożenia nowego projektu </li></ul><ul><li>minimalizacja kosztów konserwacji oprogramowania </li></ul>
  17. 17. Model-View-Controller
  18. 18. MVC <ul><li>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. </li></ul>
  19. 19. Warstwa biznesowa ?
  20. 20. Warstwa prezentacji ? <ul><li>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. </li></ul>
  21. 21. Jak to działa ?
  22. 22. extJS
  23. 23. Czym jest extJS ? <ul><li>EXT JS jest to biblioteka JavaScript (chociaż może należałoby powiedzieć raczej framework), która pozwala na szybkie pisanie rozbudowanych interface AJAX opa r tych o JavaScript. </li></ul>
  24. 24. Zalety <ul><li>naprawdę duże możliwości </li></ul><ul><li>mała ilość kodu potrzebna do oprogramowania </li></ul><ul><li>w spółpraca z wieloma innymi bibliotekami (np. JQuery) </li></ul><ul><li>prawie idealna zgodność pomiędzy różnymi przeglądarkami </li></ul><ul><li>dość dobra dokumentacja API </li></ul><ul><li>dużo dodatkowych pluginów rozszerzających funkcjonalność </li></ul><ul><li>duże forum i społeczność programistów </li></ul><ul><li>dostępny Designer do budowania aplikacji w sposób wizualny (płatny) </li></ul>
  25. 25. Wady <ul><li>duży rozmiar samych bibliotek </li></ul><ul><li>ociężałość interfejsu </li></ul><ul><li>trochę „ zamotany ” kod </li></ul>
  26. 26. Czym się zajmuje ext JS ? <ul><li>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. </li></ul>
  27. 27. Możliwości
  28. 28. Możliwości
  29. 29. Skąd wziąć ? <ul><li>Aby rozpocząć pracę z   Ext JS , wystarczy wejść na stronę http://www.extjs.com i pobrać aktualną wersję frameworka w wersji SDK. </li></ul>
  30. 30. Nie tylko extJS <ul><li>MooTools </li></ul><ul><li>Dojo </li></ul><ul><li>Prototype </li></ul><ul><li>Jquery </li></ul><ul><li>SoQ – Simple of Queries </li></ul>
  31. 31. Podsumowanie
  32. 32. Dziękuejmy za uwagę

×