Podstawowe pojęcia związane z tworzeniem aplikacji internetowych
Transkrypt
Podstawowe pojęcia związane z tworzeniem aplikacji internetowych
Podstawowe pojęcia związane z tworzeniem aplikacji internetowych Podstawowe pojęcia związane z tworzeniem aplikacji internetowych Framework w K ra ko wi e Podstawowe pojęcia związane z tworzeniem aplikacji internetowych AG H Podstawowe pojęcia związane z tworzeniem aplikacji internetowych at yk iw yd zia łu IE T Przedmiot: Programowanie w języku Ruby I Dostarcza szkieletu do tworzenia aplikacji lub jej wybranych części I Dostarcza zbioru ogólnych funkcjonalności I Gotowe komponenty do budowy aplikacji WWW I Ułatwia proces wdrożania nowego pracownika I Nie jest gotową aplikacją — jest zbiorem kodu i pewnych metod postępowania, dzięki którym można efektywnie budować aplikacje Typowe cechy: I Dr inż. Stanisław Polak I I Akademia Górniczo - Hutnicza w Krakowie, Katedra Informatyki I I fo rm http://www.icsr.agh.edu.pl/~polak/ I Typowe elementy: In I I en tó w I I ud I st I I a I dl Odwrócenie sterowania Domyślne zachowanie Rozszerzalność Zamknięta struktura wewnętrzna er ia ły I Mechanizm uruchamiania i przetwarzania akcji Mechanizm tworzenia logiki biznesowej aplikacji Zarządzanie konfiguracją Zarządzanie komunikacją z bazą danych Obsługa formularzy System szablonów Obsługa błędów Mechanizmy bezpieczeństwa, uwierzytelniania i kontroli dostępu Generatory kodu 1 Przedmiot: Programowanie w języku Ruby Dr inż. Stanisław Polak 2 Przedmiot: Programowanie w języku Ruby M at Dr inż. Stanisław Polak Podstawowe pojęcia związane z tworzeniem aplikacji internetowych Podstawowe pojęcia związane z tworzeniem aplikacji internetowych Wzorzec projektowy MVC Podstawowe pojęcia związane z tworzeniem aplikacji internetowych Podstawowe pojęcia związane z tworzeniem aplikacji internetowych Wzorzec „Active record” Środowisko WWW I I MVC (ang. Model-View-Controller) — Model-Widok-Kontroler Podstawowe komponenty aplikacji: I I I I I Klient żądanie HTTP odpowiedź HTTP 1 2 3 4 I I I Standaryzacja Niezależność Łatwość modyfikacji Szybkość product = Product . new product . name = " Komputer " product . price = 1 2 3 . 4 5 product . save ( ) 1 b = Product . find ( 1 ) Wyszukiwanie w bazie danych Dodanie nowego wiersza w tabeli Bazuje na klasycznym wzorcu MVC Zalety: I I I Model → logika biznesowa Widok→ logika prezentacji Kontroler → logika sterowania 1 1 Serwer Kontroler Widok INSERT INTO products ( name , price ) VALUES ( ’ Komputer ’ , 1 2 3 . 4 5 ) ; SQL-owy odpowiednik powyższego kodu SELECT ∗ FROM products WHERE ( products . id = 1 ) LIMIT 1 ; −− MySQL l u b PostgreSQL SQL-owy odpowiednik powyższego kodu Wada: Złożoność Kiedy stosować? Złożone aplikacje Potrzeba utrzymywania i dostosowywania do nowych potrzeb I Wyznaczenie obszarów kompetencji I Wielokrotna używalność Dr inż. Stanisław Polak I Model I 3 Przedmiot: Programowanie w języku Ruby Dr inż. Stanisław Polak 4 Przedmiot: Programowanie w języku Ruby Podstawowe pojęcia związane z tworzeniem aplikacji internetowych Podstawowe pojęcia związane z tworzeniem aplikacji internetowych CRUD Podstawowe pojęcia związane z tworzeniem aplikacji internetowych Podstawowe pojęcia związane z tworzeniem aplikacji internetowych System szablonów Działanie Create Read Update Delete 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 Instrukcja SQL INSERT SELECT UPDATE DELETE 1 2 3 4 5 6 7 8 9 10 11 12 require " erb " class Page attr_accessor : title attr_accessor : products def render path content = File . read ( File . expand_path ( path ) ) t = ERB . new ( content ) t . result ( binding ) end end szablon.html.erb 1 2 3 4 5 6 7 8 9 10 11 page = Page . new ( ) page . title=" Tytu ł strony " page . products = [ " Produk1 " , " Produkt2 " ] puts page . render ( " szablon . html . erb " ) skrypt.rb <html> <head> <title><%= @ t i t l e %></ title> </ head> <body> <ul> <% for p r o d u c t i n @ p r o d u c t s %> <li><%= p r o d u c t %></ li> <% end %> </ ul> </ body> </ html> <html> <head> <title>Tytu ł strony</ title> </ head> <body> <ul> <li>Produk1</ li> <li>Produkt2</ li> </ ul> </ body> </ html> Wynikowy dokument HTML Dr inż. Stanisław Polak 5 Podstawowe pojęcia związane z tworzeniem aplikacji internetowych Przedmiot: Programowanie w języku Ruby Podstawowe pojęcia związane z tworzeniem aplikacji internetowych REST I Dr inż. Stanisław Polak 6 Przedmiot: Programowanie w języku Ruby Podstawowe pojęcia związane z tworzeniem aplikacji internetowych Podstawowe pojęcia związane z tworzeniem aplikacji internetowych Test jednostkowy Representational State Transfer Zasób Kolekcja URI takich jak http:// przyklad.pl/ uzytkownik/ Elementy URI takie jak http:// przyklad.pl/ uzytkownik/ 13 GET Listuj URI i być może inne szczegóły członków kolekcji. Pobierz reprezentację podanego członka kolekcji, wyrażoną w określonym typie mediów internetowych. PUT Zastąp całą kolekcję inną kolekcją. Zastąp podanego członka kolekcji lub jeśli nie istnieje, utwórz go. POST Utwórz nowy wpis w kolekcji. Nowy URL jest automatycznie przydzielany wpisowi i zwykle jest zwracany przez operację. Traktuj podanego członka jako kolekcję samą w sobie i utwórz w niej nowy wpis. DELETE Usuń całą kolekcję. I I Usuń podanego członka kolekcji. Test jednostkowy — metoda testowania tworzonego oprogramowania poprzez wykonywanie testów weryfikujących poprawność działania pojedynczych elementów (jednostek) programu Kod testujący tworzymy przed napisaniem klasy $ ruby skrypt.rb ruby skrypt.rb Run options: --seed 51901 Przykład użycia w Ruby 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 require ’ minitest / autorun ’ ##################################### class Calc def add ( x , y ) return x + y end end ##################################### class TestCalc < Minitest : : Test def test_calc calc = Calc . new assert_equal ( 4 , calc . add ( 2 , 2 ) ) assert_equal ( 5 , calc . add ( 2 , 3 ) ) end end # Running: skrypt.rb . Finished in 0.002882s, 346.9969 runs/s, 693.9938 assertions/s. 1 runs, 2 assertions, 0 failures, 0 errors, 0 skips Dr inż. Stanisław Polak 7 Przedmiot: Programowanie w języku Ruby Dr inż. Stanisław Polak 8 Przedmiot: Programowanie w języku Ruby Źródła Podstawowe pojęcia związane z tworzeniem aplikacji internetowych Źródła I Wikipedia. Kurs PHP. http://pl.wikibooks.org/wiki/PHP. I Wikipedia. http://pl.wikipedia.org/. Dr inż. Stanisław Polak 9 Przedmiot: Programowanie w języku Ruby