{"id":777,"date":"2019-04-25T19:31:10","date_gmt":"2019-04-25T19:31:10","guid":{"rendered":"http:\/\/www.smart-bricks.net\/?p=777"},"modified":"2019-04-28T22:23:11","modified_gmt":"2019-04-28T22:23:11","slug":"ionic-version-4-from-angular-to-react-vue-and-web-components","status":"publish","type":"post","link":"http:\/\/www.smart-bricks.net\/index.php\/2019\/04\/25\/ionic-version-4-from-angular-to-react-vue-and-web-components\/","title":{"rendered":"Ionic Version 4: from Angular to React, Vue, and Web Components"},"content":{"rendered":"\n<p>The <a href=\"http:\/\/www.globenewswire.com\/news-release\/2019\/01\/23\/1704222\/0\/en\/Latest-Version-of-Ionic-Provides-Universal-Design-System-for-Enterprises.html\">Ionic 4 release<\/a>\n represents a substantial change, moving from a mobile framework for \nAngular users to a framework-agnostic approach that adds support for <a href=\"https:\/\/www.infoq.com\/react\">React<\/a>, <a href=\"https:\/\/www.infoq.com\/vue\">Vue.js<\/a>, and <a href=\"https:\/\/www.infoq.com\/web-components\">web components<\/a>.<\/p>\n\n\n\n<p>As <a href=\"https:\/\/blog.ionicframework.com\/introducing-ionic-4-ionic-for-everyone\/\">explained by Ionic CEO Max Lynch<\/a>, this change is driven by frontend churn:<\/p>\n\n\n\n<blockquote class=\"wp-block-quote\"><p>At the end of 2017, we started asking ourselves if our original dream\n was worth revisiting. It was clear that frontend developers would never\n settle on any specific frontend framework or libraries, so assuming \notherwise was futile. At the same time, we were frustrated that Ionic \ncould only be used by those that embraced Angular. While we loved \nAngular, we hated the idea that Ionic wasn\u2019t achieving its original goal\n of being a toolkit for every web developer in the world.<\/p><\/blockquote>\n\n\n\n<p>Starting with this release, Ionic is distributed as a collection of approximately 100 web components, leveraging the <a href=\"https:\/\/developer.mozilla.org\/en-US\/docs\/Web\/Web_Components\/Using_custom_elements\">custom elements<\/a> and <a href=\"https:\/\/developer.mozilla.org\/en-US\/docs\/Web\/Web_Components\/Using_shadow_DOM\">shadow DOM<\/a>\n APIs. With these changes, developers may use Ionic&#8217;s components in \nmobile, desktop, and progressive web apps via HTML tags supported by \ncustom elements.<\/p>\n\n\n\n<p>Ionic 4 moves from encouraging <a href=\"https:\/\/blog.ionicframework.com\/let-framework-do-its-job\/\">usage of its own CLI to that of the underlying framework<\/a> to give developers the most out of their framework\u2019s ecosystem. The official <a href=\"https:\/\/github.com\/ionic-team\/ionic\/blob\/master\/vue\/README.md\">Vue.js<\/a> and <a href=\"https:\/\/github.com\/ionic-team\/ionic\/blob\/master\/react\/README.md\">React<\/a> Ionic bindings are in alpha at the time of the Ionic 4 release.<\/p>\n\n\n\n<p>Similar to changes seen in several other modern frameworks like <a href=\"https:\/\/dojo.io\/\">Dojo<\/a> and <a href=\"https:\/\/svelte.technology\/\">Svelte<\/a>, Ionic targets web standards where possible to minimize frontend framework churn and fragmentation.<\/p>\n\n\n\n<p>Beyond its independence from specific frameworks, Ionic also focuses on being a <a href=\"https:\/\/blog.ionicframework.com\/build-your-next-design-system-with-web-components\/\">web-based design system<\/a>. Each Ionic component includes theme support for the latest iOS and material design standards. Ionic leverages <a href=\"https:\/\/developer.mozilla.org\/en-US\/docs\/Web\/CSS\/--*\">CSS Custom Properties<\/a> in each component to simplify theming of components.<\/p>\n\n\n\n<p>Last year Ionic announced <a href=\"https:\/\/stenciljs.com\/\">Stencil<\/a>, a standalone web component compiler project. Ionic leverages Stencil to optimize for load and render performance. The <a href=\"https:\/\/vogloblinsky.github.io\/web-components-benchmark\/\">web components benchmark<\/a> compares the performance of Stencil and other web component frameworks.<\/p>\n\n\n\n<p>Beyond the Ionic 4 release, the Ionic team looks forward to \nimprovements for desktop-specific UI support, keyboard scenarios, \ntheming, animations, and more. Additionally, Ionic is working to include\n <a href=\"http:\/\/capacitor.ionicframework.com\">Capacitor<\/a>, a <a href=\"https:\/\/www.infoq.com\/news\/2018\/03\/capacitor-1-alpha-release\">Cordova alternative<\/a>, for new Ionic projects.<\/p>\n\n\n\n<p>To get started with Ionic 4, install or update the Ionic CLI and then start an application:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>npm install -g ionic\nionic start my-app<\/code><\/pre>\n\n\n\n<p>Ionic provides application starter templates and the <a href=\"https:\/\/github.com\/ionic-team\/ionic-conference-app\">Ionic conference reference application<\/a>.<\/p>\n\n\n\n<p>Ionic is open source software available under the MIT license. Contributions and feedback are encouraged via the <a href=\"https:\/\/github.com\/ionic-team\/ionic\/\">Ionic GitHub project<\/a> and should follow the Ionic <a href=\"https:\/\/github.com\/ionic-team\/ionic\/blob\/master\/.github\/CONTRIBUTING.md\">contribution guidelines<\/a> and <a href=\"https:\/\/github.com\/ionic-team\/ionic\/blob\/master\/CODE_OF_CONDUCT.md\">code of conduct<\/a>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>The Ionic 4 release represents a substantial change, moving from a mobile framework for Angular users to a framework-agnostic approach that adds support for React, Vue.js, and web components. As explained by Ionic CEO Max Lynch, this change is driven by frontend churn: At the end of 2017, we started asking ourselves if our original&hellip;&nbsp;<a href=\"http:\/\/www.smart-bricks.net\/index.php\/2019\/04\/25\/ionic-version-4-from-angular-to-react-vue-and-web-components\/\" class=\"\" rel=\"bookmark\">Read More &raquo;<span class=\"screen-reader-text\">Ionic Version 4: from Angular to React, Vue, and Web Components<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[1],"tags":[28,27,12],"_links":{"self":[{"href":"http:\/\/www.smart-bricks.net\/index.php\/wp-json\/wp\/v2\/posts\/777"}],"collection":[{"href":"http:\/\/www.smart-bricks.net\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/www.smart-bricks.net\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/www.smart-bricks.net\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/www.smart-bricks.net\/index.php\/wp-json\/wp\/v2\/comments?post=777"}],"version-history":[{"count":1,"href":"http:\/\/www.smart-bricks.net\/index.php\/wp-json\/wp\/v2\/posts\/777\/revisions"}],"predecessor-version":[{"id":778,"href":"http:\/\/www.smart-bricks.net\/index.php\/wp-json\/wp\/v2\/posts\/777\/revisions\/778"}],"wp:attachment":[{"href":"http:\/\/www.smart-bricks.net\/index.php\/wp-json\/wp\/v2\/media?parent=777"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/www.smart-bricks.net\/index.php\/wp-json\/wp\/v2\/categories?post=777"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/www.smart-bricks.net\/index.php\/wp-json\/wp\/v2\/tags?post=777"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}