Proč Angular JS framework?

Podobné dokumenty
Připravil: Ing. Jiří Lýsek, Ph.D. Verze: Webové technologie

Připravil: Ing. Jiří Lýsek, Ph.D. Verze: Webové technologie

Vývojařská Plzeň AngularJS

Formuláře. Internetové publikování

Tlačítkem Poskládej jiný počítač se hra vrátí na úvodní obrazovku a lze zvolit jiný obrázek.

Ember.js. Jan Kopřiva, Vojtěch Jasný

12. Základy HTML a formuláře v HTML

OMO Patterny pro UI. Základy UI - HTML, DOM, JavaScript, CSS. Single Page Application

Servlety a JSP. Petr Adámek, petr.adamek@ibacz.eu

Architektura aplikace

MVVM pro desktop i web

HMI * nad webovými technologiemi

Integrovaný agent obchodníka elektronického obchodu (IMA) Příručka správce

4. POČÍTAČOVÉ CVIČENÍ

Webové služby a XML. Obsah přednášky. Co jsou to webové služby. Co jsou to webové služby. Webové služby a XML


Komponentově orientované webové frameworky. Jiří Stránský twitter.com/jistr

Část 1 Moderní JavaScript

Připravil: Ing. Jiří Lýsek, Ph.D. Verze: Webové aplikace

RESTful API TAMZ 1. Cvičení 11

Ing. Jiří Fůsek. Základní informace. Pracovní zkušenosti. Vzdělání. 09/ nyní Freelancer. 09/ /2010 Univerzita Tomáše Bati ve Zlíně

KIV/PIA 2013 Jan Tichava

Střední škola pedagogická, hotelnictví a služeb, Litoměříce, příspěvková organizace

Stručný obsah. Část I Úvod. Část II Komponenty

(X)HTML. Internetové publikování

VYSOKÁ ŠKOLA POLYTECHNICKÁ JIHLAVA Katedra elektrotechniky a informatiky Obor Aplikovaná informatika

Ruby a webové aplikace 19.1 CGI programování v Ruby

Nástroje a frameworky pro automatizovaný vývoj. Jaroslav Žáček jaroslav.zacek@osu.cz

Technologie Java Enterprise Edition. Přemek Brada, KIV ZČU

Platformy / technologie. Jaroslav Žáček

PLATFORMY / TECHNOLOGIE JAROSLAV ŽÁČEK

Novinky v ASP.NET MVC6

OMO Patterny pro UI. Základy UI - HTML, DOM, JavaScript, CSS. Single Page Application

novinky v HTML5 nové sémantické tagy canvas video geolocation local storage web workers

Vývoj informačních systémů. Architektura, návrh Vzory: Doménová logika

GWT pro pokročilé. MoroSystems, s.r.o. Pavel Klobása. Senior Java Developer.

Efektivní vývoj mobilních aplikací na více platforem současně. Mgr. David Gešvindr MCT MSP MCPD MCITP

Software je ve světě IT vše, co není Hardware. Do softwaru patří aplikace, program, proces, algoritmus, ale i data (text, obrázky), operační systém

Počítačová Podpora Studia. Přednáška 5 Úvod do html a některých souvisejících IT. Web jako platforma pro vývoj aplikací.

Django, 2. cvičení url, views, templates. Úvod

Platformy / technologie. Jaroslav Žáček jaroslav.zacek@osu.cz

PHP Best Practices. Please try to fit your code to 80 columns. That's decimal 80. A. Morton

Vývoj Internetových Aplikací

Informační systémy 2008/2009. Radim Farana. Obsah. Aktivní serverové stránky ASP. Active Server Pages. Activex Data Objects. LDAP database.

Grafické rozhraní pro práci s formuláři přes internet Graphic interface for working with forms placed on Internet. Bc.

UJO Framework. revoluční architektura beans. verze

Připravil: Ing. Jiří Lýsek, Ph.D. Verze: Webové aplikace

Vyšší odborná škola a Střední škola,varnsdorf, příspěvková organizace. Šablona 13 VY 32 INOVACE

VYSOKÁ ŠKOLA POLYTECHNICKÁ JIHLAVA Katedra elektrotechniky a informatiky Obor Aplikovaná informatika

ČESKÉ VYSOKÉ UČENÍ TECHNICKÉ

Michal Augustýn Microsoft Most Valuable Professional

Maturitní otázka webové stránky (technologie tvorby webu) Co znamená pojem Web? Web, www stránky, celým názvem World Wide Web,

KAPITOLA 1 SOCIÁLNÍ SÍTĚ A PHP...17

Webové služby. Martin Sochor

[ASP].NET Core Demystified. Miroslav Holec. Konzultant a lektor [ASP].NET Core.

TH2E. Inteligentní senzor teploty, vlhkosti a rosného bodu s Ethernetovým rozhraním. 22. dubna 2016 w w w. p a p o u c h. c o m

118. </div> 119. </div> 120. <div class="box"> 121. <div class="inside-box"> 122. <img src="./img/drogo-and-daenerys.jpg" alt="kresba Droga a

HTML5 IN EDUCATION AT THE DEPARTMENT OF COMPUTER SCIENCE OF THE FACULTY OF EDUCATION AT THE UNIVERSITY OF SOUTH BOHEMIA, ČESKÉ BUDĚJOVICE, CZ

Vývoj informačních systémů. Architektura, návrh Vzory: Doménová logika

Databáze Caché CSP Custom Tags

Moderní webové aplikace AngularJS

Základní pojmy spojené s webovým publikováním ~ malý slovníček pojmů~ C3231 Základy WWW publikování Radka Svobodová, Stanislav Geidl

DEVFEST ANGULAR 2 WORKSHOP. angular.cz

Připravil: Ing. Jiří Lýsek, Ph.D. Verze: Webové aplikace

Spring framework 2.0. Roman Pichlík CZJUG

Převod LN aplikace do xpages

OBALKYKNIH.CZ API 3.0, IMPLEMENTACE PRO ALEPH OPAC

Novinky v oblasti SAP Mobility. Martin Zikmund, Presale Mobility Platforms Miroslav Řehoř, Account Executive

Sem vložte zadání Vaší práce.

Rozhraní pro tvorbu doplňků v moderních prohlížečích. Martin Straka martin.straka@nic.cz

Maven. Aplikační programování v Javě (BI-APJ) - 2 Ing. Jiří Daněček Katedra softwarového inženýrství Fakulta informačních technologií ČVUT Praha

Historie, současnost a budoucnost ASP.NET

INFORMAČNÍ SYSTÉMY NA WEBU

Hiearchical MVC (Model-view-controller) vs. PAC (Presentation-abstraction-control)

Tvorba informačních systémů

HTML5. Tvoříme dynamick é aplikace. BY Jan Barášek (Baraja)

Aleš Rybák, Jiří Kadlec. Pluginy budoucnosti

Databázové a informační systémy

Připravil: Ing. Jiří Lýsek, Ph.D. Verze: Webové technologie

VIVO: NOVINKY NA FRONT-ENDU LUNDEGAARD Zdeněk Staněk

ANGULAR 2 WORKSHOP. angular.cz

Návrh programu v Black Box Component Builderu s využitím architektury Model View Controller

Technologie Java. Jaroslav Žáček

Obsah. Úvod 11 O autorovi 11 Koncept knihy 11 Zpětná vazba od čtenářů 12 Zdrojové kódy ke knize 12 Errata 12 ČÁST I VÝVOJ MOBILNÍ APLIKACE

Mediální komunikace. Vysoká škola mezinárodních a veřejných vztahů PhDr. Peter Jan Kosmály, Ph.D

Specifikace reklamních formátů HTML 5 pro nasazení do ibillboard Ad Server Verze 2/2015

Ruby on Rails. VŠE, Jiří Hradil

PRG036 Technologie XML

Nastavení provozního prostředí webového prohlížeče pro aplikaci

IS pro podporu BOZP na FIT ČVUT

Webové formuláře v HTML5 a Web Forms 2.0

TME. Teploměry s přenosem dat po Ethernetu. Protokoly ASCII, HTTP (WEB), SMTP ( ), SNMP, MODBUS TCP, XML

Internet Information Services (IIS) 6.0

Tvorba aplikace typu klient/server pomocí Windows Communication Foundation

Mobilní malware na platformě Android Přednáška 1. Ing. Milan Oulehla

Budte chytří při vytváření aplikací

Webové programování je CHALENGE! Milan Čapoun, Samuel Šramko

Snadný vývoj webových aplikací s Nette. Lukáš Jelínek

Tvorba jednoduchých WWW stránek. VŠB - Technická univerzita Ostrava Katedra informatiky

Další vlastnosti Springu Moduly Springu. Spring Framework. Pavel Mička. Pavel Mička Spring Framework 1/18

Transkript:

Angular JS

Proč Angular JS framework? Open Source vytvořený a spravovaný Googlem Vhodný pro tvorbu formulářových aplikací Dodá aplikaci základní architekturu a udržovatelnost Deklarativní způsob práce s UI rozšiřuje HTML jazyk o nové možnosti Dobrá podpora pro unit testy

Struktura ukázkové aplikace Rozdělení aplikace na server/klient, adresářová struktura Bower, řešení závislostí na klientovi Grunt, buildování klientské aplikace

Stavební kameny - moduly Aplikace je rozdělena do modulů, kde se registrují jednotlivé komponenty aplikace Zamezení používání globálních proměnných angular.module('hello', [ ]).controller('helloctrl', function($scope){ $scope.name = 'World'; }); Dependency injection $ - jmený prostor angularu

Stavební kameny MVC vzor View jsou HTML šablony doplňené o výrazy a direktivy <!DOCTYPE html> <html> <head> <title>aplikace</title> </head> <body ng-app="helo"> <div ng-controller="helloctrl"> Say hello to: <input type="text" ng-model="name"><br> <h1>hello, {{name}}!</h1> </div> </body> </html> One way binding, two way binding

Router Hashbang url http://myhost.com/admin/#products HTML5 history API http://myhost.com/admin/products Nutná úprava serverové části

Stavební kameny - $scope Objekt, který předává data šablonám $rootscope, předek pro všechny scope objekty, který se vytváří při zavádění aplikace Hierarchická struktura scope objektů kopírující DOM, vlastnosti definované na předkovy jsou dostupné i potomkům Hierarchická struktura scope objektů se využívá i jako event bus. $emit - události vysíláné k předkovi, $broadcast události vysílané k potomkům

Stavební kameny - Služby Objekty registrujeme do DI kontejneru Neregistrujeme přímo objekty, ale předpis, podle něhož se objekt vytváří Typy objektů: Values, Constants, Services, Factories, Providers

Stavební kameny - Služby shoppingmodule.factory('items', function() { var items = {}; items.query = function() { // V reálné aplikaci bychom dotazovali server return [ {title: 'Paint pots', description: 'Pots full of paint', price: 3.95}, {title: 'Polka dots', description: 'Dots with polka, price: 2.95}, {title: 'Pebbles', description: 'Just little rocks', price: 6.95} ]; }; return items; });

Stavební kameny - Direktivy Direktivy rozšiřují HTML jazyk o novou funkcionalitu. Začínáme používat HTML jako Domain Specific Language (DSL). Direktivy mohou být elementy, atributy, komentáře nebo CSS třídy <my-directive></my-directive> <input my-directive> <!-- directive: my-directive--> <input class="my-directive">

Stavební kameny - Direktivy Velké množství direktiv přímo ve frameworku (ngapp, ngrepeat, ngclick, ngmodel...) Případy užití vlastní direktivy Příma manipulace s DOMem, tak jako v JQuery Přesunutí opakujícího se kódu do direktiv Obalení jquery pluginů (např. JQuery UI knihovny)

Stavební kameny - Direktivy Ukázky direktiv <button type="submit" size="large">submit</button> <button type="submit" class="btn btn-primary btn-large">click Me!</button> <pagination num-pages="tasks.pagecount" current-page="tasks.currentpage"> </pagination> <form name="passwordform"> <input type="password" name="password" ng-model="user.password"> validate- <input type="password" name="confirmpassword" ng-model="confirmpassword" equals="user.password"> </form> <input ui-date ui-date-format="dd, d MM, yy" ng-model="mydate">

Stavební kameny - Direktivy Ukázka kódu mymodule.directive('button', function() { return { restrict: 'E', compile: function(element, attributes) { element.addclass('btn'); if ( attributes.type === 'submit' ) { element.addclass('btn-primary'); } if ( attributes.size ) { element.addclass('btn-' + attributes.size); } } };

Stavební kameny - $http Obecná služba pro http requesty Použití jako funkce $http(config), kde v config objektu předáváme vše potřebné (url, http metody, data, parametry... ) Zkratky pro jednotlivé http metody $http.post(url, config) $http.get(url, config) $http.put(url, config) $http.delete(url, config)

Stavební kameny - $resource Objekt, který nám umožní komunikovat s REST službami Použití je jednoduší než s $http službou, podpora CRUD operací Objekt.query(params, successcb, errorcb) vrací kolekci dat Objekt.get(params, successcb, errorcb) vrací konkrétní položku Objekt.save(params, payloaddata, successcb, errorcb) - ukládá položku Objekt.delete(params,successcb, errorcb)

Stavební kameny - $resource angular.module('resource', ['ngresource']).factory('users', function ($resource) { return $resource('https://api.mongolab.com/api/1/databases/ascrum/collections/users/:id', { apikey:'4fb51e55e4b02e56a67b0b66', id:'@_id.$oid' }); }).controller('resourcectrl', function($scope, Users){ }); $scope.users =Users.query();

Zdroje informací Dokumentace: http://docs.angularjs.org/ Ukázky aplikací: http://builtwith.angularjs.org/ ToDo list: http://todomvc.com/architecture-examples/angularjs/#/ Kniha: Mastering Web Application Development with AngularJS - Packt Publishing Angular-app: https://github.com/angular-app/angular-app