SlideShare a Scribd company logo
Ulepszanie aplikacji 
webowej z AngularJS 
Tomasz Bąk
Agenda 
● wprowadzenie do AngularJS 
● kilka przykładów użycia bibliotek 
● mała aplikacja kanban board
AngularJS 
● 108 kB 
o vs jQuery 1.11 ~ 98 kB 
o vs Ember.js 1.8.1 ~ 353 kB 
o lodash.js ~ 28 kB 
● 32 278★ 
o vs jQuery 32 672★ 
o vs Ember.js 11 915★ 
o vs lodash.js 6 809★
MVC 
http://www.mutuallyhuman.com/blog/2014/05/08/angularjs-services-and-factories-done-right/
Data binding
Dyrektywy
Wbudowane dyrektywy 
ngApp 
ngBind 
ngBindHtml 
ngBindTemplate 
ngBlur 
ngChange 
ngChecked 
ngClass 
ngClassEven 
ngClassOdd 
ngClick 
ngCloak 
ngController 
ngCopy 
ngCsp 
ngCut 
ngDblclick 
ngDisabled 
ngFocus 
ngForm 
ngHide 
ngHref 
ngIf 
ngInclude 
ngInit 
ngKeydown 
ngKeypress 
ngKeyup 
ngList 
ngModel 
ngMousedown 
ngMouseenter 
ngMouseleave 
ngMousemove 
ngMouseover 
ngMouseup 
ngNonBindable 
ngOpen 
ngPaste 
ngPluralize 
ngReadonly 
ngRepeat 
ngSelected 
ngShow 
ngSrc 
ngSrcset 
ngStyle 
ngSubmit 
ngSwitch 
ngTransclude 
ngValue
ngmodules.org 
● tysiące dyrektyw 
● wiele z nich opakowuje biblioteki jQuery
AngularJS vs jQuery 
● dyrektywy vs bindowanie 
● dyrektywy vs operacije na DOM
AngularJS w przykładach 
● 2 * 2 = 4 
● sortowanie
http://jsbin.com/sopivo/3/edit
http://jsfiddle.net/df5r6c45/4/
http://jsfiddle.net/df5r6c45/4/
http://jsfiddle.net/df5r6c45/4/
http://jsfiddle.net/df5r6c45/4/
Więcej AngularJS w przykładach 
● Excel w 20 min 
● edycja danych tabelarycznych 
● kanban
graunked/spreadsheet 
● 15 LOC
Ulepszanie aplikacji webowej z AngularJS
Ulepszanie aplikacji webowej z AngularJS
vitalets/angular-xeditable 
● 18 kB 
● 814★
Ulepszanie aplikacji webowej z AngularJS
...
Ulepszanie aplikacji webowej z AngularJS
Ulepszanie aplikacji webowej z AngularJS
esvit/ng-table 
● 10 kB 
● 1079★
Ulepszanie aplikacji webowej z AngularJS
Ulepszanie aplikacji webowej z AngularJS
Ulepszanie aplikacji webowej z AngularJS
Ulepszanie aplikacji webowej z AngularJS
a5hik/ng-sortable 
● 16 kB 
● 194★
Ulepszanie aplikacji webowej z AngularJS
Ulepszanie aplikacji webowej z AngularJS
Ulepszanie aplikacji webowej z AngularJS
Ulepszanie aplikacji webowej z AngularJS
Ulepszanie aplikacji webowej z AngularJS
AngularJS sprawdza się do: 
● szybko reagującego UI 
o edycja danych tabelarycznych 
o kanban 
o wykresy 
● przetwarzania danych przed przesłaniem do serwera 
o wytnij i wklej 
o kategoryzacja plików
Q&A
Ad

More Related Content

What's hot (14)

Functional widgets in Rails
Functional widgets in RailsFunctional widgets in Rails
Functional widgets in Rails
Sebastian Sito
 
Asynchroniczne testy JavaScript aplikacji webowych
Asynchroniczne testy JavaScript aplikacji webowychAsynchroniczne testy JavaScript aplikacji webowych
Asynchroniczne testy JavaScript aplikacji webowych
Future Processing
 
REACT NATIVE - CZYLI ZAPROGRAMUJMY APLIKACJĘ NATYWNĄ W JS
REACT NATIVE - CZYLI ZAPROGRAMUJMY APLIKACJĘ NATYWNĄ W JSREACT NATIVE - CZYLI ZAPROGRAMUJMY APLIKACJĘ NATYWNĄ W JS
REACT NATIVE - CZYLI ZAPROGRAMUJMY APLIKACJĘ NATYWNĄ W JS
Tomasz Netczuk
 
Angular js warsztaty stopień 2
Angular js   warsztaty stopień 2Angular js   warsztaty stopień 2
Angular js warsztaty stopień 2
Marcin Wosinek
 
Daj się wyręczyć - Joomla Day Polska 2014
Daj się wyręczyć - Joomla Day Polska 2014Daj się wyręczyć - Joomla Day Polska 2014
Daj się wyręczyć - Joomla Day Polska 2014
Tomasz Dziuda
 
Worklety i magiczne interfejsy z przyszłości
Worklety i magiczne interfejsy z przyszłościWorklety i magiczne interfejsy z przyszłości
Worklety i magiczne interfejsy z przyszłości
Marcin Gajda
 
Pan Oponka - Biografia
Pan Oponka - BiografiaPan Oponka - Biografia
Pan Oponka - Biografia
Filip Tepper
 
AngularJS Warsaw #4 - Dariusz Kalbarczyk "Controller as"
AngularJS Warsaw #4 - Dariusz Kalbarczyk "Controller as"AngularJS Warsaw #4 - Dariusz Kalbarczyk "Controller as"
AngularJS Warsaw #4 - Dariusz Kalbarczyk "Controller as"
Dariusz Kalbarczyk
 
Projektowanie i implementacja usług sieciowych
Projektowanie i implementacja usług sieciowychProjektowanie i implementacja usług sieciowych
Projektowanie i implementacja usług sieciowych
University of Economics in Katowice
 
Szybkie prototypowanie i development we VueJS
Szybkie prototypowanie i development we VueJSSzybkie prototypowanie i development we VueJS
Szybkie prototypowanie i development we VueJS
The Software House
 
Co nowego w ASP.NET MVC 4?
Co nowego w ASP.NET MVC 4?Co nowego w ASP.NET MVC 4?
Co nowego w ASP.NET MVC 4?
tkryskiewicz
 
Praktyczne porady na temat optymalizacji wydajności aplikacji tworzonych z u...
Praktyczne porady na temat optymalizacji wydajności aplikacji tworzonych z u...Praktyczne porady na temat optymalizacji wydajności aplikacji tworzonych z u...
Praktyczne porady na temat optymalizacji wydajności aplikacji tworzonych z u...
The Software House
 
Równoległy rozwój Aplikacji Webowych | Codesushi
Równoległy rozwój Aplikacji Webowych | CodesushiRównoległy rozwój Aplikacji Webowych | Codesushi
Równoległy rozwój Aplikacji Webowych | Codesushi
Krzysztof (Chris) Ozog
 
Angular 4 pragmatycznie
Angular 4 pragmatycznieAngular 4 pragmatycznie
Angular 4 pragmatycznie
Sages
 
Functional widgets in Rails
Functional widgets in RailsFunctional widgets in Rails
Functional widgets in Rails
Sebastian Sito
 
Asynchroniczne testy JavaScript aplikacji webowych
Asynchroniczne testy JavaScript aplikacji webowychAsynchroniczne testy JavaScript aplikacji webowych
Asynchroniczne testy JavaScript aplikacji webowych
Future Processing
 
REACT NATIVE - CZYLI ZAPROGRAMUJMY APLIKACJĘ NATYWNĄ W JS
REACT NATIVE - CZYLI ZAPROGRAMUJMY APLIKACJĘ NATYWNĄ W JSREACT NATIVE - CZYLI ZAPROGRAMUJMY APLIKACJĘ NATYWNĄ W JS
REACT NATIVE - CZYLI ZAPROGRAMUJMY APLIKACJĘ NATYWNĄ W JS
Tomasz Netczuk
 
Angular js warsztaty stopień 2
Angular js   warsztaty stopień 2Angular js   warsztaty stopień 2
Angular js warsztaty stopień 2
Marcin Wosinek
 
Daj się wyręczyć - Joomla Day Polska 2014
Daj się wyręczyć - Joomla Day Polska 2014Daj się wyręczyć - Joomla Day Polska 2014
Daj się wyręczyć - Joomla Day Polska 2014
Tomasz Dziuda
 
Worklety i magiczne interfejsy z przyszłości
Worklety i magiczne interfejsy z przyszłościWorklety i magiczne interfejsy z przyszłości
Worklety i magiczne interfejsy z przyszłości
Marcin Gajda
 
Pan Oponka - Biografia
Pan Oponka - BiografiaPan Oponka - Biografia
Pan Oponka - Biografia
Filip Tepper
 
AngularJS Warsaw #4 - Dariusz Kalbarczyk "Controller as"
AngularJS Warsaw #4 - Dariusz Kalbarczyk "Controller as"AngularJS Warsaw #4 - Dariusz Kalbarczyk "Controller as"
AngularJS Warsaw #4 - Dariusz Kalbarczyk "Controller as"
Dariusz Kalbarczyk
 
Szybkie prototypowanie i development we VueJS
Szybkie prototypowanie i development we VueJSSzybkie prototypowanie i development we VueJS
Szybkie prototypowanie i development we VueJS
The Software House
 
Co nowego w ASP.NET MVC 4?
Co nowego w ASP.NET MVC 4?Co nowego w ASP.NET MVC 4?
Co nowego w ASP.NET MVC 4?
tkryskiewicz
 
Praktyczne porady na temat optymalizacji wydajności aplikacji tworzonych z u...
Praktyczne porady na temat optymalizacji wydajności aplikacji tworzonych z u...Praktyczne porady na temat optymalizacji wydajności aplikacji tworzonych z u...
Praktyczne porady na temat optymalizacji wydajności aplikacji tworzonych z u...
The Software House
 
Równoległy rozwój Aplikacji Webowych | Codesushi
Równoległy rozwój Aplikacji Webowych | CodesushiRównoległy rozwój Aplikacji Webowych | Codesushi
Równoległy rozwój Aplikacji Webowych | Codesushi
Krzysztof (Chris) Ozog
 
Angular 4 pragmatycznie
Angular 4 pragmatycznieAngular 4 pragmatycznie
Angular 4 pragmatycznie
Sages
 

Similar to Ulepszanie aplikacji webowej z AngularJS (20)

Kariera it Sopot
Kariera it SopotKariera it Sopot
Kariera it Sopot
neoteric-eu
 
HYC - Angular stań się kanciastym
HYC - Angular stań się kanciastymHYC - Angular stań się kanciastym
HYC - Angular stań się kanciastym
Dariusz Jagieło
 
Podstawy Asp.Net Mvc 1.0 W 3600 Sekund
Podstawy Asp.Net Mvc 1.0 W 3600 SekundPodstawy Asp.Net Mvc 1.0 W 3600 Sekund
Podstawy Asp.Net Mvc 1.0 W 3600 Sekund
emdzej
 
Jak przerobić monolityczną aplikację na architekturę mikro serwisów ?
Jak przerobić monolityczną aplikację na architekturę mikro serwisów ?Jak przerobić monolityczną aplikację na architekturę mikro serwisów ?
Jak przerobić monolityczną aplikację na architekturę mikro serwisów ?
Tomasz Lelek
 
Java. Aplikacje bazodanowe. Najlepsze rozwiązania
Java. Aplikacje bazodanowe. Najlepsze rozwiązaniaJava. Aplikacje bazodanowe. Najlepsze rozwiązania
Java. Aplikacje bazodanowe. Najlepsze rozwiązania
Wydawnictwo Helion
 
Jaki framework wybrać
Jaki framework wybraćJaki framework wybrać
Jaki framework wybrać
Paweł Tekliński
 
Angular 2.0 – Kochaj albo rzuć!
Angular 2.0 – Kochaj albo rzuć!Angular 2.0 – Kochaj albo rzuć!
Angular 2.0 – Kochaj albo rzuć!
The Software House
 
AJAX i PHP. Tworzenie interaktywnych aplikacji internetowych
AJAX i PHP. Tworzenie interaktywnych aplikacji internetowychAJAX i PHP. Tworzenie interaktywnych aplikacji internetowych
AJAX i PHP. Tworzenie interaktywnych aplikacji internetowych
Wydawnictwo Helion
 
Single Page Applications przy wykorzystaniu REST
Single Page Applications przy wykorzystaniu RESTSingle Page Applications przy wykorzystaniu REST
Single Page Applications przy wykorzystaniu REST
3camp
 
AngularJS (nie) nadaje się do dużego projektu
AngularJS (nie) nadaje się do dużego projektuAngularJS (nie) nadaje się do dużego projektu
AngularJS (nie) nadaje się do dużego projektu
3camp
 
AngularJS (nie) nadaje się do dużych pojektów.
AngularJS (nie) nadaje się do dużych pojektów.AngularJS (nie) nadaje się do dużych pojektów.
AngularJS (nie) nadaje się do dużych pojektów.
Rafał Filipek
 
Webinar - Podstawy Node.js
Webinar - Podstawy Node.jsWebinar - Podstawy Node.js
Webinar - Podstawy Node.js
Wojciech Kaniuka
 
Websites vs Cloud Services - OLMUG
Websites vs Cloud Services - OLMUGWebsites vs Cloud Services - OLMUG
Websites vs Cloud Services - OLMUG
Bart Zaremba
 
Jak oszczędzać czas zespołu w środowisku mikroserwisów, czyli efektywny flow ...
Jak oszczędzać czas zespołu w środowisku mikroserwisów, czyli efektywny flow ...Jak oszczędzać czas zespołu w środowisku mikroserwisów, czyli efektywny flow ...
Jak oszczędzać czas zespołu w środowisku mikroserwisów, czyli efektywny flow ...
Mateusz Paprocki, PMP
 
Obiektowe tworzenie motywów z użyciem silnika szablonów Twig w WordPressie
Obiektowe tworzenie motywów z użyciem silnika szablonów Twig w WordPressieObiektowe tworzenie motywów z użyciem silnika szablonów Twig w WordPressie
Obiektowe tworzenie motywów z użyciem silnika szablonów Twig w WordPressie
WordCamp Polska
 
WordCamp Lublin 2017
WordCamp Lublin 2017WordCamp Lublin 2017
WordCamp Lublin 2017
Piotr Niewiadomski
 
Środowisko PWA
Środowisko PWAŚrodowisko PWA
Środowisko PWA
University of Economics in Katowice
 
MvvmCross na przykładach w Xamarin.Android
MvvmCross na przykładach w Xamarin.AndroidMvvmCross na przykładach w Xamarin.Android
MvvmCross na przykładach w Xamarin.Android
In'saneLab
 
JavaServer Faces. Wydanie II
JavaServer Faces. Wydanie IIJavaServer Faces. Wydanie II
JavaServer Faces. Wydanie II
Wydawnictwo Helion
 
Kariera it Sopot
Kariera it SopotKariera it Sopot
Kariera it Sopot
neoteric-eu
 
HYC - Angular stań się kanciastym
HYC - Angular stań się kanciastymHYC - Angular stań się kanciastym
HYC - Angular stań się kanciastym
Dariusz Jagieło
 
Podstawy Asp.Net Mvc 1.0 W 3600 Sekund
Podstawy Asp.Net Mvc 1.0 W 3600 SekundPodstawy Asp.Net Mvc 1.0 W 3600 Sekund
Podstawy Asp.Net Mvc 1.0 W 3600 Sekund
emdzej
 
Jak przerobić monolityczną aplikację na architekturę mikro serwisów ?
Jak przerobić monolityczną aplikację na architekturę mikro serwisów ?Jak przerobić monolityczną aplikację na architekturę mikro serwisów ?
Jak przerobić monolityczną aplikację na architekturę mikro serwisów ?
Tomasz Lelek
 
Java. Aplikacje bazodanowe. Najlepsze rozwiązania
Java. Aplikacje bazodanowe. Najlepsze rozwiązaniaJava. Aplikacje bazodanowe. Najlepsze rozwiązania
Java. Aplikacje bazodanowe. Najlepsze rozwiązania
Wydawnictwo Helion
 
Angular 2.0 – Kochaj albo rzuć!
Angular 2.0 – Kochaj albo rzuć!Angular 2.0 – Kochaj albo rzuć!
Angular 2.0 – Kochaj albo rzuć!
The Software House
 
AJAX i PHP. Tworzenie interaktywnych aplikacji internetowych
AJAX i PHP. Tworzenie interaktywnych aplikacji internetowychAJAX i PHP. Tworzenie interaktywnych aplikacji internetowych
AJAX i PHP. Tworzenie interaktywnych aplikacji internetowych
Wydawnictwo Helion
 
Single Page Applications przy wykorzystaniu REST
Single Page Applications przy wykorzystaniu RESTSingle Page Applications przy wykorzystaniu REST
Single Page Applications przy wykorzystaniu REST
3camp
 
AngularJS (nie) nadaje się do dużego projektu
AngularJS (nie) nadaje się do dużego projektuAngularJS (nie) nadaje się do dużego projektu
AngularJS (nie) nadaje się do dużego projektu
3camp
 
AngularJS (nie) nadaje się do dużych pojektów.
AngularJS (nie) nadaje się do dużych pojektów.AngularJS (nie) nadaje się do dużych pojektów.
AngularJS (nie) nadaje się do dużych pojektów.
Rafał Filipek
 
Webinar - Podstawy Node.js
Webinar - Podstawy Node.jsWebinar - Podstawy Node.js
Webinar - Podstawy Node.js
Wojciech Kaniuka
 
Websites vs Cloud Services - OLMUG
Websites vs Cloud Services - OLMUGWebsites vs Cloud Services - OLMUG
Websites vs Cloud Services - OLMUG
Bart Zaremba
 
Jak oszczędzać czas zespołu w środowisku mikroserwisów, czyli efektywny flow ...
Jak oszczędzać czas zespołu w środowisku mikroserwisów, czyli efektywny flow ...Jak oszczędzać czas zespołu w środowisku mikroserwisów, czyli efektywny flow ...
Jak oszczędzać czas zespołu w środowisku mikroserwisów, czyli efektywny flow ...
Mateusz Paprocki, PMP
 
Obiektowe tworzenie motywów z użyciem silnika szablonów Twig w WordPressie
Obiektowe tworzenie motywów z użyciem silnika szablonów Twig w WordPressieObiektowe tworzenie motywów z użyciem silnika szablonów Twig w WordPressie
Obiektowe tworzenie motywów z użyciem silnika szablonów Twig w WordPressie
WordCamp Polska
 
MvvmCross na przykładach w Xamarin.Android
MvvmCross na przykładach w Xamarin.AndroidMvvmCross na przykładach w Xamarin.Android
MvvmCross na przykładach w Xamarin.Android
In'saneLab
 
Ad

More from Tomasz Bak (18)

Design Patterns in React
Design Patterns in ReactDesign Patterns in React
Design Patterns in React
Tomasz Bak
 
Building React CRUD app in minutes?
Building React CRUD app in minutes?Building React CRUD app in minutes?
Building React CRUD app in minutes?
Tomasz Bak
 
How to migrate large project from Angular to React
How to migrate large project from Angular to ReactHow to migrate large project from Angular to React
How to migrate large project from Angular to React
Tomasz Bak
 
JAMstack
JAMstackJAMstack
JAMstack
Tomasz Bak
 
e2e testing with cypress
e2e testing with cypresse2e testing with cypress
e2e testing with cypress
Tomasz Bak
 
How to GraphQL: React Apollo
How to GraphQL: React ApolloHow to GraphQL: React Apollo
How to GraphQL: React Apollo
Tomasz Bak
 
How to GraphQL
How to GraphQLHow to GraphQL
How to GraphQL
Tomasz Bak
 
Working with npm packages
Working with npm packagesWorking with npm packages
Working with npm packages
Tomasz Bak
 
How to replace rails asset pipeline with webpack?
How to replace rails asset pipeline with webpack?How to replace rails asset pipeline with webpack?
How to replace rails asset pipeline with webpack?
Tomasz Bak
 
Functional Reactive Angular 2
Functional Reactive Angular 2 Functional Reactive Angular 2
Functional Reactive Angular 2
Tomasz Bak
 
Jak wnieść wkład w Open Source?
Jak wnieść wkład w Open Source?Jak wnieść wkład w Open Source?
Jak wnieść wkład w Open Source?
Tomasz Bak
 
JavaScript Promises
JavaScript PromisesJavaScript Promises
JavaScript Promises
Tomasz Bak
 
Replacing Rails asset pipeline with Gulp
Replacing Rails asset pipeline with GulpReplacing Rails asset pipeline with Gulp
Replacing Rails asset pipeline with Gulp
Tomasz Bak
 
Bardziej produktywny gmail
Bardziej produktywny gmailBardziej produktywny gmail
Bardziej produktywny gmail
Tomasz Bak
 
Rails tobak2005
Rails tobak2005Rails tobak2005
Rails tobak2005
Tomasz Bak
 
Testowanie JavaScript
Testowanie JavaScriptTestowanie JavaScript
Testowanie JavaScript
Tomasz Bak
 
Design Patterns in React
Design Patterns in ReactDesign Patterns in React
Design Patterns in React
Tomasz Bak
 
Building React CRUD app in minutes?
Building React CRUD app in minutes?Building React CRUD app in minutes?
Building React CRUD app in minutes?
Tomasz Bak
 
How to migrate large project from Angular to React
How to migrate large project from Angular to ReactHow to migrate large project from Angular to React
How to migrate large project from Angular to React
Tomasz Bak
 
e2e testing with cypress
e2e testing with cypresse2e testing with cypress
e2e testing with cypress
Tomasz Bak
 
How to GraphQL: React Apollo
How to GraphQL: React ApolloHow to GraphQL: React Apollo
How to GraphQL: React Apollo
Tomasz Bak
 
How to GraphQL
How to GraphQLHow to GraphQL
How to GraphQL
Tomasz Bak
 
Working with npm packages
Working with npm packagesWorking with npm packages
Working with npm packages
Tomasz Bak
 
How to replace rails asset pipeline with webpack?
How to replace rails asset pipeline with webpack?How to replace rails asset pipeline with webpack?
How to replace rails asset pipeline with webpack?
Tomasz Bak
 
Functional Reactive Angular 2
Functional Reactive Angular 2 Functional Reactive Angular 2
Functional Reactive Angular 2
Tomasz Bak
 
Jak wnieść wkład w Open Source?
Jak wnieść wkład w Open Source?Jak wnieść wkład w Open Source?
Jak wnieść wkład w Open Source?
Tomasz Bak
 
JavaScript Promises
JavaScript PromisesJavaScript Promises
JavaScript Promises
Tomasz Bak
 
Replacing Rails asset pipeline with Gulp
Replacing Rails asset pipeline with GulpReplacing Rails asset pipeline with Gulp
Replacing Rails asset pipeline with Gulp
Tomasz Bak
 
Bardziej produktywny gmail
Bardziej produktywny gmailBardziej produktywny gmail
Bardziej produktywny gmail
Tomasz Bak
 
Rails tobak2005
Rails tobak2005Rails tobak2005
Rails tobak2005
Tomasz Bak
 
Testowanie JavaScript
Testowanie JavaScriptTestowanie JavaScript
Testowanie JavaScript
Tomasz Bak
 
Ad

Ulepszanie aplikacji webowej z AngularJS