{"id":12232,"date":"2023-08-11T11:49:35","date_gmt":"2023-08-11T09:49:35","guid":{"rendered":"https:\/\/affidaty.io\/blog\/?p=12232"},"modified":"2023-08-18T14:59:17","modified_gmt":"2023-08-18T12:59:17","slug":"firebase-flutter","status":"publish","type":"post","link":"https:\/\/affidaty.io\/blog\/en\/2023\/08\/firebase-flutter\/","title":{"rendered":"The pros and cons of using Flutter: a neutral review."},"content":{"rendered":"\n<div style=\"height:30px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img decoding=\"async\" src=\"data:image\/gif;base64,R0lGODlhAQABAIAAAAAAAP\/\/\/yH5BAEAAAAALAAAAAABAAEAAAIBRAA7\" data-src=\"https:\/\/affidaty.io\/blog\/wp-content\/uploads\/2023\/08\/Schermata-2023-08-11-alle-10.34.36.png\" alt=\"\" class=\"wp-image-12407 lazyload\"><noscript><img decoding=\"async\" width=\"657\" height=\"407\" src=\"https:\/\/affidaty.io\/blog\/wp-content\/uploads\/2023\/08\/Schermata-2023-08-11-alle-10.34.36.png\" alt=\"\" class=\"wp-image-12407\" srcset=\"https:\/\/affidaty.io\/blog\/wp-content\/uploads\/2023\/08\/Schermata-2023-08-11-alle-10.34.36.png 657w, https:\/\/affidaty.io\/blog\/wp-content\/uploads\/2023\/08\/Schermata-2023-08-11-alle-10.34.36-560x347.png 560w, https:\/\/affidaty.io\/blog\/wp-content\/uploads\/2023\/08\/Schermata-2023-08-11-alle-10.34.36-150x93.png 150w\" sizes=\"(max-width: 657px) 100vw, 657px\" \/><\/noscript><\/figure>\n<\/div>\n\n\n<div style=\"height:30px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Flutter<\/strong> is an open-source UI (User Interface) software development kit (SDK) created by <mark class=\"has-inline-color has-vivid-purple-color\">Google<\/mark>. It is relatively new, building on top of a previous iteration called \u2018Sky\u2019, <strong>Flutter<\/strong> 1.0 was released in <mark class=\"has-inline-color has-vivid-purple-color\">2018<\/mark>. It allows developers to build cross-platform applications for mobile, web, and desktop from a single codebase. <strong>Flutter<\/strong> uses the Dart programming language, also developed by Google, and provides a rich set of pre-designed UI components and tools.&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">One of the key features of <strong>Flutter<\/strong> is its ability to create highly responsive and visually appealing applications with a native-like experience. It achieves this by using a rendering engine called <mark class=\"has-inline-color has-vivid-purple-color\">Skia<\/mark>, which allows for efficient graphics rendering across different platforms. <strong>Flutter<\/strong> also has a &#8220;hot reload&#8221; feature that enables developers to see the changes made to the code immediately reflected in the app, making the development process faster and more interactive.&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Flutter&#8217;s<\/strong> cross-platform capabilities mean that developers can <mark class=\"has-inline-color has-vivid-purple-color\">write code once <\/mark>and deploy it on multiple platforms, such as iOS, Android, web browsers, and even desktop operating systems like Windows, macOS, and Linux. This not only saves development time but also ensures consistent app behaviour and UI across different platforms.&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Furthermore, <strong>Flutter<\/strong> provides access to a wide range of libraries and packages known as &#8220;pub packages,&#8221; which help developers add additional functionalities to their apps, such as networking, database integration, state management, and more&nbsp;<\/p>\n\n\n\n<div style=\"height:30px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-firebase-and-flutter-pros-and-cons\"><strong>Firebase<\/strong> and <strong>flutter<\/strong> pros and cons.&nbsp;<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Flutter<\/strong> comes with an excellent integration of <strong>Firebase<\/strong> (+Firestore) (both owned by Alphabet) database. <strong>Firebase<\/strong> is a file based database system (JSON), with a no-SQL query language. Here we will compare both of them separately.&nbsp;<br><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Pros of using <strong>Firebase<\/strong> Firestore are:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Realtime database&nbsp;<br><br><\/li>\n\n\n\n<li>Wide range of authentication options, including Web3&nbsp;<br><br><\/li>\n\n\n\n<li>Various cloud functions&nbsp;<br><br><\/li>\n\n\n\n<li>Easy to work with from the browser and helps you with monitoring insights&nbsp;<br><br><\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Cons:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>JSON file system of <strong>firebase<\/strong> cannot filter data within a folder before fetching (so expensive). Limited querying capabilities.<br><br><\/li>\n\n\n\n<li>Expensive for mid-large scale companies<br><br><\/li>\n\n\n\n<li>Limited server side control, for that you need Azure\/AWS.<br><br><\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Pros of using <strong>Flutter<\/strong>:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Easy database integration with <strong>Firebase<\/strong>, large fee tier with 50k MAU for free per<br>month.<br><br><\/li>\n\n\n\n<li><strong>Firebase<\/strong> offers realtime databases and is good with AI and machine learning.<br><br><\/li>\n\n\n\n<li>Faster, productive, flexible, well designed and easy to learn.<br><br><\/li>\n\n\n\n<li>Layout is easier than CSS<br><br><\/li>\n\n\n\n<li>Cross platform means you build for both Android and IOS in one go (although you do<br>have two folders), and achieve about 90% of the native performance.<br><br><\/li>\n\n\n\n<li>Excellent for startups, where fast iteration is required. <br>Ease to hire people from Upwork, Freelancer or Fiverr, where platform specialised developers are harder to find. <strong>Flutter<\/strong> saves money and time.<br><br><\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Cons of using <strong>Flutter<\/strong>:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Vendor lock-in (by Alphabet) including <strong>Firebase<\/strong>, lack of migration options for transferring data.<br><br><\/li>\n\n\n\n<li>New features by Android\/Apple cannot be immediately implemented, because they need to be integrated by <strong>Flutter<\/strong>.<br><br><\/li>\n\n\n\n<li>Mobile first means desktop last<br><br><\/li>\n\n\n\n<li>Native tools build nicer interfaces, best and fastest performance is native.<br><br><\/li>\n\n\n\n<li>A responsive website (PWA, progressive web app) works on any platform, no need to bother with specific mobile implementation. <br>Fun fact: Starbucks reported a 50% increase in usage after converting to PWA (lower entry barrier, and people do not want to install apps anymore).<br><br><\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Flutter<\/strong> Upcoming features:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>3D image rendering.<br><br><\/li>\n\n\n\n<li>Compiling to Web Assembly (WASM): when possible Javascript is converted into a<br>faster language whilst remaining compatible.<br><br><\/li>\n\n\n\n<li>Embedding: integrate elements into a javascript div for CSS styling&nbsp;<\/li>\n<\/ul>\n\n\n\n<div style=\"height:30px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-conclusion\">Conclusion<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">One common approach is to use <strong>Flutter<\/strong> for mobile and Vue\/Angular\/React for web. Use <strong>Flutter<\/strong> if you are a startup, bigger companies can build native for that 10% extra performance\/features that you get by optimising for Android or IOS specifically. However, nowadays the trend is moving away from native apps and towards web based. It all depends on what you need. If your business model benefits most from app store purchases, Flutter can be good to build and iterate as a startup.&nbsp;<\/p>\n\n\n\n<div style=\"height:30px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<p class=\"wp-block-paragraph\">Sources:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Flutter<\/strong>: <a href=\"http:\/\/flutter.dev\/\" target=\"_blank\" rel=\"noreferrer noopener\">http:\/\/flutter.dev\/<\/a><br><br><\/li>\n\n\n\n<li>4 things to know about the future of <strong>Flutter<\/strong>:<br><a href=\"https:\/\/www.youtube.com\/watch?v=PAOAjOR6K_Q\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/www.youtube.com\/watch?v=PAOAjOR6K_Q<\/a><br><br><\/li>\n\n\n\n<li>Why I Do NOT Use Flutter for Mobile App Development:<br><a href=\"https:\/\/youtu.be\/N0rSpuHp7B4\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/youtu.be\/N0rSpuHp7B4<\/a><br><br><\/li>\n\n\n\n<li>Should you use Flutter for Web Apps?:<br><a href=\"https:\/\/www.youtube.com\/watch?v=PAOAjOR6K_Q https:\/\/medium.com\/flutter\/whats-next-for-flutter-b94ce089f49c\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/www.youtube.com\/watch?v=PAOAjOR6K_Q https:\/\/medium.com\/flutter\/whats-next-for-flutter-b94ce089f49c<\/a><br><br><\/li>\n\n\n\n<li><a href=\"https:\/\/radixweb.com\/blog\/firebase-vs-aws\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/radixweb.com\/blog\/firebase-vs-aws<\/a><\/li>\n<\/ul>\n\n\n\n<div style=\"height:30px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">By Walt Schagen CTO and Co Founder of Mood Global Services&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Start-up and evolution Web, Android, iOS: Flutter (by Google) creates responsive and appealing applications with a native-like experience.<\/p>\n","protected":false},"author":190,"featured_media":13076,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"jnews-multi-image_gallery":[],"jnews_single_post":{"subtitle":"","format":"standard","video":"","gallery":"","source_name":"","source_url":"","via_name":"","via_url":"","override_template":"0","override":[{"template":"2","single_blog_custom":"","parallax":"1","fullscreen":"0","layout":"right-sidebar","sidebar":"default-sidebar","second_sidebar":"default-sidebar","sticky_sidebar":"1","share_position":"float","share_float_style":"share-normal","show_share_counter":"1","show_view_counter":"1","show_featured":"1","show_post_meta":"1","show_post_author":"1","show_post_author_image":"1","show_post_date":"1","post_date_format":"default","post_date_format_custom":"Y\/m\/d","show_post_category":"1","show_post_reading_time":"1","post_reading_time_wpm":"300","show_zoom_button":"1","zoom_button_out_step":"2","zoom_button_in_step":"3","show_post_tag":"1","show_prev_next_post":"0","show_popup_post":"1","number_popup_post":"1","show_author_box":"1","show_post_related":"1","show_inline_post_related":"0"}],"override_image_size":"0","image_override":[{"single_post_thumbnail_size":"no-crop","single_post_gallery_size":"crop-715"}],"trending_post":"0","trending_post_position":"meta","trending_post_label":"Trending","sponsored_post":"0","sponsored_post_label":"Sponsored by","sponsored_post_name":"","sponsored_post_url":"","sponsored_post_logo_enable":"0","sponsored_post_logo":"","sponsored_post_desc":"","disable_ad":"0"},"jnews_primary_category":{"id":"","hide":""},"jnews_social_meta":{"fb_title":"","fb_description":"","fb_image":"","twitter_title":"","twitter_description":"","twitter_image":""},"footnotes":""},"categories":[525,683],"tags":[794,906,798,1053,183],"coauthors":[944],"class_list":["post-12232","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-real-applications-en","category-tech-en","tag-ai-eng","tag-blog-en","tag-businesses","tag-cloud-en","tag-pos-en"],"_links":{"self":[{"href":"https:\/\/affidaty.io\/blog\/wp-json\/wp\/v2\/posts\/12232","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/affidaty.io\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/affidaty.io\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/affidaty.io\/blog\/wp-json\/wp\/v2\/users\/190"}],"replies":[{"embeddable":true,"href":"https:\/\/affidaty.io\/blog\/wp-json\/wp\/v2\/comments?post=12232"}],"version-history":[{"count":0,"href":"https:\/\/affidaty.io\/blog\/wp-json\/wp\/v2\/posts\/12232\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/affidaty.io\/blog\/wp-json\/wp\/v2\/media\/13076"}],"wp:attachment":[{"href":"https:\/\/affidaty.io\/blog\/wp-json\/wp\/v2\/media?parent=12232"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/affidaty.io\/blog\/wp-json\/wp\/v2\/categories?post=12232"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/affidaty.io\/blog\/wp-json\/wp\/v2\/tags?post=12232"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/affidaty.io\/blog\/wp-json\/wp\/v2\/coauthors?post=12232"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}