{"id":5149,"date":"2017-04-10T23:21:39","date_gmt":"2017-04-10T21:21:39","guid":{"rendered":"https:\/\/www.tomislavstankovic.com\/blog\/?p=5149"},"modified":"2019-01-05T19:55:46","modified_gmt":"2019-01-05T17:55:46","slug":"stigao-je-ionic-3","status":"publish","type":"post","link":"https:\/\/www.tomislavstankovic.com\/blog\/stigao-je-ionic-3\/","title":{"rendered":"Stigao je Ionic 3!"},"content":{"rendered":"<p><a href=\"https:\/\/blog.ionic.io\/ionic-3-0-has-arrived\/\" target=\"_blank\">Stigao nam je <em>Ionic 3<\/em><\/a>! Iako se iz samog naziva nove verzije promjena mo\u017ee \u010diniti velikom zapravo nije, barem ne u onoj mjeri u kojoj je <a href=\"https:\/\/ionicframework.com\/files\/Ionic2Migration.pdf\" target=\"_blank\">nakon <em>Ionic<\/em> verzije 1 stigla verzija 2<\/a>.<\/p>\n<p>Ako <a href=\"https:\/\/www.tomislavstankovic.com\/blog\/uvod-u-ionic-2\/\">pokre\u0107ete novi projekt<\/a> naredbom <span class=\"lang:sh decode:true crayon-inline \">$ ionic start NazivAplikacije blank &#8211;v2<\/span> od petka, 07.04.2017., onda ve\u0107 koristite <em>Ionic 3<\/em> i ne morate raditi izmjene koje \u0107u opisati u nastavku.<\/p>\n<p>Za sve vas koji <strong>imate<\/strong> postoje\u0107e <strong>projekte temeljene na <em>Ionicu 2<\/em> i \u017eelite prije\u0107i na <em>Ionic 3<\/em><\/strong> u nastavku mo\u017eete saznati kako to napraviti.<\/p>\n<h2>Ionic 2 -&gt; Ionic 3<\/h2>\n<p><em><a href=\"https:\/\/angularjs.blogspot.hr\/\" target=\"_blank\">Angular 4<\/a><\/em>, koji je <a href=\"https:\/\/angularjs.blogspot.hr\/2017\/03\/angular-400-now-available.html\" target=\"_blank\">iza\u0161ao prije nekoliko dana<\/a>, jedan je od va\u017enijih razloga za\u0161to sada imamo i <em>Ionic 3<\/em>.<\/p>\n<h3>1.) package.json<\/h3>\n<p>Prije svega potrebno je obrisati postoje\u0107u <span class=\"lang:default decode:true crayon-inline\">node_modules<\/span> mapu jer \u0107emo od sada koristiti nove NPM pakete.<\/p>\n<p>Nakon toga, potrebno je navesti nove NPM pakete koji sada uklju\u010duju novi Angular 4 i novi TypeScript. To je mogu\u0107e u\u010diniti na na\u010din otvorite postoje\u0107u <span class=\"lang:default decode:true crayon-inline\">package.json<\/span> datoteku i dodate sljede\u0107e:<\/p>\n<pre class=\"lang:js decode:true \" title=\"pcakage.json\">\"dependencies\": {\r\n    \"@angular\/common\": \"4.0.0\",\r\n    \"@angular\/compiler\": \"4.0.0\",\r\n    \"@angular\/compiler-cli\": \"4.0.0\",\r\n    \"@angular\/core\": \"4.0.0\",\r\n    \"@angular\/forms\": \"4.0.0\",\r\n    \"@angular\/http\": \"4.0.0\",\r\n    \"@angular\/platform-browser\": \"4.0.0\",\r\n    \"@angular\/platform-browser-dynamic\": \"4.0.0\",\r\n    \"@ionic-native\/core\": \"3.4.2\",\r\n    \"@ionic-native\/splash-screen\": \"3.4.2\",\r\n    \"@ionic-native\/status-bar\": \"3.4.2\",\r\n    \"@ionic\/storage\": \"2.0.1\",\r\n    \"ionic-angular\": \"3.0.1\",\r\n    \"ionicons\": \"3.0.0\",\r\n    \"rxjs\": \"5.1.1\",\r\n    \"sw-toolbox\": \"3.4.0\",\r\n    \"zone.js\": \"^0.8.4\"\r\n},\r\n\"devDependencies\": {\r\n  \"@ionic\/app-scripts\": \"1.3.0\",\r\n  \"typescript\": \"~2.2.1\"\r\n}<\/pre>\n<p>VA\u017dNO!<\/p>\n<p>Naravno, ako u postoje\u0107em <em><a href=\"https:\/\/www.tomislavstankovic.com\/blog\/uvod-u-ionic-2\/\" target=\"_blank\">Ionic 2<\/a><\/em> projektu imate neki NPM paket naveden pod <span class=\"lang:js decode:true crayon-inline \">dependencies<\/span> ili <span class=\"lang:js decode:true crayon-inline \">devDependencies<\/span> navedite i njega unutar <span class=\"lang:default decode:true crayon-inline \">package.json<\/span> datoteke kako bi se i on ponovno instalirao jer vam u suprotnom <em>Ionic 3<\/em> projekt ne\u0107e raditi.<\/p>\n<p>U jednom od svojih projekata koristio sam <a href=\"https:\/\/github.com\/ngx-translate\/core\" target=\"_blank\">@ngx-translate\/core<\/a> NPM paket pa sam zato i njega naveo unutar <span class=\"lang:default decode:true crayon-inline \">package.json<\/span> datoteke.<\/p>\n<p>Sada mo\u017eemo instalirati nove NPM pakete jednostavnom naredbom <span class=\"lang:sh decode:true crayon-inline \">$ npm install<\/span><\/p>\n<h3>2.) BrowserModule<\/h3>\n<p>U <span class=\"lang:default decode:true crayon-inline \">app.module.ts<\/span> je potrebno uvesti <em>BrowserModule<\/em> koji zapravo omogu\u0107ava <a href=\"https:\/\/stackoverflow.com\/questions\/40695025\/whats-the-difference-between-browsermodule-and-platformbrowserdynamic\" target=\"_blank\">kori\u0161tenje mogu\u0107nosti<\/a> koje <em>Angular <\/em> pru\u017ea.<\/p>\n<pre class=\"lang:js decode:true \" title=\"app.module.ts\">import { BrowserModule } from '@angular\/platform-browser';\r\n...\r\nimports: [\r\n  BrowserModule,\r\n  IonicModule.forRoot(MyApp)\r\n],<\/pre>\n<p>Ako koristite <span class=\"lang:js decode:true crayon-inline \">Http<\/span> onda trebate uvesti i <span class=\"lang:js decode:true crayon-inline \">HttpModule<\/span><\/p>\n<pre class=\"lang:js decode:true \" title=\"app.module.ts\">import { HttpModule } from '@angular\/http';\r\n...\r\nimports: [\r\n  BrowserModule,\r\n  HttpModule,\r\n  IonicModule.forRoot(MyApp)\r\n],<\/pre>\n<h3>3.) Ionic Native 3.x<\/h3>\n<p>Nekoliko dana prije nego \u0161to je stigao <em>Ionic 3<\/em> dobili smo <em><a href=\"https:\/\/blog.ionic.io\/ionic-native-3-x\/\" target=\"_blank\">Ionic Native 3.x<\/a><\/em>. To je zapravo novi na\u010din kori\u0161tenja <em><a href=\"https:\/\/www.tomislavstankovic.com\/blog\/ngcordova-ionic\/\" target=\"_blank\">Cordova pluginova<\/a><\/em> tj. <em><a href=\"https:\/\/ionicframework.com\/docs\/native\/\" target=\"_blank\">Ionic Native<\/a><\/em> pluginova. Vi\u0161e o tome mo\u017eete saznati <a href=\"https:\/\/github.com\/driftyco\/ionic-native\/blob\/master\/README.md\" target=\"_blank\">ovdje<\/a>.<\/p>\n<p>Uglavnom, u postoje\u0107oj <em>Ionic 2<\/em> aplikaciji trebate opet instalirati sve pluginove tako da budu prilago\u0111eni novoj strukturi ostatka aplikacije. Do sada ste pluginove instalirali na Ionic Native 2.x na\u010din, a to zna\u010di kori\u0161tenje naredbe kao \u0161to je npr. <span class=\"lang:sh decode:true crayon-inline \">$ ionic plugin add cordova-plugin-device<\/span> te se onda taj plugin u aplikaciju poziva na sljede\u0107i na\u010din <span class=\"lang:js decode:true crayon-inline \">import { Device } from &#8216;ionic-native&#8217;;<\/span><\/p>\n<p>Ionic Native 3.x na\u010din instalacije i kori\u0161tenja podrazumijeva instalaciju plugina jo\u0161 i s naredbom <span class=\"lang:sh decode:true crayon-inline \">$ npm install &#8211;save @ionic-native\/device<\/span> pri \u010demu se uvoz plugina vr\u0161i na sljede\u0107i na\u010din<\/p>\n<pre class=\"lang:js decode:true \">import { Device } from '@ionic-native\/device';\r\n\r\nconstructor(private device: Device) { }\r\n\r\n...\r\n\r\nconsole.log('Device UUID is: ' + this.device.uuid);<\/pre>\n<p>Zna\u010di, od sada svoje <em>Ionic Native 3.x<\/em> pluginove instalirate koriste\u0107i obje ranije navedene naredbe. Tako\u0111er obavezno provjerite dokumentaciju svakog plugina jer se vrlo lako mo\u017ee dogoditi da po novome koristi neke nove metode, a stare vi\u0161e ne i zbog toga vam se mo\u017ee dogoditi da aplikacija prikazuje gre\u0161ku vezanu uz neki od pluginova.<\/p>\n<h3>4.) module.ts i IonicPage<\/h3>\n<p>Kada bi u <a href=\"https:\/\/www.tomislavstankovic.com\/blog\/uvod-u-ionic-2\/\">Ionic 2 aplikaciji<\/a> kreirali novu stranicu dobili biste tri datoteke (.html,.scss,.ts), dok ako idete kreirati novu stranicu u verziji 3 dobit \u0107ete dodatnu datoteku s nastavkom  <span class=\"lang:default decode:true  crayon-inline\">.module.ts<\/span>, a kako se ovdje radi o prebacivanju <em>Ionic 2<\/em> aplikacije u <em>Ionic 3<\/em> zna\u010di da svaka va\u0161a ranije kreirana stranica treba dobiti svoju <span class=\"lang:default decode:true  crayon-inline\">.module.ts<\/span> datoteku.<\/p>\n<p>U nastavku mo\u017eete vidjeti primjer jedne takve datoteke<\/p>\n<pre class=\"lang:js decode:true \" title=\"home-tabs.module.ts\" >import { NgModule } from '@angular\/core';\r\nimport { IonicPageModule } from 'ionic-angular';\r\nimport { HomeTabsPage } from '.\/home-tabs';\r\n \r\n@NgModule({\r\n  declarations: [\r\n    HomeTabsPage,\r\n  ],\r\n  imports: [\r\n    IonicPageModule.forChild(HomeTabsPage),\r\n  ],\r\n  exports: [\r\n    HomeTabsPage\r\n  ]\r\n})\r\nexport class HomeTabsPageModule {}<\/pre>\n<p>Nakon toga u .ts datoteci koju imate od ranije za sve stranice dodajte  <span class=\"lang:js decode:true  crayon-inline \" >IonicPage<\/span>  dekorator na sljede\u0107i na\u010din<\/p>\n<pre class=\"lang:js decode:true \" title=\"home.ts\" >import { IonicPage } from 'ionic-angular';\r\n...\r\n...\r\n@IonicPage()\r\n@Component({<\/pre>\n<h3>5.) Uklanjanje uvoza stranica<\/h3>\n<p>Nakon prethodnog koraka mo\u017eete pro\u0107i kroz sve stranice tj. njihove .ts datoteke i maknuti  uvoze drugih stranica <span class=\"lang:js decode:true  crayon-inline\">import {AboutPage} from &#8216;..\/about\/about&#8217;;<\/span>. Isto napravite i unutar  <span class=\"lang:default decode:true  crayon-inline\">app.module.ts<\/span> datoteke u kojoj \u0107ete tako\u0111er maknuti stranice iz  <span class=\"lang:js decode:true  crayon-inline \" >declarations<\/span>  i  <span class=\"lang:js decode:true  crayon-inline \" >entryComponents<\/span>  nizova.<\/p>\n<p>Na\u010din na koji \u0107ete od sada me\u0111usobno povezivati stranice ne razlikuje se puno od &#8220;starog&#8221; na\u010dina osim \u0161to \u0107ete naziv svake stranice proslijediti kao string.<\/p>\n<p>Zna\u010di, umjesto \t <span class=\"lang:js decode:true  crayon-inline \" >let modal = this.modalCtrl.create(ReplacementModalPage);<\/span>  koristit \u0107ete  <span class=\"lang:js decode:true  crayon-inline \" >let modal = this.modalCtrl.create(&#8216;ReplacementModalPage&#8217;);<\/span> .<\/p>\n<h2>Mogu\u0107i problemi<\/h2>\n<p>Ako ste napravili sve ranije navedeno vi od sada koristite novi <em>Ionic 3<\/em> i <em>Angular 4<\/em>. Ipak, unato\u010d tome va\u0161 <em>Ionic 3<\/em> projekt i dalje ne mora raditi kako bi trebao, a uzroka mo\u017ee biti nekoliko.<\/p>\n<h4>ionic-native<\/h4>\n<p><a href=\"https:\/\/www.tomislavstankovic.com\/blog\/wp-content\/uploads\/2017\/04\/ionic-native-error.png\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.tomislavstankovic.com\/blog\/wp-content\/uploads\/2017\/04\/ionic-native-error-300x191.png\" alt=\"Uncaught Error: Cannot find module &quot;ionic-native&quot;\" width=\"300\" height=\"191\" class=\"alignleft size-medium wp-image-5183\" srcset=\"https:\/\/www.tomislavstankovic.com\/blog\/wp-content\/uploads\/2017\/04\/ionic-native-error-300x191.png 300w, https:\/\/www.tomislavstankovic.com\/blog\/wp-content\/uploads\/2017\/04\/ionic-native-error-768x488.png 768w, https:\/\/www.tomislavstankovic.com\/blog\/wp-content\/uploads\/2017\/04\/ionic-native-error-1024x651.png 1024w, https:\/\/www.tomislavstankovic.com\/blog\/wp-content\/uploads\/2017\/04\/ionic-native-error.png 1266w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a> Ako dobijete gre\u0161ku &#8220;<span style=\"color: #ff0000;\"><em>Uncaught Error: Cannot find module &#8220;ionic-native&#8221;<\/em><\/span>&#8221; zna\u010di da jo\u0161 negdje u aplikaciji koristite <em>Ionic Native 2.x<\/em> na\u010din uvoza pluginova. Kada iz svih datoteka izbacite <span class=\"lang:js decode:true crayon-inline \">import { NazivPlugina } from &#8216;ionic-native&#8217;;<\/span> ovu gre\u0161ku vi\u0161e ne\u0107ete vidjeti.<\/p>\n<h4>forChild<\/h4>\n<p><a href=\"https:\/\/ionicframework.com\/docs\/cli\/generate\/\" target=\"_blank\">Kreirali ste novu stranicu<\/a> i dobili gre\u0161ku <span style=\"color: #ff0000;\"><em>Property &#8216;forChild&#8217; does not exist on type &#8216;typeof IonicModule&#8217;<\/em><\/span> rje\u0161enje se da umjesto  <span class=\"lang:js decode:true  crayon-inline \" >IonicModule<\/span>  koristite  <span class=\"lang:js decode:true  crayon-inline \" >IonicPageModule<\/span> .<\/p>\n<h4>ion-img<\/h4>\n<p>Ako dobijete gre\u0161ku &#8220;<span style=\"color: #ff0000;\"><em>TypeError: Cannot read property \u2018isImgsUpdatable\u2019 of null<\/em><\/span>&#8221; to zna\u010di da unutar neke .html datoteke koristite <span class=\"lang:xhtml decode:true crayon-inline \">&lt;ion-img&gt;<\/span> tag, a koji se ne nalazi unutar <span class=\"lang:xhtml decode:true crayon-inline \">&lt;ion-content&gt;<\/span> taga. Vi\u0161e o tome <a href=\"https:\/\/forum.ionicframework.com\/t\/ion-img-cannot-read-property-isimgsupdatable-of-null\/76316\" target=\"_blank\">ovdje<\/a>.<\/p>\n<p>Kako bi ovu gre\u0161ku izbjegli koristite obi\u010dan <span class=\"lang:xhtml decode:true crayon-inline \">&lt;img&gt;<\/span> tag na svim mjestima koja se ne nalaze unutar <span class=\"lang:xhtml decode:true crayon-inline \">&lt;ion-content&gt;<\/span> taga.<\/p>\n<h4>ionic grid<\/h4>\n<p>Sve ranije ste dobro napravili i gore navedenih gre\u0161aka vi\u0161e nema, ali aplikacija i dalje ne izgleda kako bi trebala i sve je nekako razbacano, nije na svojem mjestu,&#8230; Za\u0161to je to tako? Odgovor se nalazi u novom <em><a href=\"https:\/\/blog.ionic.io\/build-awesome-desktop-apps-with-ionics-new-responsive-grid\/\" target=\"_blank\">Ionic Grid<\/a><\/em> sistemu.<\/p>\n<p>Npr.  <\/p>\n<pre class=\"lang:xhtml decode:true \" >&lt;ion-col width-50&gt;col&lt;\/ion-col&gt;<\/pre>\n<p> \u0107e od sada biti  <\/p>\n<pre class=\"lang:xhtml decode:true \" >&lt;ion-col col-6&gt;col&lt;\/ion-col&gt;<\/pre>\n<p>Vi\u0161e o tome u <a href=\"https:\/\/ionicframework.com\/docs\/api\/components\/grid\/Grid\/\" target=\"_blank\">slu\u017ebenoj dokumentaciji<\/a>.<\/p>\n<p>Pro\u0111ite kroz .html datoteke i napravite potrebne izmjene kako bi va\u0161a nova <em>Ionic 3<\/em> aplikacija zasjala u punom sjaju!<\/p>\n<h2>Zaklju\u010dak<\/h2>\n<p>Kao \u0161to ste mogli vidjeti migracija na <em>Ionic 3<\/em> mo\u017ee se obaviti relativno brzo i relativno jednostavno kada znate \u0161to treba napraviti. Ipak, prije nego <a href=\"https:\/\/www.tomislavstankovic.com\/blog\/ionic-aplikacija-google-play-store\/\">objavite novu verziju aplikacije na <em>Google Play Store<\/em><\/a> ili <em>Apple Store<\/em> ulo\u017eite ne\u0161to vremena u testiranje svih funkcionalnosti va\u0161e <em>Ionic 3<\/em> aplikacije pogotovo zato \u0161to ste instalirali nove verzije pluginova \u010dije metode se mogu razlikovati od onih koje trenutno koristite u mobilnoj aplikaciji i koje je zbog toga potrebno prilagoditi.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Stigao nam je Ionic 3! Iako se iz samog naziva nove verzije promjena mo\u017ee \u010diniti velikom zapravo nije, barem ne u onoj mjeri u kojoj je nakon Ionic verzije 1 stigla verzija 2. Ako pokre\u0107ete novi projekt naredbom $ ionic start NazivAplikacije blank &#8211;v2 od petka, 07.04.2017., onda ve\u0107 koristite Ionic 3 i ne morate &hellip; <a href=\"https:\/\/www.tomislavstankovic.com\/blog\/stigao-je-ionic-3\/\" class=\"more-link\">Nastavi \u010ditati <span class=\"screen-reader-text\">Stigao je Ionic 3!<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":5151,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"footnotes":""},"categories":[564,351],"tags":[381,400,401],"class_list":["post-5149","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-mobile","category-razvoj","tag-ionic-2","tag-ionic-3","tag-ionic-native-3-x"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.8 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Stigao je Ionic 3! - Tomislav Stankovi\u0107<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.tomislavstankovic.com\/blog\/stigao-je-ionic-3\/\" \/>\n<meta property=\"og:locale\" content=\"hr_HR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Stigao je Ionic 3! - Tomislav Stankovi\u0107\" \/>\n<meta property=\"og:description\" content=\"Stigao nam je Ionic 3! Iako se iz samog naziva nove verzije promjena mo\u017ee \u010diniti velikom zapravo nije, barem ne u onoj mjeri u kojoj je nakon Ionic verzije 1 stigla verzija 2. Ako pokre\u0107ete novi projekt naredbom $ ionic start NazivAplikacije blank &#8211;v2 od petka, 07.04.2017., onda ve\u0107 koristite Ionic 3 i ne morate &hellip; Nastavi \u010ditati Stigao je Ionic 3!\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.tomislavstankovic.com\/blog\/stigao-je-ionic-3\/\" \/>\n<meta property=\"og:site_name\" content=\"Tomislav Stankovi\u0107\" \/>\n<meta property=\"article:published_time\" content=\"2017-04-10T21:21:39+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2019-01-05T17:55:46+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.tomislavstankovic.com\/blog\/wp-content\/uploads\/2017\/04\/ionic3.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"825\" \/>\n\t<meta property=\"og:image:height\" content=\"510\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Tomislav Stankovi\u0107\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Napisao\/la\" \/>\n\t<meta name=\"twitter:data1\" content=\"Tomislav Stankovi\u0107\" \/>\n\t<meta name=\"twitter:label2\" content=\"Procijenjeno vrijeme \u010ditanja\" \/>\n\t<meta name=\"twitter:data2\" content=\"5 minuta\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.tomislavstankovic.com\\\/blog\\\/stigao-je-ionic-3\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.tomislavstankovic.com\\\/blog\\\/stigao-je-ionic-3\\\/\"},\"author\":{\"name\":\"Tomislav Stankovi\u0107\",\"@id\":\"https:\\\/\\\/www.tomislavstankovic.com\\\/blog\\\/#\\\/schema\\\/person\\\/0329c549c57700034ea77f5d3d78396d\"},\"headline\":\"Stigao je Ionic 3!\",\"datePublished\":\"2017-04-10T21:21:39+00:00\",\"dateModified\":\"2019-01-05T17:55:46+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.tomislavstankovic.com\\\/blog\\\/stigao-je-ionic-3\\\/\"},\"wordCount\":973,\"commentCount\":2,\"publisher\":{\"@id\":\"https:\\\/\\\/www.tomislavstankovic.com\\\/blog\\\/#\\\/schema\\\/person\\\/0329c549c57700034ea77f5d3d78396d\"},\"image\":{\"@id\":\"https:\\\/\\\/www.tomislavstankovic.com\\\/blog\\\/stigao-je-ionic-3\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.tomislavstankovic.com\\\/blog\\\/wp-content\\\/uploads\\\/2017\\\/04\\\/ionic3.jpg\",\"keywords\":[\"Ionic 2\",\"Ionic 3\",\"Ionic Native 3.x\"],\"articleSection\":[\"Mobile\",\"Razvoj\"],\"inLanguage\":\"hr\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.tomislavstankovic.com\\\/blog\\\/stigao-je-ionic-3\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.tomislavstankovic.com\\\/blog\\\/stigao-je-ionic-3\\\/\",\"url\":\"https:\\\/\\\/www.tomislavstankovic.com\\\/blog\\\/stigao-je-ionic-3\\\/\",\"name\":\"Stigao je Ionic 3! - Tomislav Stankovi\u0107\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.tomislavstankovic.com\\\/blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.tomislavstankovic.com\\\/blog\\\/stigao-je-ionic-3\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.tomislavstankovic.com\\\/blog\\\/stigao-je-ionic-3\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.tomislavstankovic.com\\\/blog\\\/wp-content\\\/uploads\\\/2017\\\/04\\\/ionic3.jpg\",\"datePublished\":\"2017-04-10T21:21:39+00:00\",\"dateModified\":\"2019-01-05T17:55:46+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.tomislavstankovic.com\\\/blog\\\/stigao-je-ionic-3\\\/#breadcrumb\"},\"inLanguage\":\"hr\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.tomislavstankovic.com\\\/blog\\\/stigao-je-ionic-3\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"hr\",\"@id\":\"https:\\\/\\\/www.tomislavstankovic.com\\\/blog\\\/stigao-je-ionic-3\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.tomislavstankovic.com\\\/blog\\\/wp-content\\\/uploads\\\/2017\\\/04\\\/ionic3.jpg\",\"contentUrl\":\"https:\\\/\\\/www.tomislavstankovic.com\\\/blog\\\/wp-content\\\/uploads\\\/2017\\\/04\\\/ionic3.jpg\",\"width\":825,\"height\":510,\"caption\":\"Stigao je Ionic 3!\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.tomislavstankovic.com\\\/blog\\\/stigao-je-ionic-3\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Po\u010detna stranica\",\"item\":\"https:\\\/\\\/www.tomislavstankovic.com\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Stigao je Ionic 3!\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.tomislavstankovic.com\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/www.tomislavstankovic.com\\\/blog\\\/\",\"name\":\"Tomislav Stankovi\u0107\",\"description\":\"Sam svoj bloger\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.tomislavstankovic.com\\\/blog\\\/#\\\/schema\\\/person\\\/0329c549c57700034ea77f5d3d78396d\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.tomislavstankovic.com\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"hr\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\\\/\\\/www.tomislavstankovic.com\\\/blog\\\/#\\\/schema\\\/person\\\/0329c549c57700034ea77f5d3d78396d\",\"name\":\"Tomislav Stankovi\u0107\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"hr\",\"@id\":\"https:\\\/\\\/www.tomislavstankovic.com\\\/blog\\\/wp-content\\\/uploads\\\/2019\\\/10\\\/cropped-TomislavStankovic.jpg\",\"url\":\"https:\\\/\\\/www.tomislavstankovic.com\\\/blog\\\/wp-content\\\/uploads\\\/2019\\\/10\\\/cropped-TomislavStankovic.jpg\",\"contentUrl\":\"https:\\\/\\\/www.tomislavstankovic.com\\\/blog\\\/wp-content\\\/uploads\\\/2019\\\/10\\\/cropped-TomislavStankovic.jpg\",\"width\":248,\"height\":165,\"caption\":\"Tomislav Stankovi\u0107\"},\"logo\":{\"@id\":\"https:\\\/\\\/www.tomislavstankovic.com\\\/blog\\\/wp-content\\\/uploads\\\/2019\\\/10\\\/cropped-TomislavStankovic.jpg\"},\"description\":\"Bloger \u0161irokog raspona interesa od kojih dio voli objaviti na ovom blogu. U neslobodno vrijeme Angular developer mobilnih i web aplikacija.\",\"sameAs\":[\"https:\\\/\\\/www.tomislavstankovic.com\\\/blog\\\/\",\"https:\\\/\\\/www.linkedin.com\\\/in\\\/tomislavstankovic\\\/\"],\"url\":\"https:\\\/\\\/www.tomislavstankovic.com\\\/blog\\\/author\\\/tomislavstankovic\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Stigao je Ionic 3! - Tomislav Stankovi\u0107","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.tomislavstankovic.com\/blog\/stigao-je-ionic-3\/","og_locale":"hr_HR","og_type":"article","og_title":"Stigao je Ionic 3! - Tomislav Stankovi\u0107","og_description":"Stigao nam je Ionic 3! Iako se iz samog naziva nove verzije promjena mo\u017ee \u010diniti velikom zapravo nije, barem ne u onoj mjeri u kojoj je nakon Ionic verzije 1 stigla verzija 2. Ako pokre\u0107ete novi projekt naredbom $ ionic start NazivAplikacije blank &#8211;v2 od petka, 07.04.2017., onda ve\u0107 koristite Ionic 3 i ne morate &hellip; Nastavi \u010ditati Stigao je Ionic 3!","og_url":"https:\/\/www.tomislavstankovic.com\/blog\/stigao-je-ionic-3\/","og_site_name":"Tomislav Stankovi\u0107","article_published_time":"2017-04-10T21:21:39+00:00","article_modified_time":"2019-01-05T17:55:46+00:00","og_image":[{"width":825,"height":510,"url":"https:\/\/www.tomislavstankovic.com\/blog\/wp-content\/uploads\/2017\/04\/ionic3.jpg","type":"image\/jpeg"}],"author":"Tomislav Stankovi\u0107","twitter_card":"summary_large_image","twitter_misc":{"Napisao\/la":"Tomislav Stankovi\u0107","Procijenjeno vrijeme \u010ditanja":"5 minuta"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.tomislavstankovic.com\/blog\/stigao-je-ionic-3\/#article","isPartOf":{"@id":"https:\/\/www.tomislavstankovic.com\/blog\/stigao-je-ionic-3\/"},"author":{"name":"Tomislav Stankovi\u0107","@id":"https:\/\/www.tomislavstankovic.com\/blog\/#\/schema\/person\/0329c549c57700034ea77f5d3d78396d"},"headline":"Stigao je Ionic 3!","datePublished":"2017-04-10T21:21:39+00:00","dateModified":"2019-01-05T17:55:46+00:00","mainEntityOfPage":{"@id":"https:\/\/www.tomislavstankovic.com\/blog\/stigao-je-ionic-3\/"},"wordCount":973,"commentCount":2,"publisher":{"@id":"https:\/\/www.tomislavstankovic.com\/blog\/#\/schema\/person\/0329c549c57700034ea77f5d3d78396d"},"image":{"@id":"https:\/\/www.tomislavstankovic.com\/blog\/stigao-je-ionic-3\/#primaryimage"},"thumbnailUrl":"https:\/\/www.tomislavstankovic.com\/blog\/wp-content\/uploads\/2017\/04\/ionic3.jpg","keywords":["Ionic 2","Ionic 3","Ionic Native 3.x"],"articleSection":["Mobile","Razvoj"],"inLanguage":"hr","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.tomislavstankovic.com\/blog\/stigao-je-ionic-3\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.tomislavstankovic.com\/blog\/stigao-je-ionic-3\/","url":"https:\/\/www.tomislavstankovic.com\/blog\/stigao-je-ionic-3\/","name":"Stigao je Ionic 3! - Tomislav Stankovi\u0107","isPartOf":{"@id":"https:\/\/www.tomislavstankovic.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.tomislavstankovic.com\/blog\/stigao-je-ionic-3\/#primaryimage"},"image":{"@id":"https:\/\/www.tomislavstankovic.com\/blog\/stigao-je-ionic-3\/#primaryimage"},"thumbnailUrl":"https:\/\/www.tomislavstankovic.com\/blog\/wp-content\/uploads\/2017\/04\/ionic3.jpg","datePublished":"2017-04-10T21:21:39+00:00","dateModified":"2019-01-05T17:55:46+00:00","breadcrumb":{"@id":"https:\/\/www.tomislavstankovic.com\/blog\/stigao-je-ionic-3\/#breadcrumb"},"inLanguage":"hr","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.tomislavstankovic.com\/blog\/stigao-je-ionic-3\/"]}]},{"@type":"ImageObject","inLanguage":"hr","@id":"https:\/\/www.tomislavstankovic.com\/blog\/stigao-je-ionic-3\/#primaryimage","url":"https:\/\/www.tomislavstankovic.com\/blog\/wp-content\/uploads\/2017\/04\/ionic3.jpg","contentUrl":"https:\/\/www.tomislavstankovic.com\/blog\/wp-content\/uploads\/2017\/04\/ionic3.jpg","width":825,"height":510,"caption":"Stigao je Ionic 3!"},{"@type":"BreadcrumbList","@id":"https:\/\/www.tomislavstankovic.com\/blog\/stigao-je-ionic-3\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Po\u010detna stranica","item":"https:\/\/www.tomislavstankovic.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Stigao je Ionic 3!"}]},{"@type":"WebSite","@id":"https:\/\/www.tomislavstankovic.com\/blog\/#website","url":"https:\/\/www.tomislavstankovic.com\/blog\/","name":"Tomislav Stankovi\u0107","description":"Sam svoj bloger","publisher":{"@id":"https:\/\/www.tomislavstankovic.com\/blog\/#\/schema\/person\/0329c549c57700034ea77f5d3d78396d"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.tomislavstankovic.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"hr"},{"@type":["Person","Organization"],"@id":"https:\/\/www.tomislavstankovic.com\/blog\/#\/schema\/person\/0329c549c57700034ea77f5d3d78396d","name":"Tomislav Stankovi\u0107","image":{"@type":"ImageObject","inLanguage":"hr","@id":"https:\/\/www.tomislavstankovic.com\/blog\/wp-content\/uploads\/2019\/10\/cropped-TomislavStankovic.jpg","url":"https:\/\/www.tomislavstankovic.com\/blog\/wp-content\/uploads\/2019\/10\/cropped-TomislavStankovic.jpg","contentUrl":"https:\/\/www.tomislavstankovic.com\/blog\/wp-content\/uploads\/2019\/10\/cropped-TomislavStankovic.jpg","width":248,"height":165,"caption":"Tomislav Stankovi\u0107"},"logo":{"@id":"https:\/\/www.tomislavstankovic.com\/blog\/wp-content\/uploads\/2019\/10\/cropped-TomislavStankovic.jpg"},"description":"Bloger \u0161irokog raspona interesa od kojih dio voli objaviti na ovom blogu. U neslobodno vrijeme Angular developer mobilnih i web aplikacija.","sameAs":["https:\/\/www.tomislavstankovic.com\/blog\/","https:\/\/www.linkedin.com\/in\/tomislavstankovic\/"],"url":"https:\/\/www.tomislavstankovic.com\/blog\/author\/tomislavstankovic\/"}]}},"_links":{"self":[{"href":"https:\/\/www.tomislavstankovic.com\/blog\/wp-json\/wp\/v2\/posts\/5149","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.tomislavstankovic.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.tomislavstankovic.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.tomislavstankovic.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.tomislavstankovic.com\/blog\/wp-json\/wp\/v2\/comments?post=5149"}],"version-history":[{"count":40,"href":"https:\/\/www.tomislavstankovic.com\/blog\/wp-json\/wp\/v2\/posts\/5149\/revisions"}],"predecessor-version":[{"id":5234,"href":"https:\/\/www.tomislavstankovic.com\/blog\/wp-json\/wp\/v2\/posts\/5149\/revisions\/5234"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.tomislavstankovic.com\/blog\/wp-json\/wp\/v2\/media\/5151"}],"wp:attachment":[{"href":"https:\/\/www.tomislavstankovic.com\/blog\/wp-json\/wp\/v2\/media?parent=5149"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.tomislavstankovic.com\/blog\/wp-json\/wp\/v2\/categories?post=5149"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.tomislavstankovic.com\/blog\/wp-json\/wp\/v2\/tags?post=5149"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}