{"id":1757,"date":"2017-03-21T20:49:37","date_gmt":"2017-03-21T20:49:37","guid":{"rendered":"https:\/\/ionic.io\/blog\/?p=1757"},"modified":"2017-04-28T16:19:32","modified_gmt":"2017-04-28T16:19:32","slug":"ionic-native-3-x","status":"publish","type":"post","link":"https:\/\/ionic.io\/blog\/ionic-native-3-x","title":{"rendered":"Ionic Native 3.x"},"content":{"rendered":"<p>Today we&#8217;re excited to release the 3.x version of Ionic Native, a project that makes it easy to use over <a href=\"http:\/\/ionicframework.com\/docs\/v2\/native\/\">130 native mobile SDK features<\/a> in your app through simple JavaScript interfaces, in a way that works across all major platforms (and now the web!). (Impatient? Check out the <a href=\"https:\/\/github.com\/driftyco\/ionic-native\/blob\/master\/README.md\">README<\/a> for instructions on using it, or start a new v2 project)<\/p>\n<p>With this release, we&#8217;ve made two major improvements: drastically reduced code bundle size, and 100% browser development support.<\/p>\n<p><!--more--><\/p>\n<h3>Bundle size improvements<\/h3>\n<p>With Ionic Native 3.x, you install only the plugins you need, saving significant space in your final code bundle. In one test, we saw a 15% code size improvement. If you use a lot of plugins, you&#8217;ll likely see a smaller but still significant improvement.<\/p>\n<h3>Plugin Mocking and Browser Development<\/h3>\n<p>The 3.x release is significant for adding full support for plugin mocking. That means any of of the 130+ Ionic Native plugins can be tested and used in the browser. This makes it possible to build the entirety of your app in the browser or ionic serve without dealing with device or emulator testing, a level of development speed and agility that is unheard of in mobile.<\/p>\n<p>To take full advantage of this new super power, you&#8217;ll need to do some up front work by providing mocks for the plugins you use, and have them return data that makes sense for your app.<\/p>\n<p>Take a look at the <a href=\"http:\/\/ionicframework.com\/docs\/v2\/native\/browser.html\">Browser Usage<\/a> documentation for a full example of how to mock a plugin.<\/p>\n<h3>Ionic\/Angular 1 Support<\/h3>\n<p>3.x is the first version that does not support Ionic\/Angular 1.x. For those using Ionic\/Angular 1, you&#8217;ll need to continue using version 2.x of Ionic Native. Take a look at the README for more info.<\/p>\n<h3>What&#8217;s next?<\/h3>\n<p>Reducing filesize and making it possible to develop your app entirely in the browser even if it relies on native plugins is just step one. We are thinking about ways we can make it easy to work with plugins that have browser APIs available, possibly with pre-baked UI on top of the rapidly expanding Web API&#8217;s out there.<\/p>\n<p>We&#8217;re looking forward to hearing your feedback on the new release, and ways we can help you do more in the browser. To get started, read the <a href=\"https:\/\/github.com\/driftyco\/ionic-native\/blob\/master\/README.md\">README<\/a> for installation instructions, or create a new v2 app.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Today we&#8217;re excited to release the 3.x version of Ionic Native, a project that makes it easy to use over 130 native mobile SDK features in your app through simple JavaScript interfaces, in a way that works across all major platforms (and now the web!). (Impatient? Check out the README for instructions on using it, [&hellip;]<\/p>\n","protected":false},"author":3,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"publish_to_discourse":"","publish_post_category":"","wpdc_auto_publish_overridden":"","wpdc_topic_tags":"","wpdc_pin_topic":"","wpdc_pin_until":"","discourse_post_id":"","discourse_permalink":"","wpdc_publishing_response":"","wpdc_publishing_error":"","_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[1],"tags":[],"class_list":["post-1757","post","type-post","status-publish","format-standard","hentry","category-all"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v23.0 (Yoast SEO v23.0) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Ionic Native 3.x - Ionic Blog<\/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:\/\/ionic.io\/blog\/ionic-native-3-x\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Ionic Native 3.x\" \/>\n<meta property=\"og:description\" content=\"Today we&#8217;re excited to release the 3.x version of Ionic Native, a project that makes it easy to use over 130 native mobile SDK features in your app through simple JavaScript interfaces, in a way that works across all major platforms (and now the web!). (Impatient? Check out the README for instructions on using it, [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/ionic.io\/blog\/ionic-native-3-x\" \/>\n<meta property=\"og:site_name\" content=\"Ionic Blog\" \/>\n<meta property=\"article:published_time\" content=\"2017-03-21T20:49:37+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2017-04-28T16:19:32+00:00\" \/>\n<meta name=\"author\" content=\"Max Lynch\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@maxlynch\" \/>\n<meta name=\"twitter:site\" content=\"@ionicframework\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Max Lynch\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"2 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/ionic.io\/blog\/ionic-native-3-x#article\",\"isPartOf\":{\"@id\":\"https:\/\/ionic.io\/blog\/ionic-native-3-x\"},\"author\":{\"name\":\"Max Lynch\",\"@id\":\"https:\/\/ionic.io\/blog\/#\/schema\/person\/91f360cffbd804a464b0c4a87b5c5f1e\"},\"headline\":\"Ionic Native 3.x\",\"datePublished\":\"2017-03-21T20:49:37+00:00\",\"dateModified\":\"2017-04-28T16:19:32+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/ionic.io\/blog\/ionic-native-3-x\"},\"wordCount\":396,\"commentCount\":37,\"publisher\":{\"@id\":\"https:\/\/ionic.io\/blog\/#organization\"},\"articleSection\":[\"All\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/ionic.io\/blog\/ionic-native-3-x#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/ionic.io\/blog\/ionic-native-3-x\",\"url\":\"https:\/\/ionic.io\/blog\/ionic-native-3-x\",\"name\":\"Ionic Native 3.x - Ionic Blog\",\"isPartOf\":{\"@id\":\"https:\/\/ionic.io\/blog\/#website\"},\"datePublished\":\"2017-03-21T20:49:37+00:00\",\"dateModified\":\"2017-04-28T16:19:32+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/ionic.io\/blog\/ionic-native-3-x#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/ionic.io\/blog\/ionic-native-3-x\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/ionic.io\/blog\/ionic-native-3-x#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/ionic.io\/blog\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Ionic Native 3.x\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/ionic.io\/blog\/#website\",\"url\":\"https:\/\/ionic.io\/blog\/\",\"name\":\"ionic.io\/blog\",\"description\":\"Build amazing native and progressive web apps with the web\",\"publisher\":{\"@id\":\"https:\/\/ionic.io\/blog\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/ionic.io\/blog\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/ionic.io\/blog\/#organization\",\"name\":\"Ionic\",\"url\":\"https:\/\/ionic.io\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/ionic.io\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/ionic.io\/blog\/wp-content\/uploads\/2020\/10\/white-on-color.png\",\"contentUrl\":\"https:\/\/ionic.io\/blog\/wp-content\/uploads\/2020\/10\/white-on-color.png\",\"width\":1920,\"height\":854,\"caption\":\"Ionic\"},\"image\":{\"@id\":\"https:\/\/ionic.io\/blog\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/x.com\/ionicframework\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/ionic.io\/blog\/#\/schema\/person\/91f360cffbd804a464b0c4a87b5c5f1e\",\"name\":\"Max Lynch\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/ionic.io\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/ionic.io\/blog\/wp-content\/uploads\/2018\/05\/max-avatar-150x150.jpg\",\"contentUrl\":\"https:\/\/ionic.io\/blog\/wp-content\/uploads\/2018\/05\/max-avatar-150x150.jpg\",\"caption\":\"Max Lynch\"},\"description\":\"CEO\",\"sameAs\":[\"http:\/\/twitter.com\/maxlynch\",\"https:\/\/x.com\/maxlynch\"],\"url\":\"https:\/\/ionic.io\/blog\/author\/max\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Ionic Native 3.x - Ionic Blog","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:\/\/ionic.io\/blog\/ionic-native-3-x","og_locale":"en_US","og_type":"article","og_title":"Ionic Native 3.x","og_description":"Today we&#8217;re excited to release the 3.x version of Ionic Native, a project that makes it easy to use over 130 native mobile SDK features in your app through simple JavaScript interfaces, in a way that works across all major platforms (and now the web!). (Impatient? Check out the README for instructions on using it, [&hellip;]","og_url":"https:\/\/ionic.io\/blog\/ionic-native-3-x","og_site_name":"Ionic Blog","article_published_time":"2017-03-21T20:49:37+00:00","article_modified_time":"2017-04-28T16:19:32+00:00","author":"Max Lynch","twitter_card":"summary_large_image","twitter_creator":"@maxlynch","twitter_site":"@ionicframework","twitter_misc":{"Written by":"Max Lynch","Est. reading time":"2 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/ionic.io\/blog\/ionic-native-3-x#article","isPartOf":{"@id":"https:\/\/ionic.io\/blog\/ionic-native-3-x"},"author":{"name":"Max Lynch","@id":"https:\/\/ionic.io\/blog\/#\/schema\/person\/91f360cffbd804a464b0c4a87b5c5f1e"},"headline":"Ionic Native 3.x","datePublished":"2017-03-21T20:49:37+00:00","dateModified":"2017-04-28T16:19:32+00:00","mainEntityOfPage":{"@id":"https:\/\/ionic.io\/blog\/ionic-native-3-x"},"wordCount":396,"commentCount":37,"publisher":{"@id":"https:\/\/ionic.io\/blog\/#organization"},"articleSection":["All"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/ionic.io\/blog\/ionic-native-3-x#respond"]}]},{"@type":"WebPage","@id":"https:\/\/ionic.io\/blog\/ionic-native-3-x","url":"https:\/\/ionic.io\/blog\/ionic-native-3-x","name":"Ionic Native 3.x - Ionic Blog","isPartOf":{"@id":"https:\/\/ionic.io\/blog\/#website"},"datePublished":"2017-03-21T20:49:37+00:00","dateModified":"2017-04-28T16:19:32+00:00","breadcrumb":{"@id":"https:\/\/ionic.io\/blog\/ionic-native-3-x#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/ionic.io\/blog\/ionic-native-3-x"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/ionic.io\/blog\/ionic-native-3-x#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/ionic.io\/blog"},{"@type":"ListItem","position":2,"name":"Ionic Native 3.x"}]},{"@type":"WebSite","@id":"https:\/\/ionic.io\/blog\/#website","url":"https:\/\/ionic.io\/blog\/","name":"ionic.io\/blog","description":"Build amazing native and progressive web apps with the web","publisher":{"@id":"https:\/\/ionic.io\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/ionic.io\/blog\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/ionic.io\/blog\/#organization","name":"Ionic","url":"https:\/\/ionic.io\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/ionic.io\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/ionic.io\/blog\/wp-content\/uploads\/2020\/10\/white-on-color.png","contentUrl":"https:\/\/ionic.io\/blog\/wp-content\/uploads\/2020\/10\/white-on-color.png","width":1920,"height":854,"caption":"Ionic"},"image":{"@id":"https:\/\/ionic.io\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/x.com\/ionicframework"]},{"@type":"Person","@id":"https:\/\/ionic.io\/blog\/#\/schema\/person\/91f360cffbd804a464b0c4a87b5c5f1e","name":"Max Lynch","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/ionic.io\/blog\/#\/schema\/person\/image\/","url":"https:\/\/ionic.io\/blog\/wp-content\/uploads\/2018\/05\/max-avatar-150x150.jpg","contentUrl":"https:\/\/ionic.io\/blog\/wp-content\/uploads\/2018\/05\/max-avatar-150x150.jpg","caption":"Max Lynch"},"description":"CEO","sameAs":["http:\/\/twitter.com\/maxlynch","https:\/\/x.com\/maxlynch"],"url":"https:\/\/ionic.io\/blog\/author\/max"}]}},"jetpack_sharing_enabled":true,"jetpack_featured_media_url":"","_links":{"self":[{"href":"https:\/\/ionic.io\/blog\/wp-json\/wp\/v2\/posts\/1757","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/ionic.io\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/ionic.io\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/ionic.io\/blog\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/ionic.io\/blog\/wp-json\/wp\/v2\/comments?post=1757"}],"version-history":[{"count":0,"href":"https:\/\/ionic.io\/blog\/wp-json\/wp\/v2\/posts\/1757\/revisions"}],"wp:attachment":[{"href":"https:\/\/ionic.io\/blog\/wp-json\/wp\/v2\/media?parent=1757"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/ionic.io\/blog\/wp-json\/wp\/v2\/categories?post=1757"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/ionic.io\/blog\/wp-json\/wp\/v2\/tags?post=1757"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}