SlideShare a Scribd company logo
Izrada hibridnih mobilnih 
aplikacija temeljenih na 
angular.js 
Ivan Vucicevic, BetaWare Osijek 2014.
Što trebamo znati? 
 Potrebno predznanje javaScript-a 
 Potrebno znanje HTML-a
Zašto Angular? 
 Ako želimo napravit dinamičku web ili mobilnu aplikaciju Angular je odličan izbor 
 Angular nam jako dobro strukturira i organizira kod javaScript-a 
 Angular nam omogućuje izradu jako brzih web stranica 
 Angular se ponaša odlično pri radu s jQuery-em 
 Angular nam pruža lako održavanje software-a 
 Angular proširuje HTML s novim atributima 
 Angular je savršen za SPA 
 Jednostavan za učenje
Što Angular čini tako brzim? 
Server 
Url zahtjev na server 
Odgovor servera s web stranicom HTML + JS 
Korisnik klikne na link 
Odgovor servera s web stranicom HTML + JS
Što Angular čini tako brzim? 
Server 
Url zahtjev na server 
Odgovor servera s web stranicom HTML + JS 
Korisnik klikne na link 
Odgovor servera s JSON podacima 
Podaci se 
učitavaju u 
postojeću 
stranicu
Što je Angular u stvari? 
 Open-source JavaScript framework koji se izvršava na strani klijenta 
 Održavan je od strane googla 
 Nastao 2010. 
 Slijedi MVC kako bi olakšao i ubrzao razvoj 
 Koristi tzv. direktive 
 Two-way data binding ($scope) 
 Moćni templating HTML-a
Što je Angular u stvari?
Kako koristiti Angular s našom web ili 
mobilnom aplikacijom? 
 Vrlo jednostavno 
 CDN 
 Direktno
Moduli u Angularu 
 Moduli su gdje pišemo dijelove naše aplikacije, te na taj način držimo kod enkapsuliranim 
 Zbog takvog pristupa kod nam je lakše održiv i čitljiv 
 Također u modulima definiramo ovisnosti ostalih modula za našu aplikaciju
Moduli u Angularu 
var ngApp = angular.module('ngApp', [‘module2‘, ‘module3']); 
app.js
Pisanje izraza u Angularu 
 ng-app direktiva je definirala cijeli HTML kao angular aplikaciju 
 Na taj način omogućeno nam je pisanje izraza unutar vitičastih zagrada
Primjeri direktiva (najčešće korištenih) 
 ng-app – dodavanje Modula angular aplikacije stranici 
 ng-controller – dodavanje funkcije kontrolera stranici 
 ng-show/ng-hide – Prikaz/skrivanje elementa ovisno o vrijednosti modela 
 ng-repeat – ponavljanje za svaki element niza (foreach)
Filteri u Angularu 
 Angular biblioteka u sebi sadrži mnoge filtere koji se pozivaju „pipe” operatorom 
(currency, datetime, number, orderBy) 
 Mogućnost izrade custom filtera
<img> tag 
 Problem prilikom učitavanaja slike iz niza.
Forme Modeli
Dupliciranje 
Repeating.html
Dupliciranje 
Server 
Url zahtjev na server 
Odgovor servera s web stranicom HTML + JS 
ng-include (ajax) 
HTML repeating.html 
Podaci se 
učitavaju u 
postojeću 
stranicu
Prilagođene direktive
Rute / Konfiguracija
Kontroleri
Kontroleri
Hibridne mobilne aplikacije 
 Nativne 
 SDK 
 Mobilni Web 
 PHP, node.js 
 Hibridne 
 HTML5, JS
Što odabrati? 
 Hibridne aplikacije 
 Razvoj istovremeno na više platformi 
 Brži razvoj općenito 
 Pristup većini nativnih komponenti 
 Lošije performanse 
 Nativne aplikacije 
 Najbolje performanse 
 Sporiji razvoj 
 Specifične za platformu
Što odabrati? 
 Hibridne aplikacije su Vaš izbor ako: 
 Ciljate na razvoj na više platformi 
 Želite koristiti mogućnosti kao što su kamera, geolokacija ili akcelerometar 
 Želite aplikaciju koja će raditi i kada nemate pristup internetu 
 Ne interesiraju Vas grafičke performanse
Što odabrati?
Što trebamo znati? 
 HTML5, CSS3 (SCSS i LESS) 
 HTML5 mobilni framework (OnsenUI, Ionic, IntelAppFramework, jQueryMobile, KendoUI…) 
 JS (AngularJS ili jQueryMobile) 
 Ako je potrebna komunikacija sa serverom: PHP, ASP … 
 CLI (phonegap, cordova, nodejs)
Ionic framewrok 
 Besplatan 
 Open Source 
 Optimiziran za mobilne uređaje 
 Zasnovan na angularJS 
 Izvrsne performanse 
 Phonegap/Cordova 
 Koristi vlastite html tagove <ion>
Onsen framework 
 Širok spektar gotovih UI komponenti 
 Dizajn prilagođen za mobilne uređaje i tablete 
 Izvrsne performanse 
 Korisit angularJS 
 Phonegap/Cordova 
 Koristi vlastite html tagove <ons>
Onsen karakteristike 
 +Nevjerojatan broj gotovih komponenti 
 +Velik broj gotovih templatea ili layouta 
 +Monaca (debug) 
 -Monaca nije besplatna 
 -Gotovi layouti nisu temeljeni na angularu
Ionic karakteristike 
 +ionic CLI 
 +besplatan 
 +Open Source 
 +u potpunosti temeljen na angularJS 
 +Prepoznavanje platforme 
 +Native feel 
 -Još uvijek je beta 
 -manjak templat-a 
 -konstantne nadogradnje
Hibridna aplikacija koja 
uploada i pretražuje slike na 
flickeru!
Izbor layouta 
• Potreban je jedan screen 
• Jedan button 
• Forma za pretragu
Index.html
App.js
directives.js
controllers.js
In ction
Hvala na pažnji!

More Related Content

PDF
JavaCro'14 - JavaScript single-page applications i JEE, can they fit together...
PPTX
Mean Stack JavaCro 2014
PPTX
Panel diskusija - usporedba Web frameworka (IT Showoff)
PPT
Analiza_web_sjedista
PPTX
Vuk Nikolić - Web frontend - startap akademija, prva tech radionica
PPSX
Štampa i web
PPTX
Konferencja 2012
JavaCro'14 - JavaScript single-page applications i JEE, can they fit together...
Mean Stack JavaCro 2014
Panel diskusija - usporedba Web frameworka (IT Showoff)
Analiza_web_sjedista
Vuk Nikolić - Web frontend - startap akademija, prva tech radionica
Štampa i web
Konferencja 2012

Viewers also liked (12)

PDF
Konflikti kreativni centar
PPT
Marcetić andreja upravljanje konfliktima motivacija
PDF
Factor de reduccion
PDF
Lab 4 active directory domain services
PPT
Pemberlakuan Standar English As Second Language (ESL)
PDF
India_alumni_newsletter_December2016_opt
PDF
Islam of sea
PPT
Семинар PMI Уфа, апрель 2015г.
PPTX
Kresge Eminent Artist 2014: Bill Rauhauser
PDF
나의 핀란드 여행
PAGES
สวัสดีค่ะครับ
PPTX
Best practices machine learning final
Konflikti kreativni centar
Marcetić andreja upravljanje konfliktima motivacija
Factor de reduccion
Lab 4 active directory domain services
Pemberlakuan Standar English As Second Language (ESL)
India_alumni_newsletter_December2016_opt
Islam of sea
Семинар PMI Уфа, апрель 2015г.
Kresge Eminent Artist 2014: Bill Rauhauser
나의 핀란드 여행
สวัสดีค่ะครับ
Best practices machine learning final
Ad

Similar to AngularJS - Ivan Vučičević (10)

PPTX
WebUG - Hibridne mobilne aplikacije
PPTX
Angular 2 and TypeScript - 2016 Dump Day
ODP
[TVZ računarstvo] Dinamičke web aplikacije, predavanje 11.
PDF
JavaCro'14 - MEAN Stack – How & When – Nenad Pećanac
PDF
Razvoj Softvera Za Android Os
PPT
Sve potrebne tehnologije za uspješno pokretanje servisa na mobilnom tržištu
PDF
Web tehnologije u desktop developmentu
PPTX
Razvoj aplikacija za Google Chromecast - Branimir Conjar, Matija Kovačić, Kre...
PPT
Zasto Flex
PPTX
(WS11) Srđan Stanić (Pet minuta): JavaScript svemogući*
WebUG - Hibridne mobilne aplikacije
Angular 2 and TypeScript - 2016 Dump Day
[TVZ računarstvo] Dinamičke web aplikacije, predavanje 11.
JavaCro'14 - MEAN Stack – How & When – Nenad Pećanac
Razvoj Softvera Za Android Os
Sve potrebne tehnologije za uspješno pokretanje servisa na mobilnom tržištu
Web tehnologije u desktop developmentu
Razvoj aplikacija za Google Chromecast - Branimir Conjar, Matija Kovačić, Kre...
Zasto Flex
(WS11) Srđan Stanić (Pet minuta): JavaScript svemogući*
Ad

More from Kruno Ris (12)

PPTX
Digital Transformation
PPTX
Marketing u startup tvrtkama
PPTX
CityHub
PPTX
Poduzetnici nisu zli, oni pokreću
PPTX
CityHub
PPTX
Tjedan mobilnosti studenata
PPTX
BetaWare d.o.o. ukratko
PPTX
FlyStartup | Seminar o poduzetništvu
PPTX
Ekspertni sustavi
PPTX
Data WareHose
PPT
Mobile development
PPTX
Elektronsko poslovanje mPayment
Digital Transformation
Marketing u startup tvrtkama
CityHub
Poduzetnici nisu zli, oni pokreću
CityHub
Tjedan mobilnosti studenata
BetaWare d.o.o. ukratko
FlyStartup | Seminar o poduzetništvu
Ekspertni sustavi
Data WareHose
Mobile development
Elektronsko poslovanje mPayment

AngularJS - Ivan Vučičević

  • 1. Izrada hibridnih mobilnih aplikacija temeljenih na angular.js Ivan Vucicevic, BetaWare Osijek 2014.
  • 2. Što trebamo znati?  Potrebno predznanje javaScript-a  Potrebno znanje HTML-a
  • 3. Zašto Angular?  Ako želimo napravit dinamičku web ili mobilnu aplikaciju Angular je odličan izbor  Angular nam jako dobro strukturira i organizira kod javaScript-a  Angular nam omogućuje izradu jako brzih web stranica  Angular se ponaša odlično pri radu s jQuery-em  Angular nam pruža lako održavanje software-a  Angular proširuje HTML s novim atributima  Angular je savršen za SPA  Jednostavan za učenje
  • 4. Što Angular čini tako brzim? Server Url zahtjev na server Odgovor servera s web stranicom HTML + JS Korisnik klikne na link Odgovor servera s web stranicom HTML + JS
  • 5. Što Angular čini tako brzim? Server Url zahtjev na server Odgovor servera s web stranicom HTML + JS Korisnik klikne na link Odgovor servera s JSON podacima Podaci se učitavaju u postojeću stranicu
  • 6. Što je Angular u stvari?  Open-source JavaScript framework koji se izvršava na strani klijenta  Održavan je od strane googla  Nastao 2010.  Slijedi MVC kako bi olakšao i ubrzao razvoj  Koristi tzv. direktive  Two-way data binding ($scope)  Moćni templating HTML-a
  • 7. Što je Angular u stvari?
  • 8. Kako koristiti Angular s našom web ili mobilnom aplikacijom?  Vrlo jednostavno  CDN  Direktno
  • 9. Moduli u Angularu  Moduli su gdje pišemo dijelove naše aplikacije, te na taj način držimo kod enkapsuliranim  Zbog takvog pristupa kod nam je lakše održiv i čitljiv  Također u modulima definiramo ovisnosti ostalih modula za našu aplikaciju
  • 10. Moduli u Angularu var ngApp = angular.module('ngApp', [‘module2‘, ‘module3']); app.js
  • 11. Pisanje izraza u Angularu  ng-app direktiva je definirala cijeli HTML kao angular aplikaciju  Na taj način omogućeno nam je pisanje izraza unutar vitičastih zagrada
  • 12. Primjeri direktiva (najčešće korištenih)  ng-app – dodavanje Modula angular aplikacije stranici  ng-controller – dodavanje funkcije kontrolera stranici  ng-show/ng-hide – Prikaz/skrivanje elementa ovisno o vrijednosti modela  ng-repeat – ponavljanje za svaki element niza (foreach)
  • 13. Filteri u Angularu  Angular biblioteka u sebi sadrži mnoge filtere koji se pozivaju „pipe” operatorom (currency, datetime, number, orderBy)  Mogućnost izrade custom filtera
  • 14. <img> tag  Problem prilikom učitavanaja slike iz niza.
  • 17. Dupliciranje Server Url zahtjev na server Odgovor servera s web stranicom HTML + JS ng-include (ajax) HTML repeating.html Podaci se učitavaju u postojeću stranicu
  • 22. Hibridne mobilne aplikacije  Nativne  SDK  Mobilni Web  PHP, node.js  Hibridne  HTML5, JS
  • 23. Što odabrati?  Hibridne aplikacije  Razvoj istovremeno na više platformi  Brži razvoj općenito  Pristup većini nativnih komponenti  Lošije performanse  Nativne aplikacije  Najbolje performanse  Sporiji razvoj  Specifične za platformu
  • 24. Što odabrati?  Hibridne aplikacije su Vaš izbor ako:  Ciljate na razvoj na više platformi  Želite koristiti mogućnosti kao što su kamera, geolokacija ili akcelerometar  Želite aplikaciju koja će raditi i kada nemate pristup internetu  Ne interesiraju Vas grafičke performanse
  • 26. Što trebamo znati?  HTML5, CSS3 (SCSS i LESS)  HTML5 mobilni framework (OnsenUI, Ionic, IntelAppFramework, jQueryMobile, KendoUI…)  JS (AngularJS ili jQueryMobile)  Ako je potrebna komunikacija sa serverom: PHP, ASP …  CLI (phonegap, cordova, nodejs)
  • 27. Ionic framewrok  Besplatan  Open Source  Optimiziran za mobilne uređaje  Zasnovan na angularJS  Izvrsne performanse  Phonegap/Cordova  Koristi vlastite html tagove <ion>
  • 28. Onsen framework  Širok spektar gotovih UI komponenti  Dizajn prilagođen za mobilne uređaje i tablete  Izvrsne performanse  Korisit angularJS  Phonegap/Cordova  Koristi vlastite html tagove <ons>
  • 29. Onsen karakteristike  +Nevjerojatan broj gotovih komponenti  +Velik broj gotovih templatea ili layouta  +Monaca (debug)  -Monaca nije besplatna  -Gotovi layouti nisu temeljeni na angularu
  • 30. Ionic karakteristike  +ionic CLI  +besplatan  +Open Source  +u potpunosti temeljen na angularJS  +Prepoznavanje platforme  +Native feel  -Još uvijek je beta  -manjak templat-a  -konstantne nadogradnje
  • 31. Hibridna aplikacija koja uploada i pretražuje slike na flickeru!
  • 32. Izbor layouta • Potreban je jedan screen • Jedan button • Forma za pretragu