Programowanie aplikacji internetowych
  1. 2016-02-21 Zajęcia 1, 2 (PF, zajęcia 1, 2)
    • Materiały
      • Przedstawienie zarysu materiału realizowanego na zajęciach.
      • Określenie celu pracy na najbliższy czas (aplikacja do zakupów.
      • Praca z programem Pencil i przygotowanie propozycji układów ekranu dla aplikacji.
    • Dodatkowe zasoby
    • Co po tych zajęciach powinno się znać / wiedzieć / umieć
      • W czym różnią się HTML, JavaScript, CSS i PHP? Jakie są obszary zastosowań dla każdego z nich?
      • Co możemy zrobić a czego nie korzystając z HTML, JavaScript, CSS i PHP?
  2. 2016-02-27 Zajęcia 3, 4 (PF, zajęcia 3, 4)
  3. 2016-03-06 Zajęcia 5, 6 (MG, zajęcia 1, 2)
    • Materiały
    • Dodatkowe zasoby
      • brak
    • Co po tych zajęciach powinno się znać / wiedzieć / umieć
      • Znać pojęcia: modułu, dependency injection, filtr, dyryktywa wbudowana i własna, data binding, scope, expressions.
      • Znać wbudowane dyryktywy: ng-app, ng-controller, ng-repeat, ng-model, ng-show, ng-hide, ng-include, ng-submit.
      • Umieć napisać prosty modułu, dodać własny controler, stworzyć pole i funkcę.
      • Umieć napisać prosty formularz wraz z walidacją danych i obslugą po stronie controlera w pliku js.
  4. 2016-03-07 Zajęcia 7 (PF, zajęcia 5)
    • Materiały
    • Dodatkowe zasoby
    • Co po tych zajęciach powinno się znać / wiedzieć / umieć
      • jQuery: umieć napisać selektor.
      • jQuery: umieć wywołać akcję jako np. wynik kliknięcia na elemencie.
      • jQuery: umieć manipulować stylami, atrybutami przypisanymi do elementów.
  5. 2016-04-24 Zajęcia 8, 9, 10 (PF, zajęcia 6, 7, 8)
    • Materiały
    • Dodatkowe zasoby
      • REST - podejście pierwsze (działająca wersja). Prosta, uniwersalna, metoda wywoływania przez klienta akcji na serwerze. Zarówno akcja jak i argumenty zapisane pod określonymi parametrami (akcja jako action, argumenty jako arg_1, arg_2 itd.)
      • Wyrażenia regularne dla określonych ciągów znaków
      • REST - podejście drugie (działająca wersja). Prosta, uniwersalna, metoda wywoływania przez klienta akcji na serwerze. Zarówno akcja jak i argumenty zapisane w adresie URI przekazywanym jako parametr r (w przykładzie są tylko parametry).
      • REST - podejście drugie rozszerzone. Praca własna studentów: bazując na poprzednim przykładzie, stworzyć prostą aplikację pozwalającą na zapisanie czegoś w bazie danych, odczytanie, edycję i usunięcie. Informacje identyfikujące zasób oraz akcję powinny być zapisane w przekazywanym jako parametr r adresie URI. Ewentualne pozostałe argumenty powinny być przekazane jako parametry w ,,głównym'' adresie URI (tj. nie będącym przekazywanym jako parametr r).
      • Stosując konwencje 123/abc/456def gdzie
        
        123 - id zasobu
        abc - rodzaj zasobu, np. user, car
        456def - akcja
        					
        można w funkcji 3 dopisać prostą sekwencję swichy, które nam to rozwiążą
        					
        function function_3($args){
        	$response = array('function' => 'function_3',
        	                  'args' => 3,
        					  'arg_1' => $args[1],
        					  'arg_2' => $args[2],
        					  'arg_3' => $args[3]);
        					  
        	$id = $args[1];
        	$object = $args[2];
        	$action = $args[3];	
        	
        	switch($action){
        		case "get":{
        			switch ($object){
        				case "user":{
        					getUser($id);	
        				}
        				case "car":{
        					getCar($id);
        				}
        			}			
        		}
        		case "delete":{
        			switch ($object){
        				case "user":{
        					deleteUser($id);	
        				}
        				case "car":{
        					deleteCar($id);
        				}
        			}
        		}
        	}
        					  			  
        	header('Content-Type: application/json');
        	echo json_encode($response);
        }
        
      • REST - podejście drugie rozszerzone jeszcze bardziej. Praca własna studentów: jak poprzednio, ale informacje identyfikujące zasób są zapisane w przekazywanym jako parametr r adresie URI. Informacje identyfikujące rodzaj akcji przekazywane są jako rodzaj żądania (GET, POST itd). Ewentualne pozostałe argumenty powinny być przekazane jako parametry w ,,głównym'' adresie URI (tj. nie będącym przekazywanym jako parametr r).
      • Mając informacje o rodzaju żądania za pomocą metody
        
        $method = $_SERVER["REQUEST_METHOD"];
        
        bez problemu modyfikujemy tablicę routingu do postaci
        
        $routes = array(
        								array("regexp" => "/^user\/(\d+)$/", "method" => "GET", "action" => "getUser"),
        								array("regexp" => "/^car\/(\d+)$/", "method" => "GET", "action" => "getCar"),
        								array("regexp" => "/^user\/(\d+)$/", "method" => "DELETE", "action" => "deleteUser"),
        								array("regexp" => "/^car$\/(\d+)/", "method" => "DELETE", "action" => "deleteCar"),
        								);
        
        					
    • Co po tych zajęciach powinno się znać / wiedzieć / umieć
      • Umieć wyjaśnić czym jest i jak działa REST.
      • Umieć napisać wyrażene regularne, lub sprawdzić czy dany ciąg pasuje do określonego wyrażenia regularnego.
  6. 2016-05-08 Zajęcia 11, 12 (MG, zajęcia 3, 4)