WYKŁAD 1 ANGULARJS CZĘŚĆ 1

Podobne dokumenty
O sobie. Adam Kowalski. Absolwent informatyki Uniwersytetu Wrocławskiego Full-stack Developer w firmie Synergy Codes.

ANGULARJS TWORZENIE APLIKACJI INTERNETOWYCH

W czystym JavaScripcie zasięgi zmiennych tworzone były poprzez funkcje anonimowe, w AngularJS posiadamy kontrolery, które także są funkcjami.

PLAN WYNIKOWY PROGRAMOWANIE APLIKACJI INTERNETOWYCH. KL III TI 4 godziny tygodniowo (4x30 tygodni =120 godzin ),

Aplikacje SPA, Angular, TypeScript. dr hab. inż. Marek Wojciechowski

ANGULAR 2+ Waldemar Korłub. Aplikacje i Usługi Internetowe KASK ETI Politechnika Gdańska

Angular, cz. II. Tworzenie serwisów Web 2.0. dr inż. Robert Perliński

Tytuł szkolenia: Angular 4 - budowanie nowoczesnych i wydajnych aplikacji przeglądarkowych

Przygotowanie do nowoczesnego programowania po stronie przeglądarki. (HTML5, CSS3, JS, wzorce, architektura, narzędzia)

Budowa aplikacji ASP.NET z wykorzystaniem wzorca MVC

ANGULAR 2+ Waldemar Korłub. Aplikacje i Usługi Internetowe KASK ETI Politechnika Gdańska

Tworzenie stron internetowych z wykorzystaniem HTM5, JavaScript, CSS3 i jquery. Łukasz Bartczuk

Zajęcia 4 - Wprowadzenie do Javascript

Full Stack JavaScript z Angular i Nest. Dni: 5. Opis: Adresaci szkolenia

Kompleksowe tworzenie aplikacji klasy Desktop z wykorzystaniem SWT i

Efektywne tworzenie aplikacji webowych z wykorzystaniem AngularJS, HTML5 i JavaScript

Temat: Ułatwienia wynikające z zastosowania Frameworku CakePHP podczas budowania stron internetowych

Funkcje i instrukcje języka JavaScript

REFERAT O PRACY DYPLOMOWEJ

REACT NATIVE. Anna Maziejuk Kamil Jankowski

Wybrane działy Informatyki Stosowanej

ASP.NET MVC. Grzegorz Caban 20 stycznia 2009

HTML, CSS i JavaScript / Laura Lemay, Rafe Colburn, Jennifer Kyrnin. Gliwice, cop Spis treści

dlibra 3.0 Marcin Heliński

Produktywne tworzenie aplikacji webowych z wykorzystaniem Groovy i

PROJEKTOWANIE APLIKACJI INTERNETOWYCH

Ruby on Rails. Supersilnik WWW. Łukasz Włodarczyk

Ajax. 1. Wprowadzenie. 2. Aplikacja serwerowa

Front-end: solidne podstawy. Wszystko, co warto wiedzieć o HTML, CSS, JavaScript i Bootstrap.

PROGRAM NAUCZANIA DLA ZAWODU TECHNIK INFORMATYK, O STRUKTURZE PRZEDMIOTOWEJ

Web frameworks do budowy aplikacji zgodnych z J2EE

Zrąb JavascriptMVC. Krzysztof Płocharz. 6 kwiecień Uniwersytet Warszawski

Szkolenie wycofane z oferty

Aplikacje SPA, Angular, TypeScript. dr hab. inż. Marek Wojciechowski

Referat z przedmiotu Technologie Internetowe SPIS TREŚCI

Rys.2.1. Drzewo modelu DOM [1]

PLAN WYNIKOWY PROGRAMOWANIE APLIKACJI INTERNETOWYCH. KL IV TI 6 godziny tygodniowo (6x15 tygodni =90 godzin ),

Program szkolenia: JavaScript Craftsmanship

Dokumentacja techniczna. Młodzieżowe Pośrednictwo Pracy

Framework Angular4. Alicja Frankowicz Weronika Węglińska

Zaawansowane aplikacje internetowe

app/ - folder zawiera pliki konfiguracyjne dla całej aplikacji src/ - folder zawiera cały kod PHP aplikacji

Poznaj ASP.NET MVC. Kamil Cieślak Microsoft Student Partner

Aplikacje Internetowe

Szczegółowy opis zamówienia:

Szybko, prosto i tanio - ale czy na pewno?

OpenLaszlo. OpenLaszlo

Użycie filtrów w widoku

WYKŁAD 1 TECHNOLOGIE FRONT-END CZĘŚĆ 1

SZKOLENIE TWORZENIE SYSTEMÓW

Angular 1.x, pomoc do lab.

Tworzenie aplikacji Web Alicja Zwiewka. Page 1

Podstawy JavaScript ćwiczenia

WYMAGANIA EDUKACYJNE. Witryny i Aplikacje Internetowe klasa I

KARTA PRZEDMIOTU. Warsztaty z Ruby on Rails. Ruby on Rails Workshop

Specyfikacja implementacyjna aplikacji serwerowej

Omówienie wzorców wykorzystywanych w Prism 5.0. Dominika Różycka

Plan. Aplikacja. Architektura aplikacji. Architektura aplikacji Tworzenie aplikacji Application Builder podstawy

Wstęp Budowa Serwlety JSP Podsumowanie. Tomcat. Kotwasiński. 1 grudnia 2008

Web frameworks do budowy aplikacji zgodnych z J2EE. Jacek Panachida

Tworzenie stron internetowych z wykorzystaniem HTM5, JavaScript, CSS3 i jquery. Łukasz Bartczuk

Krótka Historia. Co to jest NetBeans? Historia. NetBeans Platform NetBeans IDE NetBeans Mobility Pack Zintegrowane moduły. Paczki do NetBeans.

Forum Client - Spring in Swing

Java Server Faces narzędzie do implementacji w wy prezentacji

Widoki zagnieżdżone, layout. 1. Wprowadzenie Repozytoria danych

MVC w praktyce tworzymy system artykułów. cz. 2

XML extensible Markup Language. część 5

Pliki zorganizowano w strukturze drzewiastej odzwierciedlając strukturę logiczną aplikacji:

Laboratorium 1 Wprowadzenie do PHP

HTML5 Nowe znaczniki header nav article section aside footer

plansoft.org Zmiany w Plansoft.org

app/ - folder zawiera pliki konfiguracyjne dla całej aplikacji Można wybrać sposób zapisu konfiguracji: YML, XML, PHP

Tomasz Grześ. Systemy zarządzania treścią, cz. II

rk HTML 4 a 5 różnice

Angular, cz. II. Tworzenie serwisów Web 2.0. dr inż. Robert Perliński

Quiz Aplikacja internetowa

E-commerce. Genialnie proste tworzenie serwisów w PHP i MySQL.

Generated by Foxit PDF Creator Foxit Software For evaluation only. System Szablonów

Szkolenie. IBM Lotus - Podstawy projektowania aplikacji w Domino Designer 8.5. Strona szkolenia Terminy szkolenia Rejestracja na szkolenie Promocje

ASP.NET MVC. Podstawy. Zaawansowane programowanie internetowe Instrukcja nr 3

Aplikacje Internetowe, Servlety, JSP i JDBC

Projekt Giełdy Terminów Koncepcja. 19 czerwca 2015

Spis wzorców. Działania użytkownika Strona 147 Obsługa większości Działań użytkownika za pomocą kodu JavaScript przy użyciu metod obsługi zdarzeń.

Dokumentacja Skryptu Mapy ver.1.1

Kurs ASP.NET ASP.NET CORE APLIKACJE WEBOWE

Podstawy wzorca MVC MODEL KON- TROLER WIDOK. Odpowiada za wyświetlenie danych użytkownikowi. Zawiera dane aplikacji oraz jej logikę.

Przykłady tworzenia aplikacji komponentowych w technologii JavaServer Faces 2.1 na podstawie

Zakres treści Czas. 2 Określenie charakteru i tematyki strony. Rodzaje witryn. Projekt graficzny witryny. Opracowanie skryptów

Kompresja stron internetowych

Dostosowywanie wyglądu aplikacji czytelnika w oparciu o oprogramowanie dlibra 5.0

Tworzenie Stron Internetowych. odcinek 9

Dotacje na innowacje. Inwestujemy w waszą przyszłość.

PRZEWODNIK PO PRZEDMIOCIE

Ewolucja projektowania aplikacji w PHP na bazie frameworka Symfony 2

EPI: Interfejs Graficzny Wykład nr 4 Podstawy frameworku Rails

Czym jest AJAX. AJAX wprowadzenie. Obiekt XMLHttpRequest (XHR) Niezbędne narzędzia. Standardowy XHR. XHR z obsługą baz danych

Laboratorium 7 Blog: dodawanie i edycja wpisów

Transkrypt:

WYKŁAD 1 ANGULARJS CZĘŚĆ 1

DEFINICJA ANGULARJS Framework JavaScript na licencji open-source wykorzystywany do tworzenia aplikacji SPA (single page applications) w oparciu o wzorzec projektowy Model-View-Controler. Opracowany przez zespół Google, oficjalnie został opublikowany w 2012 roku. Dlaczego powstał? Ze względu na coraz szybszy rozwój aplikacji mobilnych i SPA, pojawiło się zapotrzebowanie na uporządkowanie i wprowadzenia struktury MVC do rozwiązań JavaScript. AngularJS świetnie się do tego nadaje.

CECHY ANGULARJS Logika przeniesiona z serwera na klienta dane łączone są z szablonem w przeglądarce, a nie na serwerze; Serwer to źródło danych dostarczające HTML, CSS i JS przy pierwszym ładowaniu strony później dane ładowane dynamicznie bez odświeżania; Odświeżanie są tylko wybrane elementy a nie strona (AJAX); Dwustronne wiązanie (two way data-binding) modyfikacje w widoku powodują natychmiastowe zmiany w modelu i odwrotnie; Jasna struktura MVC wspierająca budowę dużych aplikacji. Zestaw wbudowanych, intuicyjnych filtrów do prezentacji danych; Środowisko testowe dla aplikacji oraz jej modułowość ułatwiająca testowanie;

CZĘŚCI SKŁADOWE ANGULARJS Moduły Zasięgi i model danych Kontrolery Widoki z szablonami i dyrektywami Wiązanie danych Wyrażenia Usługi Wstrzykiwanie zależności Zakresy odpowiedzialności

MODUŁY Moduły reprezentują komponenty w aplikacji zapewniają przestrzeń nazw, która umożliwia odwołanie do dyrektyw, zasięgów i innych komponentów. Każdy widok lub strona html zawiera moduł przypisany za pomocą dyrektywy ng-app. <div ng-app="myapp">...</div> <script> var app = angular.module("myapp", []); </script>

ZASIĘGI I MODEL DANYCH W AngularJS funkcjonuje pojęcie zasięgu to reprezentacja danych w JavaScript, które służą do wypełnienia widoku. Dane mogą pochodzić z dowolnego źródła: pliku, bazy danych, usługi ale są reprezentowane jako zwykły obiekt JavaScript, a więc można je dowolnie zmieniać i modyfikować w kodzie aplikacji. KONTROLERY Kontrolery odpowiadają za całą logikę biznesową dołączaną do danych i do zasięgu. Rozszerzają przez to możliwości tego zasięgu oraz przekazują dane do widoków.

PRZYKŁAD <script> var app = angular.module("myapp", []); app.controller("myctrl", function($scope) { $scope.firstname = "John"; $scope.lastname = "Doe"; }); </script> <div ng-app="myapp" ng-controller="myctrl"> {{ firstname + " " + lastname }} </div>

$SCOPE W AngularJS dostęp do danych w zasięgu odbywa się przez obiekt $scope. Jeśli przyjmiemy, że aplikacja Angular składa się z: Widoku, który reprezentuje HTML, Modelu, który reprezentują aktualne dane, Kontrolera, czyli funkcji JS, która zarządza danymi, to $scope jest Modelem. To obiekt JS z właściwościami i metodami, z których korzystają Widok i Kontroler.

WIDOKI Z SZABLONAMI I DYREKTYWAMI Dokumenty HTML są oparte na modelu DOM, w którym każdy element HTML jest reprezentowany przez element modelu DOM. Przeglądarka internetowa wczytuje obiekty DOM i dopiero je renderuje na podstawie ich atrybutów i właściwości. AngularJS łaczy szablony z dyrektywami w celu zbudowania widoku HTML, a więc nie modyfikuje istniejącego modelu DOM, ale renderuje go od podstaw, rozszerzając jego możliwości.

DYREKTYWY To co wyróżnia Angulara na tle pozostałych frameworków JS to dyrektywy. Dyrektywy rozszerzają możliwości języka HTML, umożliwiając tworzenie niestandardowych elementów, atrybutów i klas. Dyrektywy to kombinacja znaczników szablonów Angulara oraz kodu JavaScript. obsługują funkcje Angulara ng-repeat ; rozszerzają elementy formularzy ng-form ; wiążą zasięg z elementami strony ng-model ; wiążą zdarzenia z kontrolerami ng-click.

PRZYKŁAD <div ng-app="" ng-init="names=[ {name:'jani',country:'norway'}, {name:'hege',country:'sweden'}, {name:'kai',country:'denmark'}]"> <ul> <li ng-repeat="x in names"> {{ x.name + ', ' + x.country }} </li> </ul> </div>

WYRAŻENIA Angular daje możliwość wykorzystywania wyrażeń w HTML. Ponieważ są automatycznie łączone z zasięgiem, więc można w nich wykorzystywać dane z zasięgu: <p>my first expression: {{ 5 + 5 }}</p> <p>my second expression: {{ expression + 5 }}</p>

USŁUGI Obiekty Angulara zapewniające główne funkcje aplikacji internetowej, np. tworzenie żądań AJAX przez usługę $http. WSTRZYKIWANIE ZALEŻNOŚCI Proces, w którym komponent kodu definiuje zależności od innych komponentów kodu. Na przykład korzystanie z usług w modułach odbywa się przez wstrzyknięcie do kontrolera usługi $http.

PRZYKŁAD <div ng-app="myapp" ng-controller="customersctrl"> <ul> <li ng-repeat="x in names"> {{ x.name + ', ' + x.country }} </li> </ul> </div> <script> var app = angular.module('myapp', []); app.controller('customersctrl', function($scope, $http) { $http.get("http://www.w3schools.com/angular/customers.php").then(function(response) {$scope.names = response.data.records;}); }); </script>

CYKL ŻYCIA APLIKACJI ANGULAR JS Faza kompilacji Faza inicjowania Faza wiązania danych 1. Inicjacja komponentów Angular JS oraz modułu ng-app; 2. Kompilowanie kodu HTML wczytywane drzewo DOM i dyrektywy, a następnie renderowanie nowego drzewa DOM. 3. Aktualizacja zmian w modelu i widoku.

JAK ZACZĄĆ AngularJS framework JavaScript operujący na HTML. Trzeba pobrać bibliotekę angularjs (http://angularjs.org); W dokumencie html przez zamknięciem </body> trzeba dodać skrypt: <script src= angular.min.js ></script> </body> Lub: Dodajemy bibliotekę z repozytorium: <script src= http://ajax.googleapis.com/ajax/libs/angularjs/1.4.0- beta.5/angular.min.js ></script>

DYREKTYWA NG-APP Dyrektywa ng-app określa, jaka część drzewa DOM będzie zarządzana przez AngularJS. Jeśli stosujemy AngularJS do całej strony, dyrektywę umieszczamy w <html>. <html ng-app> </html> Umieszczenie ng-app w innym znaczniku ograniczy działanie AngularJS tylko do zawartości tego znacznika, np. <section ng-app> tytlko do zawartości sekcji przydatne przy stosowaniu różnych technologii.

TEST DZIAŁANIA: <!DOCTYPE html> <html ng-app> <body> <p>imię : <input type="text" ngmodel="name" placeholder="podaj imię"></p> <h1>hello {{name}}</h1> <script src= "http://ajax.googleapis.com/ajax/libs/angularjs/1.3.14/angular.min.j s"></script> </body> </html>

DZIĘKUJĘ ZA UWAGĘ MATERIAŁY POMOCNICZE https://angularjs.org/ http://www.w3schools.com/angular/default.asp