{"id":14604,"date":"2019-01-23T16:38:49","date_gmt":"2019-01-23T15:38:49","guid":{"rendered":"https:\/\/www.inovex.de\/blog\/?p=14604"},"modified":"2026-03-17T07:59:30","modified_gmt":"2026-03-17T06:59:30","slug":"flutter-beginning-of-a-new-era-part-1","status":"publish","type":"post","link":"https:\/\/www.inovex.de\/de\/blog\/flutter-beginning-of-a-new-era-part-1\/","title":{"rendered":"Flutter: The Beginning of a New Era? (Part\u00a01)"},"content":{"rendered":"<p>Since early 2018, Google&#8217;s Flutter has been hyped by the community. Google claims that it provides the opportunity to build cross-platform applications for Android and iOS from a single codebase in record time. Later, after the Flutter live event in December 2018, the Dev Team announced that was not only designed\u00a0for mobile applications (for details see final comments).<!--more--><\/p>\n<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_79_2 counter-hierarchy ez-toc-counter ez-toc-custom ez-toc-container-direction\">\n<div class=\"ez-toc-title-container\"><p class=\"ez-toc-title\" style=\"cursor:inherit\"><\/p>\n<\/div><nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/www.inovex.de\/de\/blog\/flutter-beginning-of-a-new-era-part-1\/#What-is-Flutter-and-Why-Does-It-Use-Dart\" >What is Flutter and Why Does It Use Dart ?<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/www.inovex.de\/de\/blog\/flutter-beginning-of-a-new-era-part-1\/#Introduction\" >Introduction<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/www.inovex.de\/de\/blog\/flutter-beginning-of-a-new-era-part-1\/#Widget-Types\" >Widget Types:<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/www.inovex.de\/de\/blog\/flutter-beginning-of-a-new-era-part-1\/#Widgets-by-State\" >Widgets by State:<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/www.inovex.de\/de\/blog\/flutter-beginning-of-a-new-era-part-1\/#Setting-up-Flutter\" >Setting up Flutter<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-6\" href=\"https:\/\/www.inovex.de\/de\/blog\/flutter-beginning-of-a-new-era-part-1\/#Running-Flutter\" >Running Flutter<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-7\" href=\"https:\/\/www.inovex.de\/de\/blog\/flutter-beginning-of-a-new-era-part-1\/#Final-comments\" >Final comments<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-8\" href=\"https:\/\/www.inovex.de\/de\/blog\/flutter-beginning-of-a-new-era-part-1\/#All-Articles-in-this-Series\" >All Articles in this Series<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-9\" href=\"https:\/\/www.inovex.de\/de\/blog\/flutter-beginning-of-a-new-era-part-1\/#Read-on\" >Read on<\/a><\/li><\/ul><\/nav><\/div>\n<h2><span class=\"ez-toc-section\" id=\"What-is-Flutter-and-Why-Does-It-Use-Dart\"><\/span>What is Flutter and Why Does It Use Dart ?<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Flutter is a framework to develop cross-platform applications from a single code base. An application\u00a0 is written in Dart and exported to the desired platform.\u00a0 Flutter uses Dart for many reasons, the most important one being the performance increase that comes with Dart. The performance increase is based on features such as AOT (Ahead Of Time) compilation, JIT (Just In Time) compilation, garbage collection management and many more.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"Introduction\"><\/span>Introduction<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Flutter is an open source Google project to build cross-platform applications. So\u2014what does Flutter do better than established frameworks like Ionic, Xamarin, NativeScript and React Native?\u00a0 The answer is simple: Flutter is compiled AOT (Ahead of Time) into native code, while rendering and access to platform services are managed inside the app. No translation to Javascript (bridge) is required, like in the frameworks mentioned above.<\/p>\n<p>&nbsp;<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-14614\" src=\"https:\/\/www.inovex.de\/wp-content\/uploads\/2018\/12\/flutter-compile-schema-300x145.png\" alt=\"Diagram showing translation from code to platform code.\" width=\"800\" height=\"387\" srcset=\"https:\/\/www.inovex.de\/wp-content\/uploads\/2018\/12\/flutter-compile-schema-300x145.png 300w, https:\/\/www.inovex.de\/wp-content\/uploads\/2018\/12\/flutter-compile-schema-400x194.png 400w, https:\/\/www.inovex.de\/wp-content\/uploads\/2018\/12\/flutter-compile-schema-360x174.png 360w, https:\/\/www.inovex.de\/wp-content\/uploads\/2018\/12\/flutter-compile-schema.png 628w\" sizes=\"auto, (max-width: 800px) 100vw, 800px\" \/><\/p>\n<p>&nbsp;<\/p>\n<p>Widgets describe what their view should look like given their current configuration and state. Flutter uses the concept of widgets for every aspect of UI screen representation. Beginning with the main MaterialApp() widget that contains the complete application and ending with a single Text() widget which can hold a standard String. Widgets can be of different types, either to present or structure data, comparable to views in Android or UIViews in iOS.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Widget-Types\"><\/span>Widget Types:<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<ol>\n<li>Visual (animations, hero)<\/li>\n<li>Structural (scaffold, container)<\/li>\n<li>Platform (cupertino)<\/li>\n<li>Interactive (text-form-field, flat-button)<\/li>\n<\/ol>\n<p>&nbsp;<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-14616\" src=\"https:\/\/www.inovex.de\/wp-content\/uploads\/2018\/12\/flutter-widget-example-300x78.png\" alt=\"Two examples for Flutter widgets: container and form.\" width=\"875\" height=\"229\" srcset=\"https:\/\/www.inovex.de\/wp-content\/uploads\/2018\/12\/flutter-widget-example-300x78.png 300w, https:\/\/www.inovex.de\/wp-content\/uploads\/2018\/12\/flutter-widget-example-1024x268.png 1024w, https:\/\/www.inovex.de\/wp-content\/uploads\/2018\/12\/flutter-widget-example-768x201.png 768w, https:\/\/www.inovex.de\/wp-content\/uploads\/2018\/12\/flutter-widget-example-400x105.png 400w, https:\/\/www.inovex.de\/wp-content\/uploads\/2018\/12\/flutter-widget-example-360x94.png 360w, https:\/\/www.inovex.de\/wp-content\/uploads\/2018\/12\/flutter-widget-example.png 1419w\" sizes=\"auto, (max-width: 875px) 100vw, 875px\" \/><\/p>\n<p>Widgets are the core concept of this framework, they manage everything in the application. In order to do that Flutter uses different kinds of widgets, where not every widget needs a state to hold the context of the application.<\/p>\n<p>For example, a custom widget which does not change its behavior during the lifetime of the application can be wrapped in a &#8222;stateless widget&#8220;. If a widget needs to hold or display data on screen it has to be wrapped in a &#8222;stateful widget&#8220;.\u00a0\u00a0A &#8222;stateful widget&#8220; gives the developer the chance to manage the state of the widget as required.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Widgets-by-State\"><\/span>Widgets by State:<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<ol>\n<li>Stateless (no state updated)<\/li>\n<li>Stateful (state update on setState())<\/li>\n<li>Inherited (data sharing along the app)<\/li>\n<\/ol>\n<p>&nbsp;<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-14620\" src=\"https:\/\/www.inovex.de\/wp-content\/uploads\/2018\/12\/flutter-structure-diagramm-300x210.png\" alt=\"Diagram of the Flutter widget structure\" width=\"925\" height=\"647\" srcset=\"https:\/\/www.inovex.de\/wp-content\/uploads\/2018\/12\/flutter-structure-diagramm-300x210.png 300w, https:\/\/www.inovex.de\/wp-content\/uploads\/2018\/12\/flutter-structure-diagramm-1024x717.png 1024w, https:\/\/www.inovex.de\/wp-content\/uploads\/2018\/12\/flutter-structure-diagramm-768x537.png 768w, https:\/\/www.inovex.de\/wp-content\/uploads\/2018\/12\/flutter-structure-diagramm-1536x1075.png 1536w, https:\/\/www.inovex.de\/wp-content\/uploads\/2018\/12\/flutter-structure-diagramm-2048x1433.png 2048w, https:\/\/www.inovex.de\/wp-content\/uploads\/2018\/12\/flutter-structure-diagramm-1920x1344.png 1920w, https:\/\/www.inovex.de\/wp-content\/uploads\/2018\/12\/flutter-structure-diagramm-400x280.png 400w, https:\/\/www.inovex.de\/wp-content\/uploads\/2018\/12\/flutter-structure-diagramm-360x252.png 360w\" sizes=\"auto, (max-width: 925px) 100vw, 925px\" \/><\/p>\n<p>The popular phrase among Flutter developers, <em>&#8222;Everything is a widget&#8220;<\/em>, stems from this generic concept of widgets. They are used to display and share data within the application and to structure the screen layout. To get started, the Flutter Dev Team provides a simple tutorial with the <a href=\"https:\/\/flutter.io\/docs\/get-started\/install\" target=\"_blank\" rel=\"noopener\">installation guide<\/a>.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"Setting-up-Flutter\"><\/span>Setting up Flutter<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<ol>\n<li><span style=\"color: #000000;\">Download SDK for your operating system.<\/span><\/li>\n<li><span style=\"color: #000000;\">Install SDK, update the system path as described in the instructions.<\/span><\/li>\n<li><span style=\"color: #000000;\">Decide which IDE to use, where to build and run the applications.<\/span><\/li>\n<li><span style=\"color: #000000;\">Set-up emulator\/simulator, prepare to test the application.<\/span><\/li>\n<li><span style=\"color: #000000;\">Set-up IDE, \u00a0install the Flutter and the Dart plugins.<\/span><\/li>\n<\/ol>\n<p>After the download and installation are completed, we can create a Flutter application in our desired IDE.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"Running-Flutter\"><\/span>Running Flutter<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<ol>\n<li><span style=\"color: #000000;\">Start a Flutter project: creating a new project will build the Increment-App.<\/span><\/li>\n<li><span style=\"color: #000000;\">Testdrive: select the emulator\/simulator or a real device (target selector) and\u00a0 run the app.<\/span><\/li>\n<li><span style=\"color: #000000;\">Overview: structure of Flutter application is divided into 5 directories.<\/span><\/li>\n<\/ol>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-14627\" src=\"https:\/\/www.inovex.de\/wp-content\/uploads\/2018\/12\/flutter-projetc-structure-2-300x150.png\" alt=\"An example Flutter project structure in the IDE\" width=\"875\" height=\"439\" srcset=\"https:\/\/www.inovex.de\/wp-content\/uploads\/2018\/12\/flutter-projetc-structure-2-300x150.png 300w, https:\/\/www.inovex.de\/wp-content\/uploads\/2018\/12\/flutter-projetc-structure-2-1024x514.png 1024w, https:\/\/www.inovex.de\/wp-content\/uploads\/2018\/12\/flutter-projetc-structure-2-768x385.png 768w, https:\/\/www.inovex.de\/wp-content\/uploads\/2018\/12\/flutter-projetc-structure-2-1536x770.png 1536w, https:\/\/www.inovex.de\/wp-content\/uploads\/2018\/12\/flutter-projetc-structure-2-2048x1027.png 2048w, https:\/\/www.inovex.de\/wp-content\/uploads\/2018\/12\/flutter-projetc-structure-2-1920x963.png 1920w, https:\/\/www.inovex.de\/wp-content\/uploads\/2018\/12\/flutter-projetc-structure-2-400x201.png 400w, https:\/\/www.inovex.de\/wp-content\/uploads\/2018\/12\/flutter-projetc-structure-2-360x181.png 360w\" sizes=\"auto, (max-width: 875px) 100vw, 875px\" \/><\/p>\n<p>All the Dart code to build an application is located in the lib directory (public <em><strong>lib<\/strong><\/em>rary). External libraries, dependencies, assets, fonts, audio and video are registered in the pubspec.yaml file. Any application today uses powerful third party libraries, therefore Flutter uses packages collected at the <a href=\"https:\/\/pub.dartlang.org\" target=\"_blank\" rel=\"noopener\">Dartlang\u00a0website<\/a> with a standard procedure of &#8222;how to include the dependencies&#8220;.<\/p>\n<p>Any Flutter application starts at the main.dart file, where the MaterialApp() is initialized and started. The MaterialApp() is the root widget, it holds the title, the home widget, the routes and many more attributes.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-14611\" src=\"https:\/\/www.inovex.de\/wp-content\/uploads\/2018\/12\/flutter-material-app-300x158.png\" alt=\"The MaterialApp() root widget with its attributes.\" width=\"875\" height=\"462\" srcset=\"https:\/\/www.inovex.de\/wp-content\/uploads\/2018\/12\/flutter-material-app-300x158.png 300w, https:\/\/www.inovex.de\/wp-content\/uploads\/2018\/12\/flutter-material-app-400x211.png 400w, https:\/\/www.inovex.de\/wp-content\/uploads\/2018\/12\/flutter-material-app-360x190.png 360w, https:\/\/www.inovex.de\/wp-content\/uploads\/2018\/12\/flutter-material-app.png 669w\" sizes=\"auto, (max-width: 875px) 100vw, 875px\" \/><\/p>\n<p>So, the basic setup is done, we know what a widget is and where we have to place our production code. But we&#8217;re still missing the the knowhow of testing, design and the full range of available widgets. You can find all official widgets at the\u00a0\u00a0Flutter <a href=\"https:\/\/flutter.io\/docs\/development\/ui\/widgets\" target=\"_blank\" rel=\"noopener\">website<\/a>. Also, while I&#8217;m writing this blog series you will find a widget of the day in my twitter feed:<\/p>\n<p><a class=\"twitter-follow-button\" href=\"https:\/\/twitter.com\/mx_tino?ref_src=twsrc%5Etfw\" data-show-count=\"false\">Follow @mx_tino<\/a>.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"Final-comments\"><\/span>Final comments<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Flutter is promoted as a new way of thinking about platform driven development. The future of this framework is unknown but the set course points into the direction of becoming a huge game changer. For Example, there is &#8222;Hummingbird&#8220;, Google&#8217;s Flutter\u00a0approach to web development, and there&#8217;s a desktop version in the pipeline as well.<\/p>\n<p>This has been just a brief introduction, but in my forthcoming <a href=\"https:\/\/www.inovex.de\/blog\/flutter-new-concepts-part-2\/\">articles<\/a> I will dive deeper into design and implementation of a basic application and share my impressions.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"All-Articles-in-this-Series\"><\/span>All Articles in this Series<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<ul>\n<li class=\"entry-title fusion-post-title\" data-fontsize=\"41\" data-lineheight=\"62\"><a href=\"https:\/\/www.inovex.de\/blog\/flutter-new-concepts-part-2\/\">Flutter: New Concepts? (Part 2)<\/a><\/li>\n<li data-fontsize=\"41\" data-lineheight=\"62\"><a href=\"https:\/\/www.inovex.de\/blog\/flutter-the-profiler-part-3\/\">Flutter: The Profiler (Part 3)<\/a><\/li>\n<li data-fontsize=\"41\" data-lineheight=\"62\"><a href=\"https:\/\/www.inovex.de\/blog\/flutter-the-finalizer-part-4\/\">Flutter: The Finalizer (Part 4)<\/a><\/li>\n<\/ul>\n<h2><span class=\"ez-toc-section\" id=\"Read-on\"><\/span>Read on<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p><a href=\"https:\/\/medium.com\/search?q=Tino%20Kallinich\">Flutter Medium Blog<\/a><\/p>\n<p>Find out more about our\u00a0<a href=\"https:\/\/www.inovex.de\/en\/our-services\/apps\/\">Android and iOS portfolio<\/a> or join us as a mobile developer!<\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Since early 2018, Google&#8217;s Flutter has been hyped by the community. Google claims that it provides the opportunity to build cross-platform applications for Android and iOS from a single codebase in record time. Later, after the Flutter live event in December 2018, the Dev Team announced that was not only designed\u00a0for mobile applications (for details [&hellip;]<\/p>\n","protected":false},"author":97,"featured_media":15073,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"inline_featured_image":false,"ep_exclude_from_search":false,"footnotes":""},"tags":[510],"service":[420],"coauthors":[],"class_list":["post-14604","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","tag-apps-2","service-apps"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.5 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Flutter: The Beginning of a New Era? An introduction. (Part 1)<\/title>\n<meta name=\"description\" content=\"Flutter is an open source Google project to build cross-platform applications. So\u2014what does Flutter do better than established frameworks like Ionic, Xamarin, NativeScript and React Native?\u00a0Let&#039;s find out in this first post of our new blog series.\" \/>\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.inovex.de\/de\/blog\/flutter-beginning-of-a-new-era-part-1\/\" \/>\n<meta property=\"og:locale\" content=\"de_DE\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Flutter: The Beginning of a New Era? An introduction. (Part 1)\" \/>\n<meta property=\"og:description\" content=\"Flutter is an open source Google project to build cross-platform applications. So\u2014what does Flutter do better than established frameworks like Ionic, Xamarin, NativeScript and React Native?\u00a0Let&#039;s find out in this first post of our new blog series.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.inovex.de\/de\/blog\/flutter-beginning-of-a-new-era-part-1\/\" \/>\n<meta property=\"og:site_name\" content=\"inovex GmbH\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/inovexde\" \/>\n<meta property=\"article:published_time\" content=\"2019-01-23T15:38:49+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-03-17T06:59:30+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.inovex.de\/wp-content\/uploads\/2019\/01\/Flutter-1-1.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1920\" \/>\n\t<meta property=\"og:image:height\" content=\"1080\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Tino Kallinich-Friedrich\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:image\" content=\"https:\/\/www.inovex.de\/wp-content\/uploads\/2019\/01\/Flutter-1-1-1024x576.png\" \/>\n<meta name=\"twitter:creator\" content=\"@mx_tino\" \/>\n<meta name=\"twitter:site\" content=\"@inovexgmbh\" \/>\n<meta name=\"twitter:label1\" content=\"Verfasst von\" \/>\n\t<meta name=\"twitter:data1\" content=\"Tino Kallinich-Friedrich\" \/>\n\t<meta name=\"twitter:label2\" content=\"Gesch\u00e4tzte Lesezeit\" \/>\n\t<meta name=\"twitter:data2\" content=\"4\u00a0Minuten\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.inovex.de\/de\/blog\/flutter-beginning-of-a-new-era-part-1\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.inovex.de\/de\/blog\/flutter-beginning-of-a-new-era-part-1\/\"},\"author\":{\"name\":\"Tino Kallinich-Friedrich\",\"@id\":\"https:\/\/www.inovex.de\/de\/#\/schema\/person\/fcabd1e46229e68364e666b6732ff86f\"},\"headline\":\"Flutter: The Beginning of a New Era? (Part\u00a01)\",\"datePublished\":\"2019-01-23T15:38:49+00:00\",\"dateModified\":\"2026-03-17T06:59:30+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.inovex.de\/de\/blog\/flutter-beginning-of-a-new-era-part-1\/\"},\"wordCount\":862,\"commentCount\":5,\"publisher\":{\"@id\":\"https:\/\/www.inovex.de\/de\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.inovex.de\/de\/blog\/flutter-beginning-of-a-new-era-part-1\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.inovex.de\/wp-content\/uploads\/2019\/01\/Flutter-1-1.png\",\"keywords\":[\"Apps\"],\"articleSection\":[\"Applications\",\"English Content\",\"General\"],\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.inovex.de\/de\/blog\/flutter-beginning-of-a-new-era-part-1\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.inovex.de\/de\/blog\/flutter-beginning-of-a-new-era-part-1\/\",\"url\":\"https:\/\/www.inovex.de\/de\/blog\/flutter-beginning-of-a-new-era-part-1\/\",\"name\":\"Flutter: The Beginning of a New Era? An introduction. (Part 1)\",\"isPartOf\":{\"@id\":\"https:\/\/www.inovex.de\/de\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.inovex.de\/de\/blog\/flutter-beginning-of-a-new-era-part-1\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.inovex.de\/de\/blog\/flutter-beginning-of-a-new-era-part-1\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.inovex.de\/wp-content\/uploads\/2019\/01\/Flutter-1-1.png\",\"datePublished\":\"2019-01-23T15:38:49+00:00\",\"dateModified\":\"2026-03-17T06:59:30+00:00\",\"description\":\"Flutter is an open source Google project to build cross-platform applications. So\u2014what does Flutter do better than established frameworks like Ionic, Xamarin, NativeScript and React Native?\u00a0Let's find out in this first post of our new blog series.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.inovex.de\/de\/blog\/flutter-beginning-of-a-new-era-part-1\/#breadcrumb\"},\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.inovex.de\/de\/blog\/flutter-beginning-of-a-new-era-part-1\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\/\/www.inovex.de\/de\/blog\/flutter-beginning-of-a-new-era-part-1\/#primaryimage\",\"url\":\"https:\/\/www.inovex.de\/wp-content\/uploads\/2019\/01\/Flutter-1-1.png\",\"contentUrl\":\"https:\/\/www.inovex.de\/wp-content\/uploads\/2019\/01\/Flutter-1-1.png\",\"width\":1920,\"height\":1080,\"caption\":\"Flutter Logo\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.inovex.de\/de\/blog\/flutter-beginning-of-a-new-era-part-1\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.inovex.de\/de\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Flutter: The Beginning of a New Era? (Part\u00a01)\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.inovex.de\/de\/#website\",\"url\":\"https:\/\/www.inovex.de\/de\/\",\"name\":\"inovex GmbH\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\/\/www.inovex.de\/de\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.inovex.de\/de\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"de\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.inovex.de\/de\/#organization\",\"name\":\"inovex GmbH\",\"url\":\"https:\/\/www.inovex.de\/de\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\/\/www.inovex.de\/de\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.inovex.de\/wp-content\/uploads\/2021\/03\/inovex-logo-16-9-1.png\",\"contentUrl\":\"https:\/\/www.inovex.de\/wp-content\/uploads\/2021\/03\/inovex-logo-16-9-1.png\",\"width\":1921,\"height\":1081,\"caption\":\"inovex GmbH\"},\"image\":{\"@id\":\"https:\/\/www.inovex.de\/de\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/inovexde\",\"https:\/\/x.com\/inovexgmbh\",\"https:\/\/www.instagram.com\/inovexlife\/\",\"https:\/\/www.linkedin.com\/company\/inovex\",\"https:\/\/www.youtube.com\/channel\/UC7r66GT14hROB_RQsQBAQUQ\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.inovex.de\/de\/#\/schema\/person\/fcabd1e46229e68364e666b6732ff86f\",\"name\":\"Tino Kallinich-Friedrich\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\/\/www.inovex.de\/de\/#\/schema\/person\/image\/163197d5916185dd18c854751cbd8b08\",\"url\":\"https:\/\/www.inovex.de\/wp-content\/uploads\/cropped-profil-small-96x96.jpg\",\"contentUrl\":\"https:\/\/www.inovex.de\/wp-content\/uploads\/cropped-profil-small-96x96.jpg\",\"caption\":\"Tino Kallinich-Friedrich\"},\"description\":\"B.Sc. Informatik and B.Sc. Nautik\",\"sameAs\":[\"https:\/\/www.linkedin.com\/in\/tino-k-friedrich\/\",\"https:\/\/x.com\/mx_tino\"],\"url\":\"https:\/\/www.inovex.de\/de\/blog\/author\/tkallinich-2-2-2-2-2\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Flutter: The Beginning of a New Era? An introduction. (Part 1)","description":"Flutter is an open source Google project to build cross-platform applications. So\u2014what does Flutter do better than established frameworks like Ionic, Xamarin, NativeScript and React Native?\u00a0Let's find out in this first post of our new blog series.","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.inovex.de\/de\/blog\/flutter-beginning-of-a-new-era-part-1\/","og_locale":"de_DE","og_type":"article","og_title":"Flutter: The Beginning of a New Era? An introduction. (Part 1)","og_description":"Flutter is an open source Google project to build cross-platform applications. So\u2014what does Flutter do better than established frameworks like Ionic, Xamarin, NativeScript and React Native?\u00a0Let's find out in this first post of our new blog series.","og_url":"https:\/\/www.inovex.de\/de\/blog\/flutter-beginning-of-a-new-era-part-1\/","og_site_name":"inovex GmbH","article_publisher":"https:\/\/www.facebook.com\/inovexde","article_published_time":"2019-01-23T15:38:49+00:00","article_modified_time":"2026-03-17T06:59:30+00:00","og_image":[{"width":1920,"height":1080,"url":"https:\/\/www.inovex.de\/wp-content\/uploads\/2019\/01\/Flutter-1-1.png","type":"image\/png"}],"author":"Tino Kallinich-Friedrich","twitter_card":"summary_large_image","twitter_image":"https:\/\/www.inovex.de\/wp-content\/uploads\/2019\/01\/Flutter-1-1-1024x576.png","twitter_creator":"@mx_tino","twitter_site":"@inovexgmbh","twitter_misc":{"Verfasst von":"Tino Kallinich-Friedrich","Gesch\u00e4tzte Lesezeit":"4\u00a0Minuten"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.inovex.de\/de\/blog\/flutter-beginning-of-a-new-era-part-1\/#article","isPartOf":{"@id":"https:\/\/www.inovex.de\/de\/blog\/flutter-beginning-of-a-new-era-part-1\/"},"author":{"name":"Tino Kallinich-Friedrich","@id":"https:\/\/www.inovex.de\/de\/#\/schema\/person\/fcabd1e46229e68364e666b6732ff86f"},"headline":"Flutter: The Beginning of a New Era? (Part\u00a01)","datePublished":"2019-01-23T15:38:49+00:00","dateModified":"2026-03-17T06:59:30+00:00","mainEntityOfPage":{"@id":"https:\/\/www.inovex.de\/de\/blog\/flutter-beginning-of-a-new-era-part-1\/"},"wordCount":862,"commentCount":5,"publisher":{"@id":"https:\/\/www.inovex.de\/de\/#organization"},"image":{"@id":"https:\/\/www.inovex.de\/de\/blog\/flutter-beginning-of-a-new-era-part-1\/#primaryimage"},"thumbnailUrl":"https:\/\/www.inovex.de\/wp-content\/uploads\/2019\/01\/Flutter-1-1.png","keywords":["Apps"],"articleSection":["Applications","English Content","General"],"inLanguage":"de","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.inovex.de\/de\/blog\/flutter-beginning-of-a-new-era-part-1\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.inovex.de\/de\/blog\/flutter-beginning-of-a-new-era-part-1\/","url":"https:\/\/www.inovex.de\/de\/blog\/flutter-beginning-of-a-new-era-part-1\/","name":"Flutter: The Beginning of a New Era? An introduction. (Part 1)","isPartOf":{"@id":"https:\/\/www.inovex.de\/de\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.inovex.de\/de\/blog\/flutter-beginning-of-a-new-era-part-1\/#primaryimage"},"image":{"@id":"https:\/\/www.inovex.de\/de\/blog\/flutter-beginning-of-a-new-era-part-1\/#primaryimage"},"thumbnailUrl":"https:\/\/www.inovex.de\/wp-content\/uploads\/2019\/01\/Flutter-1-1.png","datePublished":"2019-01-23T15:38:49+00:00","dateModified":"2026-03-17T06:59:30+00:00","description":"Flutter is an open source Google project to build cross-platform applications. So\u2014what does Flutter do better than established frameworks like Ionic, Xamarin, NativeScript and React Native?\u00a0Let's find out in this first post of our new blog series.","breadcrumb":{"@id":"https:\/\/www.inovex.de\/de\/blog\/flutter-beginning-of-a-new-era-part-1\/#breadcrumb"},"inLanguage":"de","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.inovex.de\/de\/blog\/flutter-beginning-of-a-new-era-part-1\/"]}]},{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/www.inovex.de\/de\/blog\/flutter-beginning-of-a-new-era-part-1\/#primaryimage","url":"https:\/\/www.inovex.de\/wp-content\/uploads\/2019\/01\/Flutter-1-1.png","contentUrl":"https:\/\/www.inovex.de\/wp-content\/uploads\/2019\/01\/Flutter-1-1.png","width":1920,"height":1080,"caption":"Flutter Logo"},{"@type":"BreadcrumbList","@id":"https:\/\/www.inovex.de\/de\/blog\/flutter-beginning-of-a-new-era-part-1\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.inovex.de\/de\/"},{"@type":"ListItem","position":2,"name":"Flutter: The Beginning of a New Era? (Part\u00a01)"}]},{"@type":"WebSite","@id":"https:\/\/www.inovex.de\/de\/#website","url":"https:\/\/www.inovex.de\/de\/","name":"inovex GmbH","description":"","publisher":{"@id":"https:\/\/www.inovex.de\/de\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.inovex.de\/de\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"de"},{"@type":"Organization","@id":"https:\/\/www.inovex.de\/de\/#organization","name":"inovex GmbH","url":"https:\/\/www.inovex.de\/de\/","logo":{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/www.inovex.de\/de\/#\/schema\/logo\/image\/","url":"https:\/\/www.inovex.de\/wp-content\/uploads\/2021\/03\/inovex-logo-16-9-1.png","contentUrl":"https:\/\/www.inovex.de\/wp-content\/uploads\/2021\/03\/inovex-logo-16-9-1.png","width":1921,"height":1081,"caption":"inovex GmbH"},"image":{"@id":"https:\/\/www.inovex.de\/de\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/inovexde","https:\/\/x.com\/inovexgmbh","https:\/\/www.instagram.com\/inovexlife\/","https:\/\/www.linkedin.com\/company\/inovex","https:\/\/www.youtube.com\/channel\/UC7r66GT14hROB_RQsQBAQUQ"]},{"@type":"Person","@id":"https:\/\/www.inovex.de\/de\/#\/schema\/person\/fcabd1e46229e68364e666b6732ff86f","name":"Tino Kallinich-Friedrich","image":{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/www.inovex.de\/de\/#\/schema\/person\/image\/163197d5916185dd18c854751cbd8b08","url":"https:\/\/www.inovex.de\/wp-content\/uploads\/cropped-profil-small-96x96.jpg","contentUrl":"https:\/\/www.inovex.de\/wp-content\/uploads\/cropped-profil-small-96x96.jpg","caption":"Tino Kallinich-Friedrich"},"description":"B.Sc. Informatik and B.Sc. Nautik","sameAs":["https:\/\/www.linkedin.com\/in\/tino-k-friedrich\/","https:\/\/x.com\/mx_tino"],"url":"https:\/\/www.inovex.de\/de\/blog\/author\/tkallinich-2-2-2-2-2\/"}]}},"_links":{"self":[{"href":"https:\/\/www.inovex.de\/de\/wp-json\/wp\/v2\/posts\/14604","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.inovex.de\/de\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.inovex.de\/de\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.inovex.de\/de\/wp-json\/wp\/v2\/users\/97"}],"replies":[{"embeddable":true,"href":"https:\/\/www.inovex.de\/de\/wp-json\/wp\/v2\/comments?post=14604"}],"version-history":[{"count":4,"href":"https:\/\/www.inovex.de\/de\/wp-json\/wp\/v2\/posts\/14604\/revisions"}],"predecessor-version":[{"id":66523,"href":"https:\/\/www.inovex.de\/de\/wp-json\/wp\/v2\/posts\/14604\/revisions\/66523"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.inovex.de\/de\/wp-json\/wp\/v2\/media\/15073"}],"wp:attachment":[{"href":"https:\/\/www.inovex.de\/de\/wp-json\/wp\/v2\/media?parent=14604"}],"wp:term":[{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.inovex.de\/de\/wp-json\/wp\/v2\/tags?post=14604"},{"taxonomy":"service","embeddable":true,"href":"https:\/\/www.inovex.de\/de\/wp-json\/wp\/v2\/service?post=14604"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/www.inovex.de\/de\/wp-json\/wp\/v2\/coauthors?post=14604"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}