{"id":747,"date":"2024-02-05T11:17:25","date_gmt":"2024-02-05T11:17:25","guid":{"rendered":"https:\/\/www.cmsgalaxy.com\/blog\/?p=747"},"modified":"2024-02-05T11:17:27","modified_gmt":"2024-02-05T11:17:27","slug":"what-is-flutter","status":"publish","type":"post","link":"https:\/\/www.cmsgalaxy.com\/blog\/what-is-flutter\/","title":{"rendered":"What is Flutter?"},"content":{"rendered":"\n<p>Flutter is an open-source UI (user interface) toolkit developed by Google for&nbsp;<strong>building natively compiled mobile, web, and desktop applications from a single codebase.<\/strong>&nbsp;It allows you to create beautiful and highly performant digital products with rich customizable widgets.&nbsp;<\/p>\n\n\n\n<p><strong>If you want some background, here are some key facts about Flutter:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Flutter originated from Google and serves as the foundational<strong>&nbsp;technology for many of Google\u2019s renowned products<\/strong>, such as Google Pay and Google Ads.&nbsp;<\/li>\n\n\n\n<li><strong>Flutter was officially launched as an open-source project in May 2017<\/strong>, making it accessible to a broader community of developers. In December 2018, Flutter reached its first stable release.<\/li>\n\n\n\n<li>The framework initially targeted mobile platforms, particularly iOS and Android devices. It was created as&nbsp;<strong>an alternative to existing&nbsp;<a href=\"https:\/\/www.thedroidsonroids.com\/blog\/top-cross-platform-app-development-frameworks\">cross-platform development frameworks<\/a><\/strong>. Eventually,&nbsp;<strong>Flutter became more popular than its major competitor, React Native.<\/strong><\/li>\n\n\n\n<li>As Flutter continues to gain popularity, its ecosystem flourishes. The abundance of packages, libraries, and tools continues to expand, providing developers with a rich pool of resources. This allows for&nbsp;<strong>faster app development by leveraging existing solution<\/strong>s.<\/li>\n\n\n\n<li>Flutter fosters a&nbsp;<strong>vibrant and collaborative community<\/strong>&nbsp;where developers can freely share knowledge, contributing to its continuous growth and enhancement.<\/li>\n\n\n\n<li><strong>Many top apps are made with Flutter<\/strong>, including eBay Motors, Reflectly, Alibaba, Hamilton, Realtor.com, Square, Topline, Hookle, Birch Finance, Nubank, ING Bank \u015al\u0105ski (Poland), and Credit Agricole Bank Polska (Poland).<strong>\u00a0<\/strong><a href=\"https:\/\/flutter.dev\/showcase\" target=\"_blank\" rel=\"noreferrer noopener\">Here<\/a>\u00a0you can find some more Flutter apps that are currently in production.\u00a0<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"847\" height=\"388\" src=\"https:\/\/www.cmsgalaxy.com\/blog\/wp-content\/uploads\/2024\/02\/image-9.png\" alt=\"\" class=\"wp-image-748\" srcset=\"https:\/\/www.cmsgalaxy.com\/blog\/wp-content\/uploads\/2024\/02\/image-9.png 847w, https:\/\/www.cmsgalaxy.com\/blog\/wp-content\/uploads\/2024\/02\/image-9-300x137.png 300w, https:\/\/www.cmsgalaxy.com\/blog\/wp-content\/uploads\/2024\/02\/image-9-768x352.png 768w\" sizes=\"auto, (max-width: 847px) 100vw, 847px\" \/><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>How does Flutter work?<\/strong><\/h3>\n\n\n\n<p>Now is probably the right time to say that Flutter is&nbsp;<em>not<\/em>&nbsp;a programming language. Instead, it\u2019s&nbsp;<strong>a mobile app SDK (software development kit) for cross-platform app development<\/strong>. It\u2019s also often referred to as Flutter framework.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>What is an SDK?<\/strong><\/h4>\n\n\n\n<p>An SDK is like a ready-made kit for building apps. It\u2019s one package you install, and it has all the tools you need, like a tool for turning code into an app, finding mistakes, and sometimes even a set of pre-made parts. It\u2019s made to work with specific devices and systems. Developers use SDKs to add app features like ads and notifications easily.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Software Development Kit<\/h2>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"867\" height=\"465\" src=\"https:\/\/www.cmsgalaxy.com\/blog\/wp-content\/uploads\/2024\/02\/image-10.png\" alt=\"\" class=\"wp-image-749\" srcset=\"https:\/\/www.cmsgalaxy.com\/blog\/wp-content\/uploads\/2024\/02\/image-10.png 867w, https:\/\/www.cmsgalaxy.com\/blog\/wp-content\/uploads\/2024\/02\/image-10-300x161.png 300w, https:\/\/www.cmsgalaxy.com\/blog\/wp-content\/uploads\/2024\/02\/image-10-768x412.png 768w\" sizes=\"auto, (max-width: 867px) 100vw, 867px\" \/><\/figure>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>What are the architectural layers in Flutter SDK?<\/strong><\/h4>\n\n\n\n<p>Flutter SDK is fully-fledged, providing a complete toolset for building apps. It has its own drawing engine for graphics, pre-built pieces called widgets to drop into your app, and tools for testing how everything works together. Let\u2019s dive into its main parts and how they all work.&nbsp;<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Embedder<\/strong><\/li>\n<\/ul>\n\n\n\n<p>The embedder layer utilizes a platform-specific language (such as Java or Objective-C) to enable Flutter apps to run seamlessly on various operating systems. It acts as a bridge between the native machine code, the platform, and the Flutter engine, ensuring compatibility and smooth execution.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Engine<\/strong><\/li>\n<\/ul>\n\n\n\n<p>Flutter\u2019s heart is the Flutter engine, which is mainly written in C++. It\u2019s like the backstage crew of a theater, handling all the groundwork for every Flutter app. Every time something changes, it draws all the visual elements of your app on the screen. It\u2019s also the powerhouse that runs all of Flutter\u2019s basic features, like creating graphics, arranging text, managing files and network activity, supporting accessibility, allowing add-ons, and running and compiling Dart, the language Flutter apps are written in.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Framework<\/strong><\/li>\n<\/ul>\n\n\n\n<p>Within Flutter, the term \u201cframework\u201d usually refers to the collection of tools, libraries, and functionalities that Flutter provides to developers. This includes things like #widgets, which are the pre-made elements you can use and combine to build your app. It\u2019s within this layer that the magic of reactive programming happens. our app can easily update in response to changes, such as a chat message appearing.<\/p>\n\n\n\n<p>Further enriching the framework are the Material and Cupertino libraries. Think of them as themed toolkits: Material caters to Google-style designs, while Cupertino is tailored to Apple-inspired aesthetics. They enable the utilization of the basic components from the widget layer to craft an application that seamlessly blends into the Android or iOS environment.<\/p>\n\n\n\n<p>In essence, the Flutter framework is engineered to streamline the process of crafting user interfaces that dynamically respond to events, such as user interactions, and maintain a uniform appearance across various platforms.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Flutter is an open-source UI (user interface) toolkit developed by Google for&nbsp;building natively compiled mobile, web, and desktop applications from<\/p>\n","protected":false},"author":5,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-747","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"https:\/\/www.cmsgalaxy.com\/blog\/wp-json\/wp\/v2\/posts\/747","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.cmsgalaxy.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.cmsgalaxy.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.cmsgalaxy.com\/blog\/wp-json\/wp\/v2\/users\/5"}],"replies":[{"embeddable":true,"href":"https:\/\/www.cmsgalaxy.com\/blog\/wp-json\/wp\/v2\/comments?post=747"}],"version-history":[{"count":1,"href":"https:\/\/www.cmsgalaxy.com\/blog\/wp-json\/wp\/v2\/posts\/747\/revisions"}],"predecessor-version":[{"id":750,"href":"https:\/\/www.cmsgalaxy.com\/blog\/wp-json\/wp\/v2\/posts\/747\/revisions\/750"}],"wp:attachment":[{"href":"https:\/\/www.cmsgalaxy.com\/blog\/wp-json\/wp\/v2\/media?parent=747"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.cmsgalaxy.com\/blog\/wp-json\/wp\/v2\/categories?post=747"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.cmsgalaxy.com\/blog\/wp-json\/wp\/v2\/tags?post=747"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}