{
  "version": 3,
  "sources": ["ssg:https://framerusercontent.com/modules/hONPuWcESHogkRqaa54l/0fBTc49P02qcS0ea1RxM/dlsksZJDV-29.js"],
  "sourcesContent": ["import{jsx as e,jsxs as t}from\"react/jsx-runtime\";import{Link as r}from\"framer\";import{motion as a}from\"framer-motion\";import*as n from\"react\";export const richText=/*#__PURE__*/t(n.Fragment,{children:[/*#__PURE__*/e(\"h1\",{style:{\"--framer-line-height\":\"1.38em\"},children:/*#__PURE__*/e(\"span\",{style:{\"--framer-font-size\":\"20px\",\"--framer-text-color\":\"rgb(0, 0, 0)\",\"--framer-text-decoration\":\"none\"},children:\"What is Flutter and What is it used for?\"})}),/*#__PURE__*/e(\"p\",{children:\"Flutter is the master key that unlocks the door to the mobile development world, created by Google and designed to help developers bring their innovative ideas to life. With its native performance, Flutter enables developers to build beautiful and responsive apps for mobile, web, and desktop platforms, all from a single codebase. Powered by the Dart programming language, Flutter comes with a rich set of pre-built widgets and tools, making the app development process a breeze for developers and a delight for end-users.\"}),/*#__PURE__*/e(\"p\",{children:\"Flutter is used for erecting high- quality, high- performance mobile operations with stunning stoner interfaces. Because it allows inventors to use a single codebase to produce apps for both iOS and Android, it can help save time and coffers in the development process. Flutter also supports fast development cycles, hot reload, and a rich set of customizable contraptions, which makes it easy to produce beautiful, custom stoner interfaces.\"}),/*#__PURE__*/e(\"p\",{children:\"In addition to mobile app development, Flutter is also used for erecting web and desktop operations, which makes it a protean and important tool for inventors across different platforms. Its fashionability has been growing fleetly in recent times, and numerous companies are espousing Flutter for their mobile and web operation development requirements.\"}),/*#__PURE__*/e(\"h1\",{style:{\"--framer-line-height\":\"1.38em\"},children:/*#__PURE__*/e(\"span\",{style:{\"--framer-font-size\":\"20px\",\"--framer-text-color\":\"rgb(0, 0, 0)\",\"--framer-text-decoration\":\"none\"},children:\"How many Versions of Flutter are released so far?\"})}),/*#__PURE__*/e(\"p\",{children:\"Here is a list of all the stable releases of Flutter:\"}),/*#__PURE__*/e(\"p\",{children:\"1.0 - December 4, 2018\"}),/*#__PURE__*/e(\"p\",{children:\"1.2 - March 6, 2019\"}),/*#__PURE__*/e(\"p\",{children:\"1.5 - May 7, 2019\"}),/*#__PURE__*/e(\"p\",{children:\"1.7 - July 23, 2019\"}),/*#__PURE__*/e(\"p\",{children:\"1.9 - September 10, 2019\"}),/*#__PURE__*/e(\"p\",{children:\"1.12 - December 11, 2019\"}),/*#__PURE__*/e(\"p\",{children:\"1.17 - May 6, 2020\"}),/*#__PURE__*/e(\"p\",{children:\"1.20 - August 5, 2020\"}),/*#__PURE__*/e(\"p\",{children:\"1.22 - October 1, 2020\"}),/*#__PURE__*/e(\"p\",{children:\"2.0 - March 3, 2021\"}),/*#__PURE__*/e(\"p\",{children:\"2.2 - May 18, 2021\"}),/*#__PURE__*/e(\"p\",{children:\"2.5 - September 8, 2021\"}),/*#__PURE__*/e(\"p\",{children:\"2.8 - December 2021\"}),/*#__PURE__*/e(\"p\",{children:\"2.10 - Feb 2022\"}),/*#__PURE__*/e(\"p\",{children:\"3.0.0 - May 2022\"}),/*#__PURE__*/e(\"p\",{children:\"3.3.0 - Aug 2022\"}),/*#__PURE__*/e(\"p\",{children:\"3.7.0 - Jan 2023\"}),/*#__PURE__*/e(\"p\",{children:\"Each of these releases has brought new features and improvements to the Flutter framework, and developers are encouraged to keep their apps up-to-date with the latest stable release to take advantage of these enhancements.\"}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"h1\",{style:{\"--framer-line-height\":\"1.38em\"},children:/*#__PURE__*/e(\"span\",{style:{\"--framer-font-size\":\"20px\",\"--framer-text-color\":\"rgb(0, 0, 0)\",\"--framer-text-decoration\":\"none\"},children:\"Flutter Version 3.7 - New and Enhanced Features\"})}),/*#__PURE__*/e(\"p\",{children:\"Get ready to take your mobile app development to the next level with the release of Flutter 3.7! The Flutter community has been hard at work to bring you a slew of exciting new features and improvements that are sure to make your app development process more efficient and enjoyable.\"}),/*#__PURE__*/e(\"p\",{children:\"With Flutter 3.7, you can create custom menu bars and cascading menus, and use tools that better support internationalization. Plus, there are new debugging tools that will make it easier than ever to identify and solve issues. And that's not all - you can also enjoy refined features such as global selection, faster rendering with Impeller, and improved DevTools.\"}),/*#__PURE__*/e(\"p\",{children:\"At the heart of Flutter 3.7 is a commitment to performance, ensuring that your apps will be fast and responsive. The Flutter community is excited to share these latest updates with you and invites you to explore all the new features that this release has to offer.\"}),/*#__PURE__*/e(\"p\",{children:\"So why wait? Dive right in and discover how Flutter 3.7 can revolutionize your mobile app development game!\"}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"ol\",{children:/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"h3\",style:{\"--framer-font-size\":\"14px\",\"--framer-text-color\":\"rgb(67, 67, 67)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/e(\"h3\",{style:{\"--framer-line-height\":\"1.38em\"},children:/*#__PURE__*/e(\"span\",{style:{\"--framer-font-size\":\"14px\",\"--framer-text-color\":\"rgb(67, 67, 67)\",\"--framer-text-decoration\":\"none\"},children:\"Improved Support for Material Design 3\"})})})}),/*#__PURE__*/e(\"p\",{children:\"Flutter 3.7 has made significant improvements to the Material Design 3 (M3) support, including the migration of several widgets. By enabling the useMaterial3 flag in the application's ThemeData widget, developers can take advantage of the latest M3 features. To create a complete M3 color scheme, developers can use their own color scheme, the new theme builder tool, or Flutter's colorSchemeSeed parameter in the ThemeData constructor.\"}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"img\",{alt:\"Flutter material Design 3\",className:\"framer-image\",height:\"320\",src:\"https://framerusercontent.com/images/CLXodPIPLEXaiXd6YQVYLQ1r3Q.png\",srcSet:\"https://framerusercontent.com/images/CLXodPIPLEXaiXd6YQVYLQ1r3Q.png?scale-down-to=512 512w,https://framerusercontent.com/images/CLXodPIPLEXaiXd6YQVYLQ1r3Q.png?scale-down-to=1024 1024w,https://framerusercontent.com/images/CLXodPIPLEXaiXd6YQVYLQ1r3Q.png 1354w\",style:{aspectRatio:\"1354 / 640\"},width:\"677\"}),/*#__PURE__*/e(\"p\",{style:{\"--framer-line-height\":\"1.38em\"},children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"p\",{children:\"For more information on Flutter's M3 support, developers can refer to the umbrella issue on GitHub. Additionally, to experiment with the new components, developers can try out the interactive demo showcasing all the new M3 features. With these updates, Flutter 3.7 has made it easier than ever for developers to create stunning and responsive mobile apps with M3 design elements.\"}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"p\",{children:\"Flutter 3.7 has introduced new features for creating menu bars and cascading context menus. For macOS, developers can use the PlatformMenuBar widget, which renders platform-native menu bars on macOS instead of Flutter.\"}),/*#__PURE__*/t(\"p\",{children:[\"Get Demo Here: \",/*#__PURE__*/e(r,{href:\"https://flutter.github.io/samples/web/material_3_demo/#/\",motionChild:!0,nodeId:\"dlsksZJDV\",openInNewTab:!0,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(a.a,{children:\"https://flutter.github.io/samples/web/material_3_demo/#/\"})})]}),/*#__PURE__*/e(\"p\",{style:{\"--framer-line-height\":\"1.38em\"},children:/*#__PURE__*/e(r,{href:\"https://docs.flutter.dev/development/ui/material\",motionChild:!0,nodeId:\"dlsksZJDV\",openInNewTab:!1,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(a.a,{children:/*#__PURE__*/e(\"span\",{style:{\"--framer-font-size\":\"11px\",\"--framer-text-color\":\"rgb(17, 85, 204)\",\"--framer-text-decoration\":\"underline\"},children:\"https://docs.flutter.dev/development/ui/material\"})})})}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"ol\",{start:\"2\",children:/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"h3\",style:{\"--framer-font-size\":\"14px\",\"--framer-text-color\":\"rgb(67, 67, 67)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/e(\"h3\",{style:{\"--framer-line-height\":\"1.38em\"},children:/*#__PURE__*/e(\"span\",{style:{\"--framer-font-size\":\"14px\",\"--framer-text-color\":\"rgb(67, 67, 67)\",\"--framer-text-decoration\":\"none\"},children:\"Impeller Preview - Better than Skia Renderer!\"})})})}),/*#__PURE__*/e(\"p\",{children:\"The Flutter team has announced the preview release of the Impeller rendering engine on the stable channel for iOS. Impeller Rendered exceeds the performance of Skia-renderer. Impeller also implements all but a small number of rarely used corner cases, ensuring high fidelity. The team plans to make Impeller the default renderer on iOS in a future release, and they encourage users to provide feedback on GitHub.\"}),/*#__PURE__*/e(\"p\",{children:\"Although Impeller on iOS has been designed to meet the rendering needs of almost all Flutter apps, there are still some gaps in API coverage. Users may also notice minor visual differences in rendering between Skia and Impeller, which may be bugs. The Flutter team encourages users to file issues for any such discrepancies. A list of remaining gaps is available on the Flutter wiki.\"}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"img\",{alt:\"Impeller Flutter\",className:\"framer-image\",height:\"255\",src:\"https://framerusercontent.com/images/5Vf0G3Y4JSV1Ak4dRNBd1m4xA.png\",srcSet:\"https://framerusercontent.com/images/5Vf0G3Y4JSV1Ak4dRNBd1m4xA.png?scale-down-to=512 512w,https://framerusercontent.com/images/5Vf0G3Y4JSV1Ak4dRNBd1m4xA.png 961w\",style:{aspectRatio:\"961 / 511\"},width:\"480\"}),/*#__PURE__*/e(\"p\",{style:{\"--framer-line-height\":\"1.38em\"},children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"p\",{children:\"The Flutter community continues to contribute to the progress of Impeller. Contributions from users ColdPaleLight, guoguo338, JsouLiang, and magicianA accounted for 37 out of 291 (>12%) Impeller-related patches to this release. The Flutter team expresses its gratitude to these contributors.\"}),/*#__PURE__*/e(\"p\",{children:\"Although Impeller on Android is still under development, the team is making progress on a Vulkan backend for Impeller (with fallback to OpenGL on older devices). The team hopes to share more information about Android support, as well as support for desktop and web, in future releases.\"}),/*#__PURE__*/e(\"p\",{style:{\"--framer-line-height\":\"1.38em\"},children:/*#__PURE__*/e(r,{href:\"https://github.com/flutter/engine/tree/main/impeller\",motionChild:!0,nodeId:\"dlsksZJDV\",openInNewTab:!1,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(a.a,{children:/*#__PURE__*/e(\"span\",{style:{\"--framer-font-size\":\"11px\",\"--framer-text-color\":\"rgb(17, 85, 204)\",\"--framer-text-decoration\":\"underline\"},children:\"https://github.com/flutter/engine/tree/main/impeller\"})})})}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"ol\",{start:\"3\",children:/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"h3\",style:{\"--framer-font-size\":\"14px\",\"--framer-text-color\":\"rgb(67, 67, 67)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/e(\"h3\",{style:{\"--framer-line-height\":\"1.38em\"},children:/*#__PURE__*/t(\"span\",{style:{\"--framer-font-size\":\"14px\",\"--framer-text-color\":\"rgb(67, 67, 67)\",\"--framer-text-decoration\":\"none\"},children:[\"Validation Support in iOS Releases\",/*#__PURE__*/e(\"br\",{})]})})})}),/*#__PURE__*/e(\"p\",{children:\"Developers releasing an iOS app need to update several settings to ensure that the app is ready for submission to the App Store. To simplify the process, the flutter build ipa command now validates some of these settings and alerts developers if any changes need to be made to the app before release.\"}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"img\",{alt:\"Xcode-Flutter\",className:\"framer-image\",height:\"297\",src:\"https://framerusercontent.com/images/XDhfAZKAF7PcCLxtNcXs3Lfgk.png\",srcSet:\"https://framerusercontent.com/images/XDhfAZKAF7PcCLxtNcXs3Lfgk.png?scale-down-to=512 512w,https://framerusercontent.com/images/XDhfAZKAF7PcCLxtNcXs3Lfgk.png 824w\",style:{aspectRatio:\"824 / 594\"},width:\"412\"}),/*#__PURE__*/e(\"p\",{style:{\"--framer-line-height\":\"1.38em\"},children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"p\",{children:\"This feature is especially useful for developers who are new to iOS app development and may not be aware of all the necessary settings. With the validation feature, developers can be confident that their app meets the App Store's requirements and is ready for submission.\"}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"p\",{children:\"The Flutter team continues to work on improving the app release process for developers, and this addition to the flutter build ipa command is just one example of their efforts to make iOS app development more accessible and streamlined.\"}),/*#__PURE__*/e(\"p\",{style:{\"--framer-line-height\":\"1.38em\"},children:/*#__PURE__*/e(r,{href:\"https://docs.flutter.dev/deployment/ios\",motionChild:!0,nodeId:\"dlsksZJDV\",openInNewTab:!1,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(a.a,{children:/*#__PURE__*/e(\"span\",{style:{\"--framer-font-size\":\"11px\",\"--framer-text-color\":\"rgb(17, 85, 204)\",\"--framer-text-decoration\":\"underline\"},children:\"https://docs.flutter.dev/deployment/ios\"})})})}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"ol\",{start:\"4\",children:/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"h3\",style:{\"--framer-font-size\":\"14px\",\"--framer-text-color\":\"rgb(67, 67, 67)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/e(\"h3\",{style:{\"--framer-line-height\":\"1.38em\"},children:/*#__PURE__*/e(\"span\",{style:{\"--framer-font-size\":\"14px\",\"--framer-text-color\":\"rgb(67, 67, 67)\",\"--framer-text-decoration\":\"none\"},children:\"Creating Menu Bars and Cascading Menus\"})})})}),/*#__PURE__*/e(\"p\",{children:\"For all platforms, developers can use the MenuBar widget to define a Material Design menu with cascading menu bars, or use the MenuAnchor widget to create standalone cascading menus triggered by another user interface element. These menus are highly customizable, and developers can use custom widgets for the menu items or utilize the new MenuItemButton and SubmenuButton widgets.\"}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"img\",{alt:\"menu-bar Flutter\",className:\"framer-image\",height:\"271\",src:\"https://framerusercontent.com/images/BlKfGdVIqgp3AaxN5RWWPrhDB8o.png\",srcSet:\"https://framerusercontent.com/images/BlKfGdVIqgp3AaxN5RWWPrhDB8o.png?scale-down-to=512 512w,https://framerusercontent.com/images/BlKfGdVIqgp3AaxN5RWWPrhDB8o.png 829w\",style:{aspectRatio:\"829 / 543\"},width:\"414\"}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"p\",{children:\"With these new features, Flutter 3.7 has made it easier for developers to create complex and responsive user interfaces with customizable menus across all platforms.\"}),/*#__PURE__*/e(\"p\",{style:{\"--framer-line-height\":\"1.38em\"},children:/*#__PURE__*/e(r,{href:\"https://api.flutter.dev/flutter/material/MenuBar-class.html\",motionChild:!0,nodeId:\"dlsksZJDV\",openInNewTab:!1,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(a.a,{children:/*#__PURE__*/e(\"span\",{style:{\"--framer-font-size\":\"11px\",\"--framer-text-color\":\"rgb(17, 85, 204)\",\"--framer-text-decoration\":\"underline\"},children:\"https://api.flutter.dev/flutter/material/MenuBar-class.html\"})})})}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"ol\",{start:\"5\",children:/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"h3\",style:{\"--framer-font-size\":\"14px\",\"--framer-text-color\":\"rgb(67, 67, 67)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/e(\"h3\",{style:{\"--framer-line-height\":\"1.38em\"},children:/*#__PURE__*/e(\"span\",{style:{\"--framer-font-size\":\"14px\",\"--framer-text-color\":\"rgb(67, 67, 67)\",\"--framer-text-decoration\":\"none\"},children:\"Massive Updates in Flutter version 3.7 Dev Tools\"})})})}),/*#__PURE__*/e(\"p\",{children:\"The latest Flutter release includes several new tooling features and improvements. The DevTools Memory debugging tool has undergone a complete overhaul, with three new feature tabs, Profile, Trace, and Diff, that support all the previously supported memory debugging features and added more for developers' debugging ease.\"}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"p\",{children:\"Developers can now analyze the current memory allocation for their app by class and memory type, investigate code paths that allocate memory for a set of classes at runtime, and diff memory snapshots to comprehend the way memory is managed between two different time moments. All these memory features have been documented on docs.flutter.dev.\"}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"img\",{alt:\"dev tools Flutter\",className:\"framer-image\",height:\"397\",src:\"https://framerusercontent.com/images/TcMYPRZAKHeVU34KUWOdVeVrM.gif\",srcSet:\"https://framerusercontent.com/images/TcMYPRZAKHeVU34KUWOdVeVrM.gif?scale-down-to=512 512w,https://framerusercontent.com/images/TcMYPRZAKHeVU34KUWOdVeVrM.gif?scale-down-to=1024 1024w,https://framerusercontent.com/images/TcMYPRZAKHeVU34KUWOdVeVrM.gif 1200w\",style:{aspectRatio:\"1200 / 795\"},width:\"600\"}),/*#__PURE__*/e(\"p\",{style:{\"--framer-line-height\":\"1.38em\"},children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"p\",{children:\"The Performance page has also received new features. A new Frame Analysis tab at the top of the Performance page provides insights for the selected Flutter frame. You may receive tips on how to trace the expensive parts of your Flutter frame more closely or be alerted to warnings about costly operations detected within your Flutter frame. This can help you identify performance bottlenecks and optimize your code for better efficiency and speed. With this information, you can make informed decisions about how to improve the performance of your Flutter app.\"}),/*#__PURE__*/e(\"p\",{children:\"In addition to these updates, the release includes several bug fixes and improvements, including important bug fixes for the Inspector, the Network profiler, and the CPU profiler. Developers can find more details about the updates in the release notes for the DevTools changes that made it into Flutter 3.7.\"}),/*#__PURE__*/e(\"p\",{style:{\"--framer-line-height\":\"1.38em\"},children:/*#__PURE__*/e(r,{href:\"https://docs.flutter.dev/development/tools/devtools\",motionChild:!0,nodeId:\"dlsksZJDV\",openInNewTab:!1,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(a.a,{children:/*#__PURE__*/e(\"span\",{style:{\"--framer-font-size\":\"11px\",\"--framer-text-color\":\"rgb(17, 85, 204)\",\"--framer-text-decoration\":\"underline\"},children:\"https://docs.flutter.dev/development/tools/devtools\"})})})}),/*#__PURE__*/e(\"h3\",{style:{\"--framer-line-height\":\"1.38em\"},children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"ol\",{start:\"6\",children:/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"h3\",style:{\"--framer-font-size\":\"14px\",\"--framer-text-color\":\"rgb(67, 67, 67)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/e(\"h3\",{style:{\"--framer-line-height\":\"1.38em\"},children:/*#__PURE__*/e(\"span\",{style:{\"--framer-font-size\":\"14px\",\"--framer-text-color\":\"rgb(67, 67, 67)\",\"--framer-text-decoration\":\"none\"},children:\"contextMenuBuilder to customize Context Menus\"})})})}),/*#__PURE__*/e(\"p\",{style:{\"--framer-line-height\":\"1.38em\"},children:/*#__PURE__*/e(\"span\",{style:{\"--framer-font-size\":\"11px\",\"--framer-text-color\":\"rgb(0, 0, 0)\",\"--framer-text-decoration\":\"none\"},children:\"Flutter developers can now create custom context menus anywhere in their app and use them to customize built-in context menus. With the new contextMenuBuilder parameter added to existing widgets like TextField, developers can return any widget they want to modify the default platform-adaptive context menu.\"})}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"img\",{alt:\"context-menu-1\",className:\"framer-image\",height:\"133\",src:\"https://framerusercontent.com/images/UHE2YdmFJ68QcfjZ7th6OBeCy0.png\",srcSet:\"https://framerusercontent.com/images/UHE2YdmFJ68QcfjZ7th6OBeCy0.png?scale-down-to=512 512w,https://framerusercontent.com/images/UHE2YdmFJ68QcfjZ7th6OBeCy0.png 751w\",style:{aspectRatio:\"751 / 267\"},width:\"375\"}),/*#__PURE__*/e(\"p\",{style:{\"--framer-line-height\":\"1.38em\"},children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"p\",{children:'For example, developers can add a \"Send email\" button to the default text selection toolbar that appears when a user selects an email address. This feature isn\\'t limited to text selection, either. Developers can create an Image widget that displays a \"Save\" button when a user right-clicks or long-presses the image.'}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"img\",{alt:\"context-menu-2\",className:\"framer-image\",height:\"288\",src:\"https://framerusercontent.com/images/bKrtj1mVl4yKQ42lmMawUhUTo.png\",srcSet:\"https://framerusercontent.com/images/bKrtj1mVl4yKQ42lmMawUhUTo.png 532w\",style:{aspectRatio:\"532 / 576\"},width:\"266\"}),/*#__PURE__*/e(\"p\",{style:{\"--framer-line-height\":\"1.38em\"},children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"p\",{children:\"To display the current platform's default context menu, or a custom one, anywhere in the app, developers can use the ContextMenuController. This new feature offers developers greater flexibility and control over context menus in their Flutter apps.\"}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(r,{href:\"https://github.com/flutter/samples/tree/main/experimental/context_menus\",motionChild:!0,nodeId:\"dlsksZJDV\",openInNewTab:!0,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(a.a,{children:\"https://github.com/flutter/samples/tree/main/experimental/context_menus\"})})}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"ol\",{start:\"7\",children:/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"h3\",style:{\"--framer-font-size\":\"14px\",\"--framer-text-color\":\"rgb(67, 67, 67)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/e(\"h3\",{style:{\"--framer-line-height\":\"1.38em\"},children:/*#__PURE__*/e(\"span\",{style:{\"--framer-font-size\":\"14px\",\"--framer-text-color\":\"rgb(67, 67, 67)\",\"--framer-text-decoration\":\"none\"},children:\"Comprehensive improvements to Scrolling\"})})})}),/*#__PURE__*/e(\"p\",{children:\"Flutter 3.7 brings several exciting updates to scrolling, including improvements to trackpad interactions, the addition of new widgets such as Scrollbars and DraggableScrollableSheet, and enhanced handling for text selection within scrolling contexts. A notable feature for MacOS apps is the introduction of new scrolling physics that match the desktop platform, resulting in a higher level of fidelity.\"}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"img\",{alt:\"scrolling-list Flutter\",className:\"framer-image\",height:\"274\",src:\"https://framerusercontent.com/images/8RrrIiCVuYfsbS6O9Cimm9wYBg.png\",srcSet:\"https://framerusercontent.com/images/8RrrIiCVuYfsbS6O9Cimm9wYBg.png?scale-down-to=512 512w,https://framerusercontent.com/images/8RrrIiCVuYfsbS6O9Cimm9wYBg.png 832w\",style:{aspectRatio:\"832 / 549\"},width:\"416\"}),/*#__PURE__*/e(\"p\",{style:{\"--framer-line-height\":\"1.38em\"},children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"p\",{children:\"In addition, a regression issue in the builder constructor of various scrolling widgets such as ListView was addressed. During the NNBD migration, the itemBuilder was migrated to an IndexedWidgetBuilder, which caused the itemBuilder to no longer return null, thus affecting its ability to indicate the end of the list. Thanks to the keen eye of Github user @rrousselGit, this issue was identified and resolved years after the migration, using the NullableIndexedWidgetBuilder. These updates demonstrate Flutter's commitment to refining and improving its framework, providing developers with even more tools and features to build high-performance and polished applications.\"}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(r,{href:\"https://docs.flutter.dev/development/ui/widgets/scrolling\",motionChild:!0,nodeId:\"dlsksZJDV\",openInNewTab:!0,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(a.a,{children:\"https://docs.flutter.dev/development/ui/widgets/scrolling\"})})}),/*#__PURE__*/e(\"p\",{style:{\"--framer-line-height\":\"1.38em\"},children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"ol\",{start:\"8\",children:/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"h3\",style:{\"--framer-font-size\":\"14px\",\"--framer-text-color\":\"rgb(67, 67, 67)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/e(\"h3\",{style:{\"--framer-line-height\":\"1.38em\"},children:/*#__PURE__*/e(\"span\",{style:{\"--framer-font-size\":\"14px\",\"--framer-text-color\":\"rgb(67, 67, 67)\",\"--framer-text-decoration\":\"none\"},children:\"Brand New CupertinoListSection and CupertinoListTile widgets\"})})})}),/*#__PURE__*/e(\"p\",{children:\"Thanks to the contributions of Github user Campovski, the Cupertino community now has access to two new widgets - CupertinoListSection and CupertinoListTile. These widgets are designed to showcase a scrollable list of widgets in the iOS style and are the Cupertino versions of ListView and ListTile in Material.\"}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"img\",{alt:\"cuppertino Flutter\",className:\"framer-image\",height:\"258\",src:\"https://framerusercontent.com/images/maxUAyU2S3XW3HXEvh9nyiozKg.png\",srcSet:\"https://framerusercontent.com/images/maxUAyU2S3XW3HXEvh9nyiozKg.png?scale-down-to=512 512w,https://framerusercontent.com/images/maxUAyU2S3XW3HXEvh9nyiozKg.png 805w\",style:{aspectRatio:\"805 / 517\"},width:\"402\"}),/*#__PURE__*/e(\"p\",{style:{\"--framer-line-height\":\"1.38em\"},children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"p\",{children:\"This addition provides iOS developers with more tools to create apps that align with the Cupertino design principles and enhance the user experience. By incorporating these new widgets, developers can take their iOS app development to the next level and create polished and functional apps that are optimized for the Cupertino framework.\"}),/*#__PURE__*/e(\"p\",{style:{\"--framer-line-height\":\"1.38em\"},children:/*#__PURE__*/e(r,{href:\"https://api.flutter.dev/flutter/cupertino/CupertinoListSection-class.html\",motionChild:!0,nodeId:\"dlsksZJDV\",openInNewTab:!1,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(a.a,{children:/*#__PURE__*/e(\"span\",{style:{\"--framer-font-size\":\"11px\",\"--framer-text-color\":\"rgb(17, 85, 204)\",\"--framer-text-decoration\":\"underline\"},children:\"https://api.flutter.dev/flutter/cupertino/CupertinoListSection-class.html\"})})})}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"ol\",{start:\"9\",children:/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"h3\",style:{\"--framer-font-size\":\"14px\",\"--framer-text-color\":\"rgb(67, 67, 67)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/e(\"h3\",{style:{\"--framer-line-height\":\"1.38em\"},children:/*#__PURE__*/e(\"span\",{style:{\"--framer-font-size\":\"14px\",\"--framer-text-color\":\"rgb(67, 67, 67)\",\"--framer-text-decoration\":\"none\"},children:\"Multi-Language Support with Improved Internationalization\"})})})}),/*#__PURE__*/e(\"p\",{children:\"Flutter 3.7 brings a major overhaul to its internationalization support, providing developers with a more efficient and streamlined process for creating multi-language apps. The gen-l10n tool has been completely rewritten to support features such as plurals, gender, and text direction, making it easier for developers to provide translations for their apps.\"}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"img\",{alt:\"internationalization Flutter\",className:\"framer-image\",height:\"244\",src:\"https://framerusercontent.com/images/akF8tnlnEkpJD4rGwLPy98ijPhE.png\",srcSet:\"https://framerusercontent.com/images/akF8tnlnEkpJD4rGwLPy98ijPhE.png?scale-down-to=512 512w,https://framerusercontent.com/images/akF8tnlnEkpJD4rGwLPy98ijPhE.png 831w\",style:{aspectRatio:\"831 / 489\"},width:\"415\"}),/*#__PURE__*/e(\"p\",{style:{\"--framer-line-height\":\"1.38em\"},children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"p\",{children:\"These updates aim to provide developers with more flexibility and control over the language resources in their apps. To learn more about these updates and how to utilize them in your Flutter app, check out the updated Internationalizing Flutter apps page. With these improvements, Flutter continues to prioritize the user experience, making it easier for developers to build apps that are accessible and functional for users around the world.\"}),/*#__PURE__*/e(\"p\",{style:{\"--framer-line-height\":\"1.38em\"},children:/*#__PURE__*/e(r,{href:\"https://docs.flutter.dev/development/accessibility-and-localization/internationalization\",motionChild:!0,nodeId:\"dlsksZJDV\",openInNewTab:!1,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(a.a,{children:/*#__PURE__*/e(\"span\",{style:{\"--framer-font-size\":\"11px\",\"--framer-text-color\":\"rgb(17, 85, 204)\",\"--framer-text-decoration\":\"underline\"},children:\"https://docs.flutter.dev/development/accessibility-and-localization/internationalization\"})})})}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"ol\",{start:\"10\",children:/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"h3\",style:{\"--framer-font-size\":\"14px\",\"--framer-text-color\":\"rgb(67, 67, 67)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/e(\"h3\",{style:{\"--framer-line-height\":\"1.38em\"},children:/*#__PURE__*/e(\"span\",{style:{\"--framer-font-size\":\"14px\",\"--framer-text-color\":\"rgb(67, 67, 67)\",\"--framer-text-decoration\":\"none\"},children:\"Call Platform Channels from any Isolate\"})})})}),/*#__PURE__*/e(\"p\",{children:\"An exciting new feature that allows users to invoke Platform Channels from any Isolate. Previously, users were only able to invoke Platform Channels from Flutter's main isolate, limiting the flexibility of working with isolates and host platform code in Plugins or Add-to-app.\"}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"img\",{alt:\"platform channels Flutter\",className:\"framer-image\",height:\"283\",src:\"https://framerusercontent.com/images/dtBGHJTBylTaZkE978LpSVRoBI.png\",srcSet:\"https://framerusercontent.com/images/dtBGHJTBylTaZkE978LpSVRoBI.png 486w\",style:{aspectRatio:\"486 / 567\"},width:\"243\"}),/*#__PURE__*/e(\"p\",{style:{\"--framer-line-height\":\"1.38em\"},children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"p\",{style:{\"--framer-line-height\":\"1.38em\"},children:/*#__PURE__*/e(\"span\",{style:{\"--framer-font-size\":\"11px\",\"--framer-text-color\":\"rgb(0, 0, 0)\",\"--framer-text-decoration\":\"none\"},children:\"With the latest release, users can now easily call Platform Channels from any Isolate, making it easier to work with custom platform-specific code in your Flutter app. For more information, be sure to check out the updated documentation on Writing custom platform-specific code on flutter.dev, as well as the in-depth article, Introducing background isolate channels, available for free on Medium.\"})}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(r,{href:\"https://docs.flutter.dev/development/platform-integration/platform-channels\",motionChild:!0,nodeId:\"dlsksZJDV\",openInNewTab:!0,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(a.a,{children:\"https://docs.flutter.dev/development/platform-integration/platform-channels\"})})}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"ol\",{start:\"11\",children:/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"h3\",style:{\"--framer-font-size\":\"14px\",\"--framer-text-color\":\"rgb(67, 67, 67)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/e(\"h3\",{style:{\"--framer-line-height\":\"1.38em\"},children:/*#__PURE__*/e(\"span\",{style:{\"--framer-font-size\":\"14px\",\"--framer-text-color\":\"rgb(67, 67, 67)\",\"--framer-text-decoration\":\"none\"},children:\"Improved Area selection tools\"})})})}),/*#__PURE__*/e(\"p\",{children:\"With the latest release, SelectionArea now supports keyboard selections, making it easier for users to interact with text and other elements in your app. You can extend existing selections using popular keyboard shortcuts such as shift+right, streamlining the user experience for power users who prefer keyboard navigation.\"}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"img\",{alt:\"selection area Flutter\",className:\"framer-image\",height:\"260\",src:\"https://framerusercontent.com/images/M0RirGM2YqGmDINAAfDnyDsJZWc.png\",srcSet:\"https://framerusercontent.com/images/M0RirGM2YqGmDINAAfDnyDsJZWc.png?scale-down-to=512 512w,https://framerusercontent.com/images/M0RirGM2YqGmDINAAfDnyDsJZWc.png 817w\",style:{aspectRatio:\"817 / 520\"},width:\"408\"}),/*#__PURE__*/e(\"p\",{style:{\"--framer-line-height\":\"1.38em\"},children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"p\",{children:\"These updates aim to improve the usability and accessibility of your Flutter app, making it easier for users to interact with your app using the tools they prefer.\"}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(r,{href:\"https://api.flutter.dev/flutter/material/SelectionArea-class.html\",motionChild:!0,nodeId:\"dlsksZJDV\",openInNewTab:!0,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(a.a,{children:\"https://api.flutter.dev/flutter/material/SelectionArea-class.html\"})})}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"ol\",{start:\"12\",children:/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"h3\",style:{\"--framer-font-size\":\"14px\",\"--framer-text-color\":\"rgb(67, 67, 67)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/e(\"h3\",{style:{\"--framer-line-height\":\"1.38em\"},children:/*#__PURE__*/e(\"span\",{style:{\"--framer-font-size\":\"14px\",\"--framer-text-color\":\"rgb(67, 67, 67)\",\"--framer-text-decoration\":\"none\"},children:\"Support for Plugin Migration\"})})})}),/*#__PURE__*/e(\"p\",{children:\"As Apple shifts its focus towards Swift for their APIs, Flutter is taking steps to help plugin developers migrate or create new plugins with Swift. To assist with this transition, the quick_actions plugin has been migrated from Objective-C to Swift, and serves as an example of best practices. \"}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"img\",{alt:\"quick action Flutter\",className:\"framer-image\",height:\"289\",src:\"https://framerusercontent.com/images/W9fMOh8qbsABBZZf23FJFLNAQ.png\",srcSet:\"https://framerusercontent.com/images/W9fMOh8qbsABBZZf23FJFLNAQ.png?scale-down-to=512 512w,https://framerusercontent.com/images/W9fMOh8qbsABBZZf23FJFLNAQ.png 788w\",style:{aspectRatio:\"788 / 579\"},width:\"394\"}),/*#__PURE__*/e(\"p\",{style:{\"--framer-line-height\":\"1.38em\"},children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"p\",{children:\"If you're interested in contributing to the migration of 1P plugins, you can check out the Swift migration section of the Flutter wiki. These references aim to provide a smoother and more efficient plugin development experience for Flutter developers using Swift.\"}),/*#__PURE__*/e(\"p\",{children:\"For iOS developers, refer here:\"}),/*#__PURE__*/t(\"ul\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"12px\",\"--framer-text-color\":\"rgb(41, 41, 41)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/e(\"p\",{style:{\"--framer-line-height\":\"2.29091em\"},children:/*#__PURE__*/e(r,{href:\"https://docs.flutter.dev/get-started/flutter-for/ios-devs?tab=swiftui\",motionChild:!0,nodeId:\"dlsksZJDV\",openInNewTab:!1,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(a.a,{children:/*#__PURE__*/e(\"span\",{style:{\"--framer-font-size\":\"12px\",\"--framer-text-color\":\"rgb(17, 85, 204)\",\"--framer-text-decoration\":\"underline\"},children:\"Flutter for SwiftUI developers\"})})})})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"12px\",\"--framer-text-color\":\"rgb(41, 41, 41)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/e(\"p\",{style:{\"--framer-line-height\":\"2.29091em\"},children:/*#__PURE__*/e(r,{href:\"https://dart.dev/guides/language/coming-from/swift-to-dart\",motionChild:!0,nodeId:\"dlsksZJDV\",openInNewTab:!1,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(a.a,{children:/*#__PURE__*/e(\"span\",{style:{\"--framer-font-size\":\"12px\",\"--framer-text-color\":\"rgb(17, 85, 204)\",\"--framer-text-decoration\":\"underline\"},children:\"Dart for Swift developers\"})})})})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"12px\",\"--framer-text-color\":\"rgb(41, 41, 41)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/e(\"p\",{style:{\"--framer-line-height\":\"2.29091em\"},children:/*#__PURE__*/e(r,{href:\"https://docs.flutter.dev/resources/dart-swift-concurrency\",motionChild:!0,nodeId:\"dlsksZJDV\",openInNewTab:!1,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(a.a,{children:/*#__PURE__*/e(\"span\",{style:{\"--framer-font-size\":\"12px\",\"--framer-text-color\":\"rgb(17, 85, 204)\",\"--framer-text-decoration\":\"underline\"},children:\"Flutter concurrency for Swift Developers\"})})})})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"12px\",\"--framer-text-color\":\"rgb(41, 41, 41)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/e(\"p\",{style:{\"--framer-line-height\":\"2.29091em\"},children:/*#__PURE__*/e(r,{href:\"https://docs.flutter.dev/development/add-to-app/ios/add-flutter-screen\",motionChild:!0,nodeId:\"dlsksZJDV\",openInNewTab:!1,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(a.a,{children:/*#__PURE__*/e(\"span\",{style:{\"--framer-font-size\":\"12px\",\"--framer-text-color\":\"rgb(17, 85, 204)\",\"--framer-text-decoration\":\"underline\"},children:\"Adding Flutter to an existing SwiftUI app\"})})})})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"12px\",\"--framer-text-color\":\"rgb(41, 41, 41)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/t(\"p\",{style:{\"--framer-line-height\":\"2.29091em\"},children:[/*#__PURE__*/e(r,{href:\"https://docs.flutter.dev/deployment/flavors\",motionChild:!0,nodeId:\"dlsksZJDV\",openInNewTab:!1,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(a.a,{children:/*#__PURE__*/e(\"span\",{style:{\"--framer-font-size\":\"12px\",\"--framer-text-color\":\"rgb(17, 85, 204)\",\"--framer-text-decoration\":\"underline\"},children:\"Creating flavors with Flutter\"})})}),/*#__PURE__*/e(\"span\",{style:{\"--framer-font-size\":\"12px\",\"--framer-text-color\":\"rgb(41, 41, 41)\",\"--framer-text-decoration\":\"none\"},children:\" (for both Android and iOS)\"})]})})]}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"ol\",{start:\"13\",children:/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"h3\",style:{\"--framer-font-size\":\"14px\",\"--framer-text-color\":\"rgb(67, 67, 67)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/e(\"h3\",{style:{\"--framer-line-height\":\"1.38em\"},children:/*#__PURE__*/e(\"span\",{style:{\"--framer-font-size\":\"14px\",\"--framer-text-color\":\"rgb(67, 67, 67)\",\"--framer-text-decoration\":\"none\"},children:\"Better Text Selection with Text Magnifier\"})})})}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"p\",{children:\"Flutter now supports the magnifying glass that appears during text selection on Android and iOS. This feature is enabled by default for all apps with text selection, and can be customized or disabled using the magnifierConfiguration property.\"}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"img\",{alt:\"Text Magnifier Flutter\",className:\"framer-image\",height:\"477\",src:\"https://framerusercontent.com/images/bq1sI5ROqopZKrJWqFZl3xwvtWs.jpeg\",srcSet:\"https://framerusercontent.com/images/bq1sI5ROqopZKrJWqFZl3xwvtWs.jpeg 486w\",style:{aspectRatio:\"486 / 954\"},width:\"243\"}),/*#__PURE__*/e(\"p\",{style:{\"--framer-line-height\":\"1.38em\"},children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"p\",{children:\"This improvement provides a more seamless user experience for text selection in Flutter apps.\"}),/*#__PURE__*/e(\"p\",{style:{\"--framer-line-height\":\"1.38em\"},children:/*#__PURE__*/e(r,{href:\"https://master-api.flutter.dev/flutter/material/TextField/magnifierConfiguration.html\",motionChild:!0,nodeId:\"dlsksZJDV\",openInNewTab:!1,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(a.a,{children:/*#__PURE__*/e(\"span\",{style:{\"--framer-font-size\":\"11px\",\"--framer-text-color\":\"rgb(17, 85, 204)\",\"--framer-text-decoration\":\"underline\"},children:\"https://master-api.flutter.dev/flutter/material/TextField/magnifierConfiguration.html\"})})})}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"ol\",{start:\"14\",children:/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"h3\",style:{\"--framer-font-size\":\"14px\",\"--framer-text-color\":\"rgb(67, 67, 67)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/e(\"h3\",{style:{\"--framer-line-height\":\"1.38em\"},children:/*#__PURE__*/e(\"span\",{style:{\"--framer-font-size\":\"14px\",\"--framer-text-color\":\"rgb(67, 67, 67)\",\"--framer-text-decoration\":\"none\"},children:\"Bitcode Depreciation\"})})})}),/*#__PURE__*/e(\"p\",{children:\"For the latest release of Flutter, we have removed bitcode support due to recent changes in Xcode 14. The App Store no longer accepts bitcode submissions for watchOS and tvOS applications. As a result, Flutter apps are no longer required to have bitcode enabled by default.\"}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"img\",{alt:\"bitcode apple Flutter\",className:\"framer-image\",height:\"304\",src:\"https://framerusercontent.com/images/YNh2GT48i98nCAqnLPjLsf07D7s.png\",srcSet:\"https://framerusercontent.com/images/YNh2GT48i98nCAqnLPjLsf07D7s.png?scale-down-to=512 512w,https://framerusercontent.com/images/YNh2GT48i98nCAqnLPjLsf07D7s.png?scale-down-to=1024 1024w,https://framerusercontent.com/images/YNh2GT48i98nCAqnLPjLsf07D7s.png 1312w\",style:{aspectRatio:\"1312 / 609\"},width:\"656\"}),/*#__PURE__*/e(\"p\",{style:{\"--framer-line-height\":\"1.38em\"},children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"p\",{children:\"While this change is not expected to affect many developers, if you have manually enabled bitcode in your Xcode project, we recommend disabling it as soon as possible after upgrading to Xcode 14. To do so, navigate to ios/Runner.xcworkspace and set Enable Bitcode to No. Host Xcode projects for Add-to-app developers should also disable bitcode.\"}),/*#__PURE__*/e(\"p\",{style:{\"--framer-line-height\":\"1.38em\"},children:/*#__PURE__*/e(r,{href:\"https://help.apple.com/xcode/mac/11.0/index.html?localePath=en.lproj#/devde46df08a\",motionChild:!0,nodeId:\"dlsksZJDV\",openInNewTab:!1,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(a.a,{children:/*#__PURE__*/e(\"span\",{style:{\"--framer-font-size\":\"11px\",\"--framer-text-color\":\"rgb(17, 85, 204)\",\"--framer-text-decoration\":\"underline\"},children:\"https://help.apple.com/xcode/mac/11.0/index.html?localePath=en.lproj#/devde46df08a\"})})})}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"ol\",{start:\"15\",children:/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"h3\",style:{\"--framer-font-size\":\"14px\",\"--framer-text-color\":\"rgb(67, 67, 67)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/e(\"h3\",{style:{\"--framer-line-height\":\"1.38em\"},children:/*#__PURE__*/e(\"span\",{style:{\"--framer-font-size\":\"14px\",\"--framer-text-color\":\"rgb(67, 67, 67)\",\"--framer-text-decoration\":\"none\"},children:\"Improvement in Memory Management\"})})})}),/*#__PURE__*/e(\"p\",{children:\"The latest release of Flutter comes with several memory management enhancements that address various performance issues, such as reducing jank caused by garbage collection pauses, decreasing CPU usage resulting from allocation velocity and background GC threads, and lowering the memory footprint.\"}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"img\",{alt:\"memory management Flutter\",className:\"framer-image\",height:\"192\",src:\"https://framerusercontent.com/images/xmx9qLTnu7cMqoLx3LGzeuYmvM.png\",srcSet:\"https://framerusercontent.com/images/xmx9qLTnu7cMqoLx3LGzeuYmvM.png?scale-down-to=512 512w,https://framerusercontent.com/images/xmx9qLTnu7cMqoLx3LGzeuYmvM.png?scale-down-to=1024 1024w,https://framerusercontent.com/images/xmx9qLTnu7cMqoLx3LGzeuYmvM.png 1249w\",style:{aspectRatio:\"1249 / 385\"},width:\"624\"}),/*#__PURE__*/e(\"p\",{style:{\"--framer-line-height\":\"1.38em\"},children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"p\",{children:\"These improvements are expected to optimize app performance and provide a better experience for users.\"}),/*#__PURE__*/e(\"p\",{style:{\"--framer-line-height\":\"1.38em\"},children:/*#__PURE__*/e(r,{href:\"https://docs.flutter.dev/development/tools/devtools/memory\",motionChild:!0,nodeId:\"dlsksZJDV\",openInNewTab:!1,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(a.a,{children:/*#__PURE__*/e(\"span\",{style:{\"--framer-font-size\":\"11px\",\"--framer-text-color\":\"rgb(17, 85, 204)\",\"--framer-text-decoration\":\"underline\"},children:\"https://docs.flutter.dev/development/tools/devtools/memory\"})})})}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"ol\",{start:\"16\",children:/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"h3\",style:{\"--framer-font-size\":\"14px\",\"--framer-text-color\":\"rgb(67, 67, 67)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/e(\"h3\",{style:{\"--framer-line-height\":\"1.38em\"},children:/*#__PURE__*/e(\"span\",{style:{\"--framer-font-size\":\"14px\",\"--framer-text-color\":\"rgb(67, 67, 67)\",\"--framer-text-decoration\":\"none\"},children:\"iOS PlatformView BackdropFilter\"})})})}),/*#__PURE__*/e(\"p\",{children:\"Flutter now offers enhanced capabilities for creating visually stunning interfaces on iOS. The latest update allows native iOS views to be blurred when displayed under a Flutter widget with a blur effect, which can be used to create attractive and dynamic visual effects.\"}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"img\",{alt:\"platform view Flutter\",className:\"framer-image\",height:\"250\",src:\"https://framerusercontent.com/images/8eA0PjfzNtplLng8gkHHkWkOTPI.png\",srcSet:\"https://framerusercontent.com/images/8eA0PjfzNtplLng8gkHHkWkOTPI.png?scale-down-to=512 512w,https://framerusercontent.com/images/8eA0PjfzNtplLng8gkHHkWkOTPI.png 612w\",style:{aspectRatio:\"612 / 501\"},width:\"306\"}),/*#__PURE__*/e(\"p\",{style:{\"--framer-line-height\":\"1.38em\"},children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"p\",{children:\"Additionally, UiKitView widgets can now be wrapped in a BackdropFilter, providing even more ways to customize and enhance the visual appearance of your iOS app. These updates offer greater flexibility and creative control for developers seeking to create polished, visually rich apps for iOS users.\"}),/*#__PURE__*/e(\"p\",{style:{\"--framer-line-height\":\"1.38em\"},children:/*#__PURE__*/e(r,{href:\"http://flutter.dev/go/ios-platformview-backdrop-filter-blur\",motionChild:!0,nodeId:\"dlsksZJDV\",openInNewTab:!1,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(a.a,{children:/*#__PURE__*/e(\"span\",{style:{\"--framer-font-size\":\"11px\",\"--framer-text-color\":\"rgb(17, 85, 204)\",\"--framer-text-decoration\":\"underline\"},children:\"http://flutter.dev/go/ios-platformview-backdrop-filter-blur\"})})})}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"h3\",{style:{\"--framer-line-height\":\"1.38em\"},children:/*#__PURE__*/e(\"span\",{style:{\"--framer-font-size\":\"14px\",\"--framer-text-color\":\"rgb(67, 67, 67)\",\"--framer-text-decoration\":\"none\"},children:\"Other notable Improvements in Flutter 3.7\"})}),/*#__PURE__*/t(\"ul\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Flutter no longer supports macOS versions 10.11, 10.12, and 10.13. The minimum macOS version supported by Flutter now increases to 10.14 Mojave. As a result, the OpenGL backend has been removed from the iOS and macOS embedders, reducing the compressed size of the Flutter engine by about 100KB. Apps built with stable Flutter SDKs from this release onwards will no longer work on the unsupported versions of macOS.\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"The latest Flutter release brings several enhancements to the framework's custom fragment shader support. It now features a shader compiler that automatically compiles GLSL shaders listed in the pubspec.yaml file to the appropriate backend-specific format for the target platform. This release also introduces the ability to hot reload custom shaders for a smoother development process. Moreover, custom shaders can now be utilized with both the Skia and Impeller backends on iOS.\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Adding new fonts to an application in Flutter previously required a rebuild to take effect, unlike other asset types that could be hot reloaded. But now, with this release, changes to the font manifest - including new font additions - can be hot reloaded into the application, allowing for a more convenient development experience.\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Flutter's performance on iOS has been improved thanks to the contributions of luckysmg. Two enhancements have been made to reduce animation jank on iOS. First, a dummy CADisplayLink has been added to the main thread during gestures to force refreshes at the maximum refresh rate. The keyboard animation improvements now synchronize the refresh rate of the CADisplayLink with the Flutter engine's animator, resulting in smoother animations on 120Hz iOS devices.\"})})]}),/*#__PURE__*/e(\"p\",{children:\"The Flutter community of talented and passionate contributors has been instrumental in making Flutter the amazing experience it is today. Thanks to Flutter devs for providing detailed feedback to us via Medium. Even we at Blup acknowledge the communities for their immense help and guidance. As they continue on this journey together, the Flutter team assures the community that their contributions remain highly valued and appreciated.\"}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"p\",{children:\"Loved the detailed Flutter 3.7 Insights? Keep following us for more updates.\"})]});export const richText1=/*#__PURE__*/t(n.Fragment,{children:[/*#__PURE__*/e(\"h1\",{children:\"A Flutter Synopsis and History\"}),/*#__PURE__*/t(\"p\",{children:[\"In October 2014, the team of Google developers heard the call to \",/*#__PURE__*/e(\"em\",{children:\"'Open The Sky,'\"}),\" and thus The Sky Engine was born. With time, it evolved into what we know today as Flutter - an open source UI development kit that has taken the mobile app development world by storm.\"]}),/*#__PURE__*/e(\"img\",{alt:\"flutter framework\",className:\"framer-image\",height:\"540\",src:\"https://framerusercontent.com/images/sE3pcVLgR6O3RJjPXOinGPxQsw.png\",srcSet:\"https://framerusercontent.com/images/sE3pcVLgR6O3RJjPXOinGPxQsw.png?scale-down-to=512 512w,https://framerusercontent.com/images/sE3pcVLgR6O3RJjPXOinGPxQsw.png?scale-down-to=1024 1024w,https://framerusercontent.com/images/sE3pcVLgR6O3RJjPXOinGPxQsw.png 1920w\",style:{aspectRatio:\"1920 / 1080\"},width:\"960\"}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/t(\"p\",{children:[\"In its early days, \",/*#__PURE__*/e(\"strong\",{children:\"Flutter \"}),\"had only one major feature - Hot Reload on Android phones. Yet, even this single feature was a game-changer, reducing Android app creation time from a grueling 7 minutes to a mind-boggling 400ms. But the vision behind Flutter was much bigger than just mobile app development.\"]}),/*#__PURE__*/e(\"p\",{children:\"The Google developers wanted to make the web experience faster, better, and more streamlined for all. So, they began by removing old web compatibility support from Chrome, making it 20 times faster than before. This simple experiment set in motion the creation of a cutting-edge platform that is now the preferred choice of developers worldwide.\"}),/*#__PURE__*/e(\"h2\",{children:\"Motives Behind Creation of Flutter\"}),/*#__PURE__*/t(\"p\",{children:[\"The world of mobile app development was forever changed when Eric Seidel, one of the co-founders of \",/*#__PURE__*/e(r,{href:\"https://flutter.dev/\",motionChild:!0,nodeId:\"dlsksZJDV\",openInNewTab:!0,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(a.a,{children:\"Flutter\"})}),\", made the official announcement at the \",/*#__PURE__*/e(\"strong\",{children:\"DART dev summit\"}),\" in April 2015.\"]}),/*#__PURE__*/e(\"p\",{children:\"From the very beginning, the team behind Flutter had a clear vision in mind - to create a platform that was not only beautiful and high-performing but also improved the overall developer experience. But they didn't stop there. They also made it a point to keep the platform open-source and flexible, ensuring that developers could customize it to suit their needs.\"}),/*#__PURE__*/t(\"p\",{children:[\"And at the heart of it all was\",/*#__PURE__*/e(\"strong\",{children:\" Flutter's programming language\"}),\", \",/*#__PURE__*/e(\"strong\",{children:\"Dart\"}),\". This highly portable and user-friendly language was designed to support compilation to optimized JavaScript, as well as Intel and ARM machine code, making it the perfect choice for developers looking to create cutting-edge mobile apps.\"]}),/*#__PURE__*/e(\"h2\",{children:\"Timeline of Flutter's development history\"}),/*#__PURE__*/e(\"p\",{children:\"Flutter's journey to becoming the premier mobile app development platform was not without its share of legal battles and technological advancements. In the span of just a few years, the platform went from being called the Sky Engine to Flutter, (courtesy of few lawyers \uD83E\uDDD1\u200D\u2696\uFE0F).\"}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"img\",{alt:\"\",className:\"framer-image\",height:\"540\",src:\"https://framerusercontent.com/images/iEORNPjeGYXxakIAnXmTGZFpWE.png\",srcSet:\"https://framerusercontent.com/images/iEORNPjeGYXxakIAnXmTGZFpWE.png?scale-down-to=512 512w,https://framerusercontent.com/images/iEORNPjeGYXxakIAnXmTGZFpWE.png?scale-down-to=1024 1024w,https://framerusercontent.com/images/iEORNPjeGYXxakIAnXmTGZFpWE.png 1920w\",style:{aspectRatio:\"1920 / 1080\"},width:\"960\"}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"p\",{children:\"The first commit was made in May 2017, and after much anticipation, the beta version was finally released in February 2018. But it wasn't until December 4th of that same year that Google made the big announcement - Flutter 1.0 was now available and ready for prime time. This stable release was a game-changer, providing developers with the tools they needed to build production-ready apps.\"}),/*#__PURE__*/e(\"p\",{children:\"And while the initial releases of Flutter focused on offering a mobile SDK to create native Android and iOS apps with a single codebase, Google had even bigger plans for its versatile platform.\"}),/*#__PURE__*/e(\"h2\",{children:\"A big leap for Flutter's app development\"}),/*#__PURE__*/t(\"p\",{children:[\"Flutter's evolution continued to impress with the introduction of \",/*#__PURE__*/e(\"strong\",{children:\"The Hummingbird\"}),\", which was unveiled as a preview in version 1.5. This exciting release allowed Flutter to extend its capabilities to the web, making it more versatile and accessible across different platforms. \"]}),/*#__PURE__*/e(\"p\",{children:\"Subsequent versions saw the inclusion of more powerful features like UI tools, widgets, and app bundles. Flutter version 1.12 was particularly noteworthy, with the introduction of support for iOS 13, a beta release of Flutter Web, Layout Explorer, and multi-device debugging. These updates brought a plethora of new possibilities for developers looking to create beautiful and responsive apps.\"}),/*#__PURE__*/t(\"p\",{children:[\"On March 3rd, 2021, Google announced the release of \",/*#__PURE__*/e(\"strong\",{children:\"Flutter 2.0\"}),\" in a spectacular \",/*#__PURE__*/e(\"strong\",{children:\"Flutter Engage Event\"}),\", sending waves of excitement across the developer community. This version brought along a host of amazing features, including a stable Flutter Web, the Null Safety feature, a new Canvas Kit renderer, and more iOS-specific updates.\"]}),/*#__PURE__*/e(\"h2\",{children:\"Legacy of Flutter Developers\"}),/*#__PURE__*/e(\"p\",{children:\"As Flutter continues to make groundbreaking strides in the tech industry, it's interesting to note that some of the key players who brought Flutter to where it is today have also gone on to explore new horizons.\"}),/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Eric Seidel, the brilliant co-founder of Flutter\"}),\", now enjoys a well-deserved retirement. Meanwhile, \",/*#__PURE__*/e(\"strong\",{children:\"Martin Aguinis, Product Marketing Manager at Flutter\"}),\", has ventured out to become CEO and co-founder of Clipjoy, and \",/*#__PURE__*/e(\"strong\",{children:\"Tim Sneath, one of the early members\"}),\" of the Flutter team, now serves as the Director of Product and UX for both Flutter and Dart.\"]}),/*#__PURE__*/e(\"p\",{children:\"Flutter, the cross-platform mobile app development SDK, has been a trailblazer in the world of app development, winning hearts and acclaim from developers worldwide. With its robust testing and debugging environment, powerful rendering engine, platform-specific logic implementation, instant hot reload, and an ever-growing widget library, Flutter is at the forefront of mobile app development.\"}),/*#__PURE__*/e(\"p\",{children:\"And with more exciting features in the pipeline, the Flutter journey promises to be a thrilling ride for developers and users alike. So hop on board and get ready to experience the future of app development with Flutter!\"}),/*#__PURE__*/e(\"h2\",{children:\"Blup, carrying Flutter's Mettle\"}),/*#__PURE__*/t(\"p\",{children:[\"Unlock your app development potential with \",/*#__PURE__*/e(r,{href:\"blup.in\",motionChild:!0,nodeId:\"dlsksZJDV\",openInNewTab:!0,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(a.a,{children:\"Blup - the powerful IDE platform\"})}),\" built on top of Flutter. Blup takes the hassle out of mobile app development, making the process up to 10 times faster and easier. \"]}),/*#__PURE__*/e(\"p\",{children:\"With its intuitive user interface, advanced code editing features, and seamless integration with Flutter, Blup will help you bring your app ideas to life in record time. Don't settle for anything less than the best - switch to Blup today and experience the power of Flutter like never before!\"}),/*#__PURE__*/e(\"p\",{children:\"Apart from this, we have written other in-detail articles on Flutter and mobile app development. You can find them below:\"}),/*#__PURE__*/t(\"ul\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(r,{href:\"https://www.blup.in/blog/the-ultimate-list-of-flutter-ide-a-must-read-for-flutter-developers\",motionChild:!0,nodeId:\"dlsksZJDV\",openInNewTab:!0,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(a.a,{children:\"Best IDE for Flutter development\"})})})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(r,{href:\"https://www.blup.in/blog/key-points-to-consider-while-choosing-a-mobile-app-development-agency\",motionChild:!0,nodeId:\"dlsksZJDV\",openInNewTab:!0,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(a.a,{children:\"Tips to choose best mobile app development company\"})})})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(r,{href:\"https://www.blup.in/blog/how-much-does-it-cost-to-build-a-mobile-app\",motionChild:!0,nodeId:\"dlsksZJDV\",openInNewTab:!0,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(a.a,{children:\"Cost to build mobile apps\"})})})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(r,{href:\"https://www.blup.in/blog/the-dummies-guide-to-mobile-app-development\",motionChild:!0,nodeId:\"dlsksZJDV\",openInNewTab:!0,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(a.a,{children:\"Complete guide to Mobile App Development\"})})})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(r,{href:\"https://www.blup.in/blog/top-20-apps-built-with-flutter-framework\",motionChild:!0,nodeId:\"dlsksZJDV\",openInNewTab:!0,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(a.a,{children:\"Top apps built with Flutter Framework\"})})})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(r,{href:\"https://www.blup.in/blog/top-youtube-channels-to-learn-flutter\",motionChild:!0,nodeId:\"dlsksZJDV\",openInNewTab:!0,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(a.a,{children:\"TOP YOUTUBE CHANNELS TO LEARN FLUTTER\"})})})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(r,{href:\"https://www.blup.in/blog/how-to-build-flutter-apps\",motionChild:!0,nodeId:\"dlsksZJDV\",openInNewTab:!0,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(a.a,{children:\"How to build Flutter apps?\"})})})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(r,{href:\"https://www.blup.in/blog/flutter-vs-react-native-which-to-choose-for-mobile-app-development\",motionChild:!0,nodeId:\"dlsksZJDV\",openInNewTab:!0,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(a.a,{children:\"Flutter vs React Native 2023\"})})})})]}),/*#__PURE__*/e(\"p\",{children:\"We hope you read the ones you like and share them. See you later!\"})]});export const richText2=/*#__PURE__*/t(n.Fragment,{children:[/*#__PURE__*/e(\"h1\",{children:\"Which Framework is better for mobile app development, Flutter or React Native?\"}),/*#__PURE__*/e(\"p\",{children:\"There has been a long-running battle between Flutter and React Native devs to pick the top spot. However, the reality is that everything is dependent on what you want to build and how. Both frameworks have their own pros and cons. In this article, we will try to summarize them so it is much easier for new mobile app developers to skin through this content.\"}),/*#__PURE__*/e(\"h2\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"h2\",{children:\"What is Flutter?\"}),/*#__PURE__*/e(\"p\",{children:\"Flutter is a comprehensive open source Framework built by devs at Google that supports the creation of stunning app, native compilation, and multi-platform publishing features, all using a single codebase.\"}),/*#__PURE__*/e(\"p\",{children:\"Being worked on since 2014, Flutter has gained top-notch preferences from many application developers. It is quickly becoming an ace card for many mobile app developers and still rising.\"}),/*#__PURE__*/e(\"p\",{children:\"Flutter was designed to address some of the common pain points of mobile app development, such as slow iteration times, complex UI design, and fragmented platforms. To overcome these challenges, the Flutter team created a new approach to app development that emphasized rapid iteration, expressive and flexible UI design and a consistent user experience across platforms.\"}),/*#__PURE__*/e(\"img\",{alt:\"Flutter\",className:\"framer-image\",height:\"281\",src:\"https://framerusercontent.com/images/2zx2G8rnb6UK3Z81ojVr34MENic.webp\",srcSet:\"https://framerusercontent.com/images/2zx2G8rnb6UK3Z81ojVr34MENic.webp?scale-down-to=512 512w,https://framerusercontent.com/images/2zx2G8rnb6UK3Z81ojVr34MENic.webp 1023w\",style:{aspectRatio:\"1023 / 562\"},width:\"511\"}),/*#__PURE__*/e(\"p\",{children:\"Flutter is built on top of the Dart programming language, which was also created by Google. Dart is a typed, object-oriented language that compiles to JavaScript or machine code for execution on web browsers, servers, and mobile devices. Dart was designed to be easy to learn and use, with a focus on productivity and performance.\"}),/*#__PURE__*/e(\"p\",{children:\"Flutter's architecture is based on a reactive programming model that allows developers to create UI elements that update in real-time as the underlying data changes. This allows for a faster and more responsive user experience, as well as easier maintenance of complex UI designs.\"}),/*#__PURE__*/e(\"p\",{children:\"Flutter has gained a large and enthusiastic community of developers since its release, thanks in part to its fast development cycles and ability to create visually stunning and high-performance apps. The Flutter team is actively working on improving and expanding the framework, with regular updates and new features being added on a regular basis.\"}),/*#__PURE__*/e(\"p\",{children:\"In summary, Flutter was created by Google to address the challenges of mobile app development and provide developers with a fast, flexible, and expressive platform for building high-quality mobile apps. Its architecture is based on a reactive programming model, and it is built on top of the Dart programming language. Flutter has gained a large and enthusiastic community of developers, and it continues to evolve and improve with regular updates and new features.\"}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"h2\",{children:\"What is React Native?\"}),/*#__PURE__*/e(\"p\",{children:\"React Native is an open-source framework built by Facebook, which is used for mobile application development. The framework was first introduced at the React.js conference in 2015, and it has since gained a significant following among mobile app developers. React Native is based on React, a popular JavaScript library for building web user interfaces.\"}),/*#__PURE__*/e(\"p\",{children:\"React Native was created to address the challenges of mobile app development, particularly the need for faster iteration times and the ability to build apps for multiple platforms. The framework allows developers to build high-quality mobile apps for both iOS and Android using a single codebase. This means that developers can write once and deploy to both platforms, saving time and effort.\"}),/*#__PURE__*/e(\"p\",{children:\"One of the key benefits of React Native is its ability to create a native user experience. This is achieved through the use of native components, which are pre-built UI elements that are specific to each platform. This allows developers to create apps that look and feel like native apps, with smooth animations and fast performance.\"}),/*#__PURE__*/e(\"p\",{children:\"React Native also has a large and active community of developers, who have contributed to the growth and evolution of the framework. The community has created a wide range of libraries and tools that extend the functionality of React Native, making it easier for developers to build complex and feature-rich apps.\"}),/*#__PURE__*/e(\"p\",{children:\"React Native is built on top of JavaScript, which is a widely used programming language that is easy to learn and use. This makes it accessible to a wide range of developers, regardless of their level of experience.\"}),/*#__PURE__*/e(\"p\",{children:\"In summary, React Native is an open-source mobile app development framework created by Facebook that allows developers to build high-quality apps for both iOS and Android using a single codebase. It is built on top of JavaScript and uses native components to create a native user experience. React Native has a large and active community of developers and is widely used in the mobile app development industry.\"}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"h3\",{children:\"1.  Programming Language: Dart vs JavaScript!\"}),/*#__PURE__*/e(\"p\",{children:\"Both Flutter and React Native use different programming languages. Flutter uses Dart, a language developed by Google, while React Native uses JavaScript, a popular web programming language.\"}),/*#__PURE__*/e(\"p\",{children:\"Dart is an object-oriented, strongly-typed language that is optimized for building user interfaces, and it has a modern syntax that makes it easier to learn and use. JavaScript, on the other hand, is a dynamically-typed language that is more flexible and can be used for both front-end and back-end development.\"}),/*#__PURE__*/e(\"p\",{children:\"Choosing between Dart and JavaScript depends on the specific needs of your project. If you are looking to build complex and interactive UIs, Flutter's Dart language may be the better choice as it was designed specifically for UI development.\"}),/*#__PURE__*/e(\"p\",{children:\"However, if you already have a team that is skilled in JavaScript or you need to integrate with existing web technologies, React Native's JavaScript may be the more practical choice. Ultimately, the choice between the two languages should be based on the specific needs of your project and the expertise of your development team.\"}),/*#__PURE__*/e(\"ol\",{start:\"2\",children:/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"h3\",children:/*#__PURE__*/e(\"h3\",{children:\"Flutter vs React Native Performance comparison\"})})}),/*#__PURE__*/e(\"p\",{children:\"Both React Native and Flutter have their positive and negative aspects in terms of performance. React Native uses native components and relies on the JavaScript bridge to communicate with the native modules, which can result in performance issues in some cases. \"}),/*#__PURE__*/e(\"p\",{children:\"On the other hand, Flutter uses its own rendering engine, which means that it does not need to rely on native components and has faster rendering times. However, this also means that Flutter apps can be larger in size compared to React Native apps.\"}),/*#__PURE__*/e(\"img\",{alt:\"AOT vs JIT\",className:\"framer-image\",height:\"288\",src:\"https://framerusercontent.com/images/dKgL8em6xC4ozDazf7gjJrzx5mk.webp\",srcSet:\"https://framerusercontent.com/images/dKgL8em6xC4ozDazf7gjJrzx5mk.webp?scale-down-to=512 512w,https://framerusercontent.com/images/dKgL8em6xC4ozDazf7gjJrzx5mk.webp 1024w\",style:{aspectRatio:\"1024 / 576\"},width:\"512\"}),/*#__PURE__*/e(\"p\",{children:\"In terms of start-up time, React Native has an advantage due to its Just-In-Time (JIT) compilation process, which allows for faster development and iteration times. Flutter, on the other hand, uses Ahead-Of-Time (AOT) compilation, which results in slower start-up times but faster rendering times and overall better performance.\"}),/*#__PURE__*/e(\"p\",{children:\"When it comes to animations and graphics, both Flutter and React Native provide great performance. However, Flutter's rendering engine allows for more customizations and better control over animations and graphics, making it a better choice for apps that heavily rely on animations.\"}),/*#__PURE__*/e(\"ol\",{start:\"3\",children:/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"h3\",children:/*#__PURE__*/e(\"h3\",{children:\"Quality User Interface: Flutter or React Native?\"})})}),/*#__PURE__*/e(\"p\",{children:\"When it comes to user interface, both Flutter and React Native provide excellent features to create high-quality UI designs. React Native uses native UI components for both Android and iOS platforms, resulting in a more native-like experience for users. However, this approach can lead to performance issues, especially when dealing with complex UIs.\"}),/*#__PURE__*/e(\"img\",{alt:\"flutter vs react UI\",className:\"framer-image\",height:\"273\",src:\"https://framerusercontent.com/images/aNS3sUlg4w6ttPJRNXnOzCs3IsI.webp\",srcSet:\"https://framerusercontent.com/images/aNS3sUlg4w6ttPJRNXnOzCs3IsI.webp?scale-down-to=512 512w,https://framerusercontent.com/images/aNS3sUlg4w6ttPJRNXnOzCs3IsI.webp 1024w\",style:{aspectRatio:\"1024 / 546\"},width:\"512\"}),/*#__PURE__*/e(\"p\",{children:\"On the other hand, Flutter has its rendering engine, which allows for a smooth and customizable UI experience across multiple platforms. It offers widgets that are flexible and can be easily customized to fit the desired design. Flutter also has a hot reload feature that enables developers to see real-time updates in the app's UI, making the UI design process faster and more efficient.\"}),/*#__PURE__*/e(\"p\",{children:\"Both platforms have a wide range of UI libraries and tools to help developers create beautiful and responsive user interfaces. React Native has libraries like React Native Elements, NativeBase, and Shoutem, while Flutter has Material Design and Cupertino widgets, among others.\"}),/*#__PURE__*/e(\"p\",{children:\"In terms of which platform is better for UI design, it ultimately depends on the project requirements and the preferences of the development team. React Native may be a better fit for projects that require a more native-like feel, while Flutter may be a better choice for projects that need a highly customizable and responsive UI.\"}),/*#__PURE__*/e(\"ol\",{start:\"4\",children:/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"h3\",children:/*#__PURE__*/e(\"h3\",{children:\"Viewing Live changes with Hot Reload\"})})}),/*#__PURE__*/e(\"p\",{children:\"Hot Reload is a key feature in both Flutter and React Native, allowing developers to quickly see the changes they make in their code without having to restart the entire application. In Flutter, hot reload is faster and more seamless than in React Native, as it allows for real-time changes to be made to the app while it's running. This is because Flutter's architecture allows for the entire UI to be rebuilt in real-time, while React Native's architecture requires the JavaScript thread to be paused while changes are being made.\"}),/*#__PURE__*/e(\"p\",{children:\"In React Native, hot reload is not as seamless as in Flutter and often requires a full app reload. However, React Native's implementation of hot reload is more stable and reliable, with fewer bugs and crashes compared to Flutter's hot reload.\"}),/*#__PURE__*/e(\"p\",{children:\"Ultimately, the choice between Flutter and React Native for hot reload will depend on the specific needs of the project and the preferences of the development team. Flutter's fast and seamless hot reload may be more suitable for rapid prototyping and experimentation, while React Native's stable and reliable hot reload may be more suitable for larger, more complex projects.\"}),/*#__PURE__*/e(\"ol\",{start:\"5\",children:/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"h3\",children:/*#__PURE__*/e(\"h3\",{children:\"Backend functionalities | Flutter vs React Native\"})})}),/*#__PURE__*/e(\"p\",{children:\"Backend is an essential part of any app development project, and both Flutter and React Native offer various options to connect to the backend. React Native has a clear advantage here as it offers better compatibility with JavaScript-based backend frameworks like Node.js. It can easily integrate with backend systems like MongoDB, MySQL, and PostgreSQL.\"}),/*#__PURE__*/e(\"p\",{children:\"However, Flutter offers a range of plugins that help in connecting to different backend technologies. It also has a built-in library called Dart's IO library that supports HTTP and WebSocket connections. Flutter's serverless backend solutions like Firebase are also popular and can be used to build full-stack applications. Other options like AWS, Azure, and Google Cloud are also provided using integrations.\"}),/*#__PURE__*/e(\"p\",{children:\"Flutter has a strong backend support, as it allows developers to use a range of languages such as Java, Kotlin, Swift, and Objective-C to develop APIs. This flexibility enables developers to integrate with a wide range of backend services and APIs, making it easier to build complex applications.\"}),/*#__PURE__*/e(\"p\",{children:\"React Native, on the other hand, offers a range of libraries and modules that can be used to access various backend services, such as Firebase, AWS, and Microsoft Azure. It also has a strong community support that offers pre-built modules for popular backend services.\"}),/*#__PURE__*/e(\"p\",{children:\"In terms of database support, both Flutter and React Native support a wide range of databases such as SQLite, MySQL, and PostgreSQL. However, React Native also supports NoSQL databases like MongoDB, Couchbase, and Amazon DynamoDB, which can be an advantage in certain use cases.\"}),/*#__PURE__*/e(\"ol\",{start:\"6\",children:/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"h3\",children:/*#__PURE__*/e(\"h3\",{children:\"Tools and Functionality features\"})})}),/*#__PURE__*/e(\"p\",{children:\"Flutter and React Native have different approaches to tooling. React Native relies on third-party libraries to achieve specific functionalities such as state management, navigation, and form handling. These libraries come with varying levels of stability and compatibility. On the other hand, Flutter offers a comprehensive suite of built-in tools that facilitate various functionalities such as state management, navigation, and form handling. Flutter's widgets provide a complete set of building blocks for building apps, reducing the reliance on third-party libraries.\"}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"strong\",{children:\"Flutter:\"})}),/*#__PURE__*/t(\"ul\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Flutter comes with its own integrated development environment (IDE) called Flutter SDK, which has a wide range of features and is available for different operating systems.\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Flutter offers a hot reload feature that allows developers to see the changes made in real-time, making it easier and faster to develop and debug code.\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Flutter also provides built-in widgets and a design language called Material Design that can help developers in creating an attractive UI for their app.\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Flutter offers support for multiple languages, including Dart, Kotlin, and Java.\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Flutter also has an extensive set of tools like DevTools that help in profiling, debugging, and analyzing the app's performance.\"})})]}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"strong\",{children:\"React Native:\"})}),/*#__PURE__*/t(\"ul\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"React Native comes with a command-line interface (CLI) that makes it easier for developers to create and run projects.\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"React Native offers a hot reload feature similar to Flutter, allowing developers to make changes in real-time and see them instantly.\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"React Native provides a wide range of third-party libraries that can be used to enhance the UI and functionality of the app.\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"React Native supports popular programming languages like JavaScript and TypeScript, making it easier for developers to switch from web development to mobile development.\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"React Native has a debugging tool called React Developer Tools, which helps developers in analyzing and fixing issues in their app.\"})})]}),/*#__PURE__*/e(\"p\",{children:\"Overall, both Flutter and React Native offer excellent tooling support that can help developers in building high-quality mobile apps. While Flutter offers its own integrated development environment and built-in widgets, React Native provides a wider range of third-party libraries and supports popular programming languages.\"}),/*#__PURE__*/e(\"ol\",{start:\"7\",children:/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"h3\",children:/*#__PURE__*/e(\"h3\",{children:\"Code Reusability in app development\"})})}),/*#__PURE__*/e(\"p\",{children:\"Code reusability is a crucial factor in mobile app development, especially when it comes to reducing development time and cost. Both Flutter and React Native provide support for code reusability, but in different ways.\"}),/*#__PURE__*/e(\"p\",{children:\"Flutter uses Dart language, which is a statically typed language, and its widgets can be easily reused in different parts of the codebase, enabling developers to build UI components with ease. React Native, on the other hand, uses JavaScript, which is a dynamically typed language, and it provides reusable components that can be used across multiple platforms.\"}),/*#__PURE__*/e(\"p\",{children:\"Flutter has an edge over React Native when it comes to code reusability, as it enables developers to write code once and reuse it across different platforms with ease. Flutter widgets can be easily customized to fit different requirements and are highly reusable.\"}),/*#__PURE__*/e(\"p\",{children:\"React Native also provides reusable components that can be used across different platforms, but the level of customization may be limited compared to Flutter. However, it is worth noting that React Native has a larger community and more third-party libraries, which can help developers achieve code reusability.\"}),/*#__PURE__*/e(\"ol\",{start:\"8\",children:/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"h3\",children:/*#__PURE__*/e(\"h3\",{children:\"Community support and 3rd Party libraries\"})})}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"strong\",{children:\"Community Support:\"})}),/*#__PURE__*/t(\"ul\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Flutter has gained a lot of popularity in recent years, and its community is growing rapidly. The Flutter community is active, helpful, and continuously working on improving the framework. The official Flutter documentation is detailed and easy to understand, with a dedicated section for getting started, widgets, animations, and more. Flutter also has a dedicated Slack channel, forums, and community-driven packages and plugins available on pub.dev.\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"React Native, on the other hand, has a more mature community, having been around for longer than Flutter. The React Native community is large and well-established, with a lot of resources available online. The official React Native documentation is also extensive and well-organized, with a dedicated section for getting started, components, APIs, and more. React Native also has a dedicated subreddit, forums, and community-driven packages and plugins available on npm.\"})})]}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"strong\",{children:\"Third-Party Libraries:\"})}),/*#__PURE__*/t(\"ul\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Flutter has a growing collection of third-party libraries available on pub.dev, with over 16,000 packages as of 2023. The Flutter community-driven packages cover a wide range of functionalities, such as networking, databases, animations, and more. Flutter also has official packages for popular services such as Firebase, Google Maps, and AdMob.\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"React Native also has a vast collection of third-party libraries available on npm. The React Native community-driven packages cover a wide range of functionalities, such as navigation, analytics, and more. React Native also has official packages for popular services such as Firebase, Amazon Web Services, and Facebook Analytics.\"})})]}),/*#__PURE__*/e(\"p\",{children:\"Overall, both Flutter and React Native have active and helpful communities with extensive documentation, forums, and third-party libraries. Flutter's community is growing rapidly, and its packages cover a wide range of functionalities. At the same time, React Native's community is more mature, and its packages cover a vast array of functionalities. Ultimately, the choice between the two frameworks will depend on your specific needs, the skills of your team, and the project's requirements.\"}),/*#__PURE__*/e(\"ol\",{start:\"9\",children:/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"h3\",children:/*#__PURE__*/e(\"h3\",{children:\"Minimum Required SDK version and App size\"})})}),/*#__PURE__*/e(\"p\",{children:\"When it comes to the minimal required SDK version, React Native requires Android v16 and iOS 10 or higher, whereas Flutter requires Android v21 and iOS 11 or higher. Both frameworks have similar minimal required versions, with React Native being compatible with slightly older versions of Android and iOS.\"}),/*#__PURE__*/e(\"p\",{children:\"As for the app size, Flutter apps tend to be smaller in size than React Native apps. This is because Flutter includes its own set of widgets and does not require any bridge to communicate with the native modules.\"}),/*#__PURE__*/e(\"p\",{children:\"On the other hand, React Native requires a bridge to interact with native modules, which increases the app size. However, it's worth noting that the size of the app ultimately depends on the complexity of the app and the number of features included, so this may vary from project to project. Overall, Flutter may have a slight advantage in terms of app size, but the difference may not be significant.\"}),/*#__PURE__*/e(\"ol\",{start:\"10\",children:/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"h3\",children:/*#__PURE__*/e(\"h3\",{children:\"Architectural Differences between Flutter and React Native\"})})}),/*#__PURE__*/e(\"img\",{alt:\"flutter architechture\",className:\"framer-image\",height:\"319\",src:\"https://framerusercontent.com/images/wVNJGGNxYyoHy7cxRJFGgVljM.png\",srcSet:\"https://framerusercontent.com/images/wVNJGGNxYyoHy7cxRJFGgVljM.png?scale-down-to=512 512w,https://framerusercontent.com/images/wVNJGGNxYyoHy7cxRJFGgVljM.png 782w\",style:{aspectRatio:\"782 / 639\"},width:\"391\"}),/*#__PURE__*/e(\"p\",{children:\"Flutter's architecture is based on the widget tree, where each widget is an immutable declaration of part of the UI. The framework provides a wide range of widgets and a flexible layout system that allows developers to create complex, high-performance UIs. Flutter also includes a reactive programming model based on the Stream API and the BLoC pattern, which enables the separation of business logic and UI code.\"}),/*#__PURE__*/e(\"img\",{alt:\"react architechture\",className:\"framer-image\",height:\"294\",src:\"https://framerusercontent.com/images/W5KMgOyB7BIzf2w2HSoqMxgr8lI.png\",srcSet:\"https://framerusercontent.com/images/W5KMgOyB7BIzf2w2HSoqMxgr8lI.png?scale-down-to=512 512w,https://framerusercontent.com/images/W5KMgOyB7BIzf2w2HSoqMxgr8lI.png 838w\",style:{aspectRatio:\"838 / 589\"},width:\"419\"}),/*#__PURE__*/e(\"p\",{children:\"React Native's architecture is based on a bridge that enables JavaScript code to communicate with the native platform code. React components are written in JavaScript and compiled to native code using the bridge. The framework also includes a flexbox-based layout system that is similar to CSS, which makes it easy to create responsive UIs. React Native also includes the Redux library, which provides a predictable state container for managing the application state.\"}),/*#__PURE__*/e(\"p\",{children:\"When it comes to performance, Flutter's architecture allows for fast rendering and smooth animations, as the widget tree is rebuilt only when necessary. On the other hand, React Native's bridge can introduce some overhead and may impact performance, especially when using third-party libraries.\"}),/*#__PURE__*/e(\"p\",{children:\"In terms of developer productivity, Flutter's architecture promotes code reuse and separation of concerns, making it easier to maintain and test the application. React Native's architecture also enables code reuse, but the separation of concerns is less clear, and testing can be more challenging.\"}),/*#__PURE__*/e(\"p\",{children:\"Overall, both frameworks have their strengths and weaknesses when it comes to architecture. Flutter's widget tree and reactive programming model provide a high degree of flexibility and performance, while React Native's bridge and layout system makes it easy to create responsive UIs. Developers should consider their specific requirements and preferences when choosing between these two frameworks.\"}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"h2\",{children:\"Building apps with Flutter vs React Native | Final Words\"}),/*#__PURE__*/e(\"p\",{children:\"In conclusion, both Flutter and React Native have their strengths and weaknesses when it comes to mobile app development. Flutter, with its Dart programming language, offers faster development time, excellent performance, and a hot reload feature that boosts productivity. On the other hand, React Native has a larger community support, and developers can leverage their knowledge of JavaScript to create complex applications.\"}),/*#__PURE__*/e(\"img\",{alt:\"Flutter vs react apps\",className:\"framer-image\",height:\"472\",src:\"https://framerusercontent.com/images/1eBmIN2Cj9ERgWlagKcRxAwZXU.webp\",srcSet:\"https://framerusercontent.com/images/1eBmIN2Cj9ERgWlagKcRxAwZXU.webp?scale-down-to=512 512w,https://framerusercontent.com/images/1eBmIN2Cj9ERgWlagKcRxAwZXU.webp 1024w\",style:{aspectRatio:\"1024 / 945\"},width:\"512\"}),/*#__PURE__*/e(\"p\",{children:\"Ultimately, the choice between the two depends on the specific needs of the project and the available resources. However, given its unique features and growing popularity among developers, Flutter is definitely a technology worth considering for your next mobile app development project. With Flutter, you can transform your app ideas into reality faster, and with more creativity and innovation.\"}),/*#__PURE__*/t(\"p\",{children:[\"Also, if you are looking to streamline your development process using Flutter apps, you can try using \",/*#__PURE__*/e(r,{href:\"https://blup.in/blog/top-10-benefits-of-using-a-visual-ide-for-mobile-app-development\",motionChild:!0,nodeId:\"dlsksZJDV\",openInNewTab:!0,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(a.a,{children:\"Blup, a visual IDE\"})}),\" that can make app development process 10x faster and easier. You can even try Blup for free and test it yourself.\"]}),/*#__PURE__*/e(\"p\",{children:\"Hope you get the answers you were looking for. Keep following us to get more in-depth articles.\"}),/*#__PURE__*/e(\"p\",{children:\"See ya later follks!\"})]});export const richText3=/*#__PURE__*/t(n.Fragment,{children:[/*#__PURE__*/e(\"p\",{children:\"This dates back to when online shopping became a new normal across households. Yes, you guessed it right, it\u2019s when COVID began and India witnessed its first-ever lockdown in March 2020.\"}),/*#__PURE__*/t(\"p\",{children:[\"This was when I saw the potential of building a hyperlocal marketplace for people to shop for their daily essentials. Though I knew  how to build this app, I realized launching on only Android won\u2019t suffice. This was when the need for an iOS app popped up. Little did I know about how to tackle this difficulty, I found this to be a very common difficulty that founders like me would face every day. This curiosity led me to explore the best solution that helped founders and developers. This platform is known as \",/*#__PURE__*/e(r,{href:\"https://flutter.dev/\",motionChild:!0,nodeId:\"dlsksZJDV\",openInNewTab:!0,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(a.a,{children:\"Flutter\"})}),\".\"]}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"img\",{alt:\"flutter app\",className:\"framer-image\",height:\"233\",src:\"https://framerusercontent.com/images/zlbKRoHgjKuoktRl2G7VGTqwMdg.png\",srcSet:\"https://framerusercontent.com/images/zlbKRoHgjKuoktRl2G7VGTqwMdg.png?scale-down-to=512 512w,https://framerusercontent.com/images/zlbKRoHgjKuoktRl2G7VGTqwMdg.png 800w\",style:{aspectRatio:\"800 / 467\"},width:\"400\"}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"p\",{children:\"In the very short form, Flutter lets you build an application that works on a bunch of operating software. Be it Android, iOS, Windows, or anything you think of, Flutter helps you.\"}),/*#__PURE__*/e(\"p\",{children:\"In a detailed discussion with a close friend of mine, I realized that Google had already addressed this issue in the Dart Developer Summit in 2015, which helped the developer community with a one-stop platform for all their development needs.\"}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"h3\",{children:\"But what exactly is Flutter?\"}),/*#__PURE__*/e(\"p\",{children:\"I\u2019ll say, you\u2019ve already experienced Flutter a hundred times in the past week. Amazed? Let me explain. Say you\u2019re a marketer running ads for your SaaS product on Bing or a merchant accepting payments via Google Pay; it\u2019s all made on Flutter.\"}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"img\",{alt:\"flutter app blup\",className:\"framer-image\",height:\"238\",src:\"https://framerusercontent.com/images/2Sa183gnbwwxvEffdxrmjtfX1k.webp\",srcSet:\"https://framerusercontent.com/images/2Sa183gnbwwxvEffdxrmjtfX1k.webp?scale-down-to=512 512w,https://framerusercontent.com/images/2Sa183gnbwwxvEffdxrmjtfX1k.webp 1023w\",style:{aspectRatio:\"1023 / 476\"},width:\"511\"}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"p\",{children:\"The Google-developed cross-platform mobile programming tool Flutter was made available in May 2017 and is free and open-source. In other words, you can build two distinct apps using the same programming language and codebase (IOS and Android). Since the stable version's December 2018 release, it has grown significantly in prominence, garnering 143k stars on GitHub compared to React Native's 104k.\"}),/*#__PURE__*/e(\"h3\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"h3\",{children:\"How did Flutter make its entry?\"}),/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"br\",{}),\"The current form of Flutter didn't start out that way. Sky, which operated on the Android operating system and had the ability to render consistently at 120 frames per second, was first revealed at the Dart Developer Summit in 2015. Flutter's 0.0.6 alpha release to the world happened for the first time in 2017.\"]}),/*#__PURE__*/e(\"h3\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"h3\",{children:\"What\u2019s the requirement?\"}),/*#__PURE__*/e(\"p\",{children:\"With the goal of minimizing code duplication and assisting developers in creating apps that feel native to each platform they operate on, Flutter was created. As a result, Flutter is converted into native code, which increases its speed and adaptability. With Flutter, you can efficiently create code in a single language.\"}),/*#__PURE__*/e(\"h3\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"h3\",{children:\"What language should one know to work on Flutter?\"}),/*#__PURE__*/e(\"p\",{children:\"You must be wondering what programming language Flutter uses, right? Well, it\u2019s Dart.\"}),/*#__PURE__*/e(\"p\",{children:\"Dart was created by Google back in 2011, but since then it has seen many improvements and now it focuses much on front-end development that helps you create mobile and web applications.\"}),/*#__PURE__*/t(\"p\",{children:[\"Dart is a language optimized for client use, meaning it is fast and efficient. It is perfect for developing apps on any platform. The goal of Dart is to be the most productive programming language for multi-platform development and offer a flexible runtime platform for app frameworks.\",/*#__PURE__*/e(\"br\",{}),\"It works on 2 major things, a \",/*#__PURE__*/e(\"strong\",{children:\"Software Development Kit\"}),\" or SDK and a \",/*#__PURE__*/e(\"strong\",{children:\"Framework\"}),\". An SDK is a shared repository of tools you would use to develop your application. In contrast, a Framework will consist of prebuilt UI elements like buttons, that are customizable as per users\u2019 requirements.\"]}),/*#__PURE__*/e(\"p\",{children:\"Currently, Flutter positions itself as a platform that transforms the app development process by helping you build, test, and deploy beautiful mobile, web, desktop, and embedded apps from a single codebase. Every new version of Flutter comes with something unique that excites the community that is generally governed by the following:\"}),/*#__PURE__*/t(\"ul\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Enhanced productivity\"}),\" \u2013 Using Flutter, whether you\u2019re targeting Android, iOS, web, Windows, macOS, or Linux, you can ship features faster with less code.\"]})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Native performance\"}),\" \u2013 Works as a mobile app SDK for fast app development and gorgeous animations.\"]})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Always open source\"}),\" \u2013 A globally trusted platform for building native apps that Google supports and a community of open and transparent contributors.\"]})})]}),/*#__PURE__*/e(\"p\",{children:\"The best part, Flutter comes with amazing documentation that helps developers and business owners understand the 3 W\u2019s, Why, What and When from interactive examples and tutorials to help build and deploy your first Flutter app.\"}),/*#__PURE__*/e(\"h3\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"h3\",{children:\"Where is Flutter heading now?\"}),/*#__PURE__*/t(\"p\",{children:[\"With 63% of the developers being positively satisfied with Flutter\u2019s ability to develop production-quality web apps (source: \",/*#__PURE__*/e(r,{href:\"https://medium.com/flutter/about-web-community-and-code-samples-q3-2021-survey-results-b67f5b997dca\",motionChild:!0,nodeId:\"dlsksZJDV\",openInNewTab:!0,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(a.a,{children:\"here\"})}),\"), we know that Flutter has already stepped into the future of app development.\"]}),/*#__PURE__*/e(\"p\",{children:\"With over 150,000 Flutter applications on Play Store and the Apple App Store seeing less than 20,000 apps uploaded in March 2019 to over 90,000 shows the usage of Flutter-based apps being and the strong support from the developer community.\"}),/*#__PURE__*/e(\"p\",{children:\"Not only this but to make you a little more sure about Flutter, let me name some of the most amazing apps made on this platform to date. These are but are not limited to:\"}),/*#__PURE__*/t(\"ul\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Google Ads\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Reflectly\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Xianyu by Alibaba\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Cryptograph\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Hamilton\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"LTB Operations\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Pay N Park\"})})]}),/*#__PURE__*/e(\"h3\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"h3\",{children:/*#__PURE__*/e(\"strong\",{children:\"Introducing Blup, The best Flutter app development tool\"})}),/*#__PURE__*/t(\"p\",{children:[\"But what if you could create production-ready mobile apps with no & pro code, visual logics & immersive UI design? Seems interesting? We have brought a fantastic solution for you, \",/*#__PURE__*/e(r,{href:\"https://blup.in/\",motionChild:!0,nodeId:\"dlsksZJDV\",openInNewTab:!1,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(a.a,{children:\"Blup\"})}),\".\"]}),/*#__PURE__*/e(\"img\",{alt:\"blup app\",className:\"framer-image\",height:\"280\",src:\"https://framerusercontent.com/images/i3nU5p2RNIOOdbJxLDVacWEabA.webp\",srcSet:\"https://framerusercontent.com/images/i3nU5p2RNIOOdbJxLDVacWEabA.webp?scale-down-to=512 512w,https://framerusercontent.com/images/i3nU5p2RNIOOdbJxLDVacWEabA.webp 1024w\",style:{aspectRatio:\"1024 / 560\"},width:\"512\"}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"p\",{children:\"Blup allows you to ship Flutter apps hassle-free, full of creativity, and within the lowest turnaround time.\\xa0\"}),/*#__PURE__*/e(\"p\",{children:\"Also, the Blup app helps you draw an immersive interface that helps you reduce codes and at the same time provides powerful visual logic.\"}),/*#__PURE__*/e(\"p\",{children:\"But what about your custom codes?\\xa0\"}),/*#__PURE__*/e(\"p\",{children:\"We take care of that as Blup comes with a plug option for your custom data source or you can use pre-built Blup Backend, helping you finally put your creation out with a click of a button.\"}),/*#__PURE__*/e(\"p\",{children:\"Ready to build beautiful apps that tell your brand story most simply?\\xa0\"}),/*#__PURE__*/t(\"p\",{children:[\"Looking to leverage Flutter just like other leading platforms did? Power up your idea and scale things up. Visit us at \",/*#__PURE__*/e(r,{href:\"https://blup.in/\",motionChild:!0,nodeId:\"dlsksZJDV\",openInNewTab:!1,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(a.a,{children:\"blup.in\"})}),\" to get started right away!\"]}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"img\",{alt:\"blup is better\",className:\"framer-image\",height:\"242\",src:\"https://framerusercontent.com/images/aBmUn3uXgzyIgjDFkCrg71wmM.jpg\",style:{aspectRatio:\"500 / 485\"},width:\"250\"}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"p\",{children:\"Apart from this, we have written other in-detail articles on Flutter and mobile app development. You can find them below:\"}),/*#__PURE__*/t(\"ul\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(r,{href:\"https://www.blup.in/blog/the-ultimate-list-of-flutter-ide-a-must-read-for-flutter-developers\",motionChild:!0,nodeId:\"dlsksZJDV\",openInNewTab:!0,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(a.a,{children:\"Best IDE for Flutter development\"})})})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(r,{href:\"https://www.blup.in/blog/key-points-to-consider-while-choosing-a-mobile-app-development-agency\",motionChild:!0,nodeId:\"dlsksZJDV\",openInNewTab:!0,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(a.a,{children:\"Tips to choose best mobile app development company\"})})})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(r,{href:\"https://www.blup.in/blog/how-much-does-it-cost-to-build-a-mobile-app\",motionChild:!0,nodeId:\"dlsksZJDV\",openInNewTab:!0,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(a.a,{children:\"Cost to build mobile apps\"})})})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(r,{href:\"https://www.blup.in/blog/the-dummies-guide-to-mobile-app-development\",motionChild:!0,nodeId:\"dlsksZJDV\",openInNewTab:!0,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(a.a,{children:\"Complete guide to Mobile App Development\"})})})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(r,{href:\"https://www.blup.in/blog/top-20-apps-built-with-flutter-framework\",motionChild:!0,nodeId:\"dlsksZJDV\",openInNewTab:!0,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(a.a,{children:\"Top apps built with Flutter Framework\"})})})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(r,{href:\"https://www.blup.in/blog/top-youtube-channels-to-learn-flutter\",motionChild:!0,nodeId:\"dlsksZJDV\",openInNewTab:!0,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(a.a,{children:\"TOP YOUTUBE CHANNELS TO LEARN FLUTTER\"})})})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(r,{href:\"https://www.blup.in/blog/how-to-build-flutter-apps\",motionChild:!0,nodeId:\"dlsksZJDV\",openInNewTab:!0,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(a.a,{children:\"How to build Flutter apps?\"})})})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(r,{href:\"https://www.blup.in/blog/flutter-vs-react-native-which-to-choose-for-mobile-app-development\",motionChild:!0,nodeId:\"dlsksZJDV\",openInNewTab:!0,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(a.a,{children:\"Flutter vs React Native 2023\"})})})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(r,{href:\"https://www.blup.in/blog/which-is-the-top-flutter-app-development-company\",motionChild:!0,nodeId:\"dlsksZJDV\",openInNewTab:!0,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(a.a,{children:\"Top Flutter app development company\"})})})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(r,{href:\"https://www.blup.in/blog/which-is-the-best-flutter-no-code-app-builder-in-2023\",motionChild:!0,nodeId:\"dlsksZJDV\",openInNewTab:!0,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(a.a,{children:\"Best no code Flutter app development tool\"})})})})]}),/*#__PURE__*/e(\"p\",{children:\"Keep following us for more info on app development!\"})]});export const richText4=/*#__PURE__*/t(n.Fragment,{children:[/*#__PURE__*/e(\"p\",{children:\"A common question that arises quite often is \u201CHow to build mobile apps?\u201D Another follow-up question that comes next is \u201CHow to build beautiful mobile apps?\u201D\"}),/*#__PURE__*/e(\"p\",{children:\"To create a beautiful app is one thing, but maintaining the UI of the mobile app is crucial too. Balancing the look/feel of the mobile app as well as a sturdy UI is quite tricky. But worry not! We will share some tips with you to build apps that look gorgeous and are user friendly too.\"}),/*#__PURE__*/e(\"p\",{children:\"Try remembering how many apps you\u2019d uninstall on your mobile just because it had the worst interface, got lost in navigation, and was even unresponsive.\"}),/*#__PURE__*/e(\"p\",{children:\"Thus, the reason why building a seamless user interface becomes significant as you wouldn\u2019t want your user to drop off.\"}),/*#__PURE__*/e(\"p\",{children:\"A user uninstalling our app? Who would even care, right? They\u2019ll get back if they need us! As if there isn\u2019t any competition in the mobile app development industry! Duhh\u2026.\"}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"img\",{alt:\"\",className:\"framer-image\",height:\"180\",src:\"https://framerusercontent.com/images/H7nekxlHvVuhBYXD8V22FtOHDw.webp\",style:{aspectRatio:\"480 / 361\"},width:\"240\"}),/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"br\",{}),\"This ultimately means that the expensive marketing campaigns you used to get that user onboarded have gone waste; worse, they ended up delivering no results \u2013 a total waste of funds.\"]}),/*#__PURE__*/e(\"p\",{children:\"No doubt that mobile apps have become an integral part of our daily lives. They allow us to connect with others, access information, and perform various tasks with just a few taps on our screens. While functionality is certainly important, the user experience is just as critical. After all, if an app is difficult to use or navigate, users are likely to abandon it in favor of a more user-friendly option.\"}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"h1\",{children:\"Basics of creating a UI friendly mobile app\"}),/*#__PURE__*/e(\"p\",{children:\"So, how can you ensure that your mobile app is user-friendly and enjoyable to use? Here are some tips for creating a mobile app with a great UI:\"}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/t(\"ol\",{children:[/*#__PURE__*/t(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11px\",\"--framer-text-color\":\"rgb(0, 0, 0)\",\"--framer-text-decoration\":\"none\"},children:[/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Keep it simple:\"}),\" A cluttered or overly complex interface can be overwhelming for users. Stick to a clean and minimalistic design, using clear and concise language to communicate the app\u2019s features and functions.\"]}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})})]}),/*#__PURE__*/t(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11px\",\"--framer-text-color\":\"rgb(0, 0, 0)\",\"--framer-text-decoration\":\"none\"},children:[/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Use familiar design elements:\"}),\" Most people are familiar with certain design elements, such as icons, texts, sliders, buttons, etc., and will expect to see them in mobile apps. By using these familiar elements, you can make it easier for users to understand how to navigate and use your app.\"]}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})})]}),/*#__PURE__*/t(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11px\",\"--framer-text-color\":\"rgb(0, 0, 0)\",\"--framer-text-decoration\":\"none\"},children:[/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Use appropriate typography: \"}),\"The typeface and font size you choose can greatly impact the readability and usability of your app. Choose a typeface that is easy to read, and use a font size that is appropriate for the device and context in which the app will be used.\"]}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})})]}),/*#__PURE__*/t(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11px\",\"--framer-text-color\":\"rgb(0, 0, 0)\",\"--framer-text-decoration\":\"none\"},children:[/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Provide clear instructions:\"}),\" When introducing new features or functionality, be sure to provide clear instructions on how to use them. This can help users feel more confident and comfortable using your app.\"]}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})})]}),/*#__PURE__*/t(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11px\",\"--framer-text-color\":\"rgb(0, 0, 0)\",\"--framer-text-decoration\":\"none\"},children:[/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Use consistent layout and navigation:\"}),\" A consistent layout and navigation structure can make it easier for users to understand and use your app. Stick to a consistent layout and use clear labels for navigation elements to help users find their way around.\"]}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})})]}),/*#__PURE__*/t(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11px\",\"--framer-text-color\":\"rgb(0, 0, 0)\",\"--framer-text-decoration\":\"none\"},children:[/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Use appropriate color schemes:\"}),\" The color scheme you choose for your app can greatly impact the overall UI. Choose colors that are easy on the eyes and that complement each other, rather than clashing or being difficult to read.\"]}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})})]}),/*#__PURE__*/t(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11px\",\"--framer-text-color\":\"rgb(0, 0, 0)\",\"--framer-text-decoration\":\"none\"},children:[/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Test your app:\"}),\" Before launching your app, be sure to test it thoroughly to ensure that it is user-friendly and easy to use. This may involve getting feedback from a small group of users or conducting usability testing to identify any issues or areas for improvement.\"]}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})})]}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11px\",\"--framer-text-color\":\"rgb(0, 0, 0)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Consider accessibility:\"}),\" Make sure that your app is accessible to users with disabilities. This may involve adding features such as large text or high-contrast color schemes or providing text descriptions for images.\"]})})]}),/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"br\",{}),\"By following these tips, you can create a mobile app that is both functional and enjoyable to use. A great UI can help increase user engagement and satisfaction, leading to greater success for your app.\"]}),/*#__PURE__*/e(\"p\",{children:\"But wait, this seems to be a lot of things. Like every next tip, you\u2019d be thinking about what all plugins and additional software you\u2019ll need, right?\"}),/*#__PURE__*/e(\"p\",{children:\"NO! A BIG NO!\"}),/*#__PURE__*/t(\"p\",{children:[\"You don\u2019t need many different plugins to build a single app. But how?\",/*#__PURE__*/e(\"br\",{}),/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})]}),/*#__PURE__*/e(\"h3\",{children:\"Build UI Friendly Apps, only with Blup\"}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"img\",{alt:\"Blup UI\",className:\"framer-image\",height:\"944\",src:\"https://framerusercontent.com/images/Zq84Kf31NtUPYOr620UDkX5Mtg.png\",srcSet:\"https://framerusercontent.com/images/Zq84Kf31NtUPYOr620UDkX5Mtg.png?scale-down-to=512 512w,https://framerusercontent.com/images/Zq84Kf31NtUPYOr620UDkX5Mtg.png?scale-down-to=1024 1024w,https://framerusercontent.com/images/Zq84Kf31NtUPYOr620UDkX5Mtg.png?scale-down-to=2048 2048w,https://framerusercontent.com/images/Zq84Kf31NtUPYOr620UDkX5Mtg.png 2825w\",style:{aspectRatio:\"2825 / 1889\"},width:\"1412\"}),/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"br\",{}),/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})]}),/*#__PURE__*/e(\"p\",{children:\"With Blup, you build production-ready mobile applications with a 10x reduction in time, cost, and bandwidth. Not only this, but Blup provides you with some amazing features like:\"}),/*#__PURE__*/t(\"ol\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11px\",\"--framer-text-color\":\"rgb(0, 0, 0)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Drag and Drop Environment:\"}),\" Build an Intuitive and User-Friendly UI screen that helps build a pixel-perfect frontend.\"]})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11px\",\"--framer-text-color\":\"rgb(0, 0, 0)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Customizable Widgets:\"}),\" Get access to the Flutter widget library, and customized styles, colors, and typography from zero to pro.\\xa0\"]})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11px\",\"--framer-text-color\":\"rgb(0, 0, 0)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Limitless Canvas:\"}),\" Stay organized, just like Figma! But generate actual Flutter code when you design your app on Blup.\"]})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"11px\",\"--framer-text-color\":\"rgb(0, 0, 0)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Import Files:\"}),\" Reduce unnecessary back and forth by simply Importing files from Figma or other platforms.\"]})})]}),/*#__PURE__*/e(\"p\",{children:\"Don\u2019t Take our word for it; Blup can bring life to your app designs from a single platform. Building applications has never been this fun before!\"}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"img\",{alt:\"\",className:\"framer-image\",height:\"187\",src:\"https://framerusercontent.com/images/MT6L8PYNCv87cOHj8WMe8FSRsSM.png\",srcSet:\"https://framerusercontent.com/images/MT6L8PYNCv87cOHj8WMe8FSRsSM.png?scale-down-to=512 512w,https://framerusercontent.com/images/MT6L8PYNCv87cOHj8WMe8FSRsSM.png?scale-down-to=1024 1024w,https://framerusercontent.com/images/MT6L8PYNCv87cOHj8WMe8FSRsSM.png 1807w\",style:{aspectRatio:\"1807 / 375\"},width:\"903\"}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"p\",{children:\"Still thinking about it?\"}),/*#__PURE__*/e(\"p\",{children:\"Why not try it out yourself?\"}),/*#__PURE__*/t(\"p\",{children:[\"Download the Blup platform from \",/*#__PURE__*/e(r,{href:\"https://blup.in/downloads\",motionChild:!0,nodeId:\"dlsksZJDV\",openInNewTab:!1,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(a.a,{children:\"here\"})}),\" or set up a time where we will walk you through our platform and show you all it takes to be empowered by the best platform for building UI-friendly apps and even publishing them. \"]}),/*#__PURE__*/e(\"p\",{children:\"Until Next Time!\"})]});export const richText5=/*#__PURE__*/t(n.Fragment,{children:[/*#__PURE__*/e(\"p\",{children:\"Greetings, my fellow Flutter Developers!\"}),/*#__PURE__*/t(\"p\",{children:[\"If you\u2019re one of those who want to make your Flutter apps stand out among the vast ocean of competitors,\",/*#__PURE__*/e(r,{href:\"http://blup.in/\",motionChild:!0,nodeId:\"dlsksZJDV\",openInNewTab:!1,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(a.a,{children:\" Blup\"})}),\" is the only thing you\u2019ll need.\"]}),/*#__PURE__*/e(\"p\",{children:\"Want to create production-ready mobile apps with no & pro code, visual logic & immersive UI design all in one place?\"}),/*#__PURE__*/e(\"p\",{children:\"\uD83C\uDF8AWe present you Blup \uD83C\uDF8A\"}),/*#__PURE__*/e(\"h1\",{children:\"Build Flutter apps with Blup\"}),/*#__PURE__*/t(\"p\",{children:[\"First things first! You must ensure that you have downloaded the Blup Setup on your Mac/Windows. If you haven't yet, go to \",/*#__PURE__*/e(r,{href:\"https://blup.in/downloads\",motionChild:!0,nodeId:\"dlsksZJDV\",openInNewTab:!1,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(a.a,{children:\"blup.in/downloads\"})}),\" now and it should auto-download the setup. Install the app as per the instructions on the screen. Voila! you're ready to get rolling!\"]}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"img\",{alt:\"setup blup\",className:\"framer-image\",height:\"326\",src:\"https://framerusercontent.com/images/HldtVQfsvUpZbzSEcCBo6H2bPoM.png\",srcSet:\"https://framerusercontent.com/images/HldtVQfsvUpZbzSEcCBo6H2bPoM.png?scale-down-to=512 512w,https://framerusercontent.com/images/HldtVQfsvUpZbzSEcCBo6H2bPoM.png?scale-down-to=1024 1024w,https://framerusercontent.com/images/HldtVQfsvUpZbzSEcCBo6H2bPoM.png 1200w\",style:{aspectRatio:\"1200 / 652\"},width:\"600\"}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"p\",{children:'To begin using Blup, you need to register using an email first. Enter your name and email on the registration screen and hit \"Create Account\". For security purposes, you will have to authenticate the account via an OTP, which you will get on the registered email.'}),/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"br\",{}),\"Drumrolls, you\u2019re now part of the Blup community .\uD83E\uDD41\"]}),/*#__PURE__*/e(\"img\",{alt:\"Sign-in Blup\",className:\"framer-image\",height:\"482\",src:\"https://framerusercontent.com/images/2CmwbpfVKhsVJ7HhYh6rUO9VEcM.png\",srcSet:\"https://framerusercontent.com/images/2CmwbpfVKhsVJ7HhYh6rUO9VEcM.png?scale-down-to=512 512w,https://framerusercontent.com/images/2CmwbpfVKhsVJ7HhYh6rUO9VEcM.png?scale-down-to=1024 1024w,https://framerusercontent.com/images/2CmwbpfVKhsVJ7HhYh6rUO9VEcM.png 1600w\",style:{aspectRatio:\"1600 / 964\"},width:\"800\"}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"p\",{children:\"Before you begin using the Blup interface, you need to understand the core steps of building the Flutter apps. Blup involves 4 major steps from getting your app designed to publishing your app.\"}),/*#__PURE__*/e(\"p\",{children:\"These steps are:\"}),/*#__PURE__*/t(\"ul\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"strong\",{children:\"Design\"})})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"strong\",{children:\"Logics\"})})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"strong\",{children:\"Backend\"})})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"strong\",{children:\"Publish\"})})})]}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"p\",{children:\"Let\u2019s look at them one by one.\"}),/*#__PURE__*/e(\"h2\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"h2\",{children:\"Design beautiful apps with #BlupDesigner\"}),/*#__PURE__*/e(\"p\",{children:\"Blup is a no-code and pro-code platform that enables you to create app designs that are just as spectacular as those created by designers from scratch, while taking up less time and effort.\"}),/*#__PURE__*/t(\"p\",{children:[\"Flutter App Design is all about working with crucial elements and ease of UI features. This is where Blup Offers rich featured \",/*#__PURE__*/e(r,{href:\"https://docs.blup.in/bluplightning/blupdesigner\",motionChild:!0,nodeId:\"dlsksZJDV\",openInNewTab:!0,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(a.a,{children:/*#__PURE__*/e(\"strong\",{children:\"BlupDesigner\"})})}),\". You can work on many panels like,\"]}),/*#__PURE__*/e(\"ul\",{children:/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Status panel\"}),\": present on the top.\"]})})}),/*#__PURE__*/e(\"ul\",{children:/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"13px\",\"--framer-text-color\":\"rgb(17, 17, 17)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Tools panel\"}),\": present on the left side\"]})})}),/*#__PURE__*/e(\"ul\",{children:/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"13px\",\"--framer-text-color\":\"rgb(17, 17, 17)\",\"--framer-text-decoration\":\"none\"},children:/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Properties panel\"}),\": present on the right side.\"]})})}),/*#__PURE__*/e(\"ul\",{children:/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Pages\"}),\": present in the center.\",/*#__PURE__*/e(\"br\",{}),/*#__PURE__*/e(\"br\",{}),/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})]})})}),/*#__PURE__*/e(\"p\",{children:\"All these panels contribute in making an immersive UI. Let\u2019s learn about them a bit more.\"}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"h3\",{children:\"Status Panel\"}),/*#__PURE__*/e(\"p\",{children:\"Status Panel of Blup is where you get access to projects, new pages, guidelines and many more.\"}),/*#__PURE__*/e(\"img\",{alt:\"blup new project\",className:\"framer-image\",height:\"381\",src:\"https://framerusercontent.com/images/floivGHqiCasv6lUDC2LDJBmGmg.png\",srcSet:\"https://framerusercontent.com/images/floivGHqiCasv6lUDC2LDJBmGmg.png?scale-down-to=512 512w,https://framerusercontent.com/images/floivGHqiCasv6lUDC2LDJBmGmg.png?scale-down-to=1024 1024w,https://framerusercontent.com/images/floivGHqiCasv6lUDC2LDJBmGmg.png 1486w\",style:{aspectRatio:\"1486 / 762\"},width:\"743\"}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"p\",{children:\"Starting from the very basics, the Status Panel lets you explore and work on features like,\"}),/*#__PURE__*/t(\"ul\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Start a new Blup project;\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Open an existing Blup project saved on the computer;\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"A help option that navigates you to Blup community and searches for instant solutions;\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Adding a new page;\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Adjusting guidelines;\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Run the code;\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/t(\"p\",{children:[\"Export the code and others.\",/*#__PURE__*/e(\"br\",{}),/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})]})})]}),/*#__PURE__*/e(\"h3\",{children:\"Tools Panel\"}),/*#__PURE__*/e(\"p\",{children:\"Let\u2019s get to building the actual UI now. This panel contains tools like a rectangle cursor, text fields, layers, pages, community help, widgets, etc.\"}),/*#__PURE__*/e(\"img\",{alt:\"blup tools panel\",className:\"framer-image\",height:\"388\",src:\"https://framerusercontent.com/images/YqdN0hLuiHeqyDkQearDn63zGGs.png\",srcSet:\"https://framerusercontent.com/images/YqdN0hLuiHeqyDkQearDn63zGGs.png?scale-down-to=512 512w,https://framerusercontent.com/images/YqdN0hLuiHeqyDkQearDn63zGGs.png?scale-down-to=1024 1024w,https://framerusercontent.com/images/YqdN0hLuiHeqyDkQearDn63zGGs.png 1514w\",style:{aspectRatio:\"1514 / 776\"},width:\"757\"}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"p\",{children:\"Widgets are an essential part of this section where you can use anyone\u2019s pre-build widget or even put your self-built widget for the global community. These widgets adhere to the following guidelines:\"}),/*#__PURE__*/t(\"ul\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Distinguishable CTAs\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Design for context\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Simple password recovery process\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Textual Hierarchy and Other\"})})]}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"h3\",{children:/*#__PURE__*/e(\"strong\",{children:\"Properties Panel\"})}),/*#__PURE__*/e(\"p\",{children:\"This panel helps you change the properties of the selected widget as per the custom screen you\u2019re building. It provides options like\"}),/*#__PURE__*/e(\"img\",{alt:\"blup properties panel\",className:\"framer-image\",height:\"352\",src:\"https://framerusercontent.com/images/Y0988UuiclqwE3YmiDGhKOsYiI.png\",srcSet:\"https://framerusercontent.com/images/Y0988UuiclqwE3YmiDGhKOsYiI.png?scale-down-to=512 512w,https://framerusercontent.com/images/Y0988UuiclqwE3YmiDGhKOsYiI.png?scale-down-to=1024 1024w,https://framerusercontent.com/images/Y0988UuiclqwE3YmiDGhKOsYiI.png 1278w\",style:{aspectRatio:\"1278 / 704\"},width:\"639\"}),/*#__PURE__*/t(\"ul\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Canvas \u2013 Gradient/Color\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Width and Height\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Padding \u2013 Top/Right/Left/Bottom\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Image fit Dropbox\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Box corner radius\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Font, and many more.\"})})]}),/*#__PURE__*/t(\"p\",{children:[\"To learn about all the options, Blup provides to build the best UI, visit \",/*#__PURE__*/e(r,{href:\"https://docs.blup.in/bluplightning/blupdesigner/properties-panel\",motionChild:!0,nodeId:\"dlsksZJDV\",openInNewTab:!1,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(a.a,{children:\"https://docs.blup.in/bluplightning/blupdesigner/properties-panel\"})}),\".\"]}),/*#__PURE__*/e(\"h2\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"h2\",{children:/*#__PURE__*/e(\"strong\",{children:\"App Logics with #BlupLightning\"})}),/*#__PURE__*/e(\"img\",{alt:\"blup lightning\",className:\"framer-image\",height:\"415\",src:\"https://framerusercontent.com/images/BEARY3NcJwKkxrAtIpSFUntANmE.png\",srcSet:\"https://framerusercontent.com/images/BEARY3NcJwKkxrAtIpSFUntANmE.png?scale-down-to=512 512w,https://framerusercontent.com/images/BEARY3NcJwKkxrAtIpSFUntANmE.png?scale-down-to=1024 1024w,https://framerusercontent.com/images/BEARY3NcJwKkxrAtIpSFUntANmE.png 1532w\",style:{aspectRatio:\"1532 / 830\"},width:\"766\"}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"p\",{children:\"Now that you have created the best UI, let\u2019s prepare your app by creating and running automated workflows with little to no code.\"}),/*#__PURE__*/e(\"p\",{children:\"Using the visual designer and selecting from prebuilt operations, you can quickly build a workflow that integrates and manages your apps, data, services, and systems. These logics can then be used with any widget/component created on #BlupDesigner and made functional.\"}),/*#__PURE__*/e(\"h2\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"h2\",{children:/*#__PURE__*/e(\"strong\",{children:\"Managed Database with Blup Backend\"})}),/*#__PURE__*/e(\"p\",{children:\"Do you trust AWS? We certainly do, and we hope you do too!\"}),/*#__PURE__*/t(\"p\",{children:[\"This trust helped Blup create a robust GUI-based database that works seamlessly with Blup, called the \",/*#__PURE__*/e(r,{href:\"https://docs.blup.in/bluplightning/blupsheets\",motionChild:!0,nodeId:\"dlsksZJDV\",openInNewTab:!0,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(a.a,{children:\"Blup Backend\"})}),\".\"]}),/*#__PURE__*/e(\"p\",{children:\"Being on top of AWS, data privacy is never compromised, and helps you load/save data into Backend.\"}),/*#__PURE__*/e(\"p\",{children:\"Backend database matches the style of a traditional relational database that helps Backend store data in rows and columns. Few of the actionable items, or let\u2019s say the components of Backend are:\"}),/*#__PURE__*/t(\"ol\",{style:{\"--framer-font-size\":\"20px\",\"--framer-text-alignment\":\"start\",\"--framer-text-color\":\"rgb(69, 70, 79)\",\"--framer-text-transform\":\"none\"},children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Status bar section \u2013 Collapse, table, refresh, switch, delete\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Middle bar section\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Bottom bar section\"})})]}),/*#__PURE__*/e(\"p\",{children:\"A little knowledge on how the Backend works?\"}),/*#__PURE__*/e(\"p\",{children:\"In order to start working with Backend in your backend, first we need to structure the database, meaning we need to define the schema for the database. This generally works on two things:\"}),/*#__PURE__*/t(\"ol\",{style:{\"--framer-font-size\":\"20px\",\"--framer-text-alignment\":\"start\",\"--framer-text-color\":\"rgb(69, 70, 79)\",\"--framer-text-transform\":\"none\"},children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Understanding how to create a table in Backend\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Modifying a table in Backend\"})})]}),/*#__PURE__*/t(\"p\",{children:[\"High-level knowledge and step-by-step procedure can be found in our documentation: \",/*#__PURE__*/e(r,{href:\"https://docs.blup.in/bluplightning/blupsheets\",motionChild:!0,nodeId:\"dlsksZJDV\",openInNewTab:!1,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(a.a,{children:\"https://docs.blup.in/bluplightning/blupsheets\"})}),\".\"]}),/*#__PURE__*/e(\"h2\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"h2\",{children:/*#__PURE__*/e(\"strong\",{children:\"Publish\"})}),/*#__PURE__*/e(\"p\",{children:\"Finally, you\u2019re on the verge of making your app live on the App store or Play store. Let\u2019s get this step straightforward.\"}),/*#__PURE__*/e(\"h3\",{children:\"Publish Blup Apps on iOS\"}),/*#__PURE__*/e(\"p\",{children:\"Hop on to Configuring the Details with a settings icon. To start with iOS Cloud Build, we would first have to configure the values.\\xa0\"}),/*#__PURE__*/e(\"p\",{children:\"Follow the steps below:\"}),/*#__PURE__*/e(\"img\",{alt:\"blup connect ios\",className:\"framer-image\",height:\"627\",src:\"https://framerusercontent.com/images/5NFn6rbpW4Z7vWgu25lWoOqMkk.png\",srcSet:\"https://framerusercontent.com/images/5NFn6rbpW4Z7vWgu25lWoOqMkk.png?scale-down-to=512 512w,https://framerusercontent.com/images/5NFn6rbpW4Z7vWgu25lWoOqMkk.png?scale-down-to=1024 1024w,https://framerusercontent.com/images/5NFn6rbpW4Z7vWgu25lWoOqMkk.png 1566w\",style:{aspectRatio:\"1566 / 1254\"},width:\"783\"}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/t(\"p\",{children:[\"All applications have to be digitally signed before they are made available to the public to confirm their author and guarantee that the code has not been altered or corrupted since it was signed. For this, one needs to Fill out four major fields: \",/*#__PURE__*/e(\"strong\",{children:\"Issuer Id, Key Id, API Key, and SSH Certificate Key. \"}),\"Let\u2019s see the process in detail:\"]}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"strong\",{children:\"Fetching Issuer Id, Key Id, and API Key:\"})}),/*#__PURE__*/e(\"p\",{children:\"Creating a dedicated App Store Connect API key for Blup in App Store Connect is recommended. To do so:\"}),/*#__PURE__*/t(\"ul\",{style:{\"--framer-font-size\":\"20px\",\"--framer-text-alignment\":\"start\",\"--framer-text-color\":\"rgb(69, 70, 79)\",\"--framer-text-transform\":\"none\"},children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Log in to App Store Connect and navigate to Users and Access > Keys.\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Click on the + sign to generate a new API key.\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Enter the name for the key and select an access level. We recommend choosing App Manager access rights, read more about Apple Developer Program role permissions here.\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Click Generate.\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"As soon as the key is generated, you can see it added to the list of active keys. Click Download API Key to save the private key for later. Note that the key can only be downloaded once.\"})})]}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"img\",{alt:\"Blup API key\",className:\"framer-image\",height:\"263\",src:\"https://framerusercontent.com/images/AqbgoecvVCtIbeukQSK7zZv6lg.png\",srcSet:\"https://framerusercontent.com/images/AqbgoecvVCtIbeukQSK7zZv6lg.png?scale-down-to=512 512w,https://framerusercontent.com/images/AqbgoecvVCtIbeukQSK7zZv6lg.png?scale-down-to=1024 1024w,https://framerusercontent.com/images/AqbgoecvVCtIbeukQSK7zZv6lg.png 1452w\",style:{aspectRatio:\"1452 / 526\"},width:\"726\"}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Fetching\"}),\" \",/*#__PURE__*/e(\"strong\",{children:\"SSH Certificate Key:\"})]}),/*#__PURE__*/e(\"p\",{children:\"To sign iOS apps, you can use the private key of an iOS Distribution certificate that has already been created in your Apple Developer Program account.\"}),/*#__PURE__*/e(\"p\",{children:\"If you do not have a private key, then create a new one from the below method:\"}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"strong\",{children:\"Create a new key\"})}),/*#__PURE__*/e(\"p\",{children:\"You can create a new 2048-bit RSA key by running the command below in your terminal:\"}),/*#__PURE__*/e(\"ul\",{style:{\"--framer-font-size\":\"20px\",\"--framer-text-alignment\":\"start\",\"--framer-text-color\":\"rgb(69, 70, 79)\",\"--framer-text-transform\":\"none\"},children:/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"strong\",{children:\"For Mac:\"})})})}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"em\",{children:\"ssh-keygen -t rsa -b 2048 -m PEM -f ~/Desktop/ios_distribution_private_key -q -N \u201C\u201D\"})}),/*#__PURE__*/e(\"ul\",{style:{\"--framer-font-size\":\"20px\",\"--framer-text-alignment\":\"start\",\"--framer-text-color\":\"rgb(69, 70, 79)\",\"--framer-text-transform\":\"none\"},children:/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"strong\",{children:\"For Windows:\"})})})}),/*#__PURE__*/t(\"p\",{children:[\"Open CMD, & type \",/*#__PURE__*/e(\"em\",{children:\"ssh-keygen\"}),\". If this command doesn\u2019t work. Download OpenSSH from\",/*#__PURE__*/e(r,{href:\"https://slproweb.com/products/Win32OpenSSL.html\",motionChild:!0,nodeId:\"dlsksZJDV\",openInNewTab:!1,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(a.a,{children:\" here\"})}),\".\"]}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"em\",{children:\"ssh-keygen -t rsa -b 2048 -m PEM -f ./MyKeyGen/ios_distribution_private_key -q -N \u201C\u201D\"})}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"p\",{children:\"This new private key will be used to create a new iOS Distribution certificate in your Apple Developer Program account if there isn\u2019t one that already matches this private key.\"}),/*#__PURE__*/t(\"p\",{children:[\"Paste this private key in Blup \u201C\",/*#__PURE__*/e(\"strong\",{children:'App Store Connect Dialog \"'})]}),/*#__PURE__*/e(\"img\",{alt:\"Blup connect App Store\",className:\"framer-image\",height:\"250\",src:\"https://framerusercontent.com/images/vq6UnCaXMST7eYXmyRlZncSazb8.png\",srcSet:\"https://framerusercontent.com/images/vq6UnCaXMST7eYXmyRlZncSazb8.png?scale-down-to=512 512w,https://framerusercontent.com/images/vq6UnCaXMST7eYXmyRlZncSazb8.png 994w\",style:{aspectRatio:\"994 / 500\"},width:\"497\"}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"p\",{children:\"Now simply build & Publish an iOS build on App Store using the below step, and you\u2019re done!\"}),/*#__PURE__*/e(\"img\",{alt:\"Blup Publish App\",className:\"framer-image\",height:\"319\",src:\"https://framerusercontent.com/images/G6u0rlhyugNFSvdGNJqox1YucfA.png\",srcSet:\"https://framerusercontent.com/images/G6u0rlhyugNFSvdGNJqox1YucfA.png?scale-down-to=512 512w,https://framerusercontent.com/images/G6u0rlhyugNFSvdGNJqox1YucfA.png?scale-down-to=1024 1024w,https://framerusercontent.com/images/G6u0rlhyugNFSvdGNJqox1YucfA.png 1508w\",style:{aspectRatio:\"1508 / 638\"},width:\"754\"}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"h3\",{children:\"Publish Blup Apps on Android\"}),/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(r,{href:\"https://support.google.com/googleplay/android-developer/answer/9859152?hl=en\",motionChild:!0,nodeId:\"dlsksZJDV\",openInNewTab:!1,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(a.a,{children:\"Click here\"})}),\" to get the step-by-step instructions to publish your app in the play store.\"]}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"h2\",{children:\"Why Flutter Developers love Blup\"}),/*#__PURE__*/e(\"p\",{children:\"You\u2019ve come this far; now tell us isn\u2019t this the most simple way to push Flutter apps into the market? It\u2019s literally just drag-and-drop, set logic, and go live.\"}),/*#__PURE__*/e(\"p\",{children:\"As more developers and founders start embracing no and low-code platforms, there\u2019s no reason why you; as an individual or an entity shouldn\u2019t. It\u2019s as simple as making yourself a cup of Cappuccino.\"}),/*#__PURE__*/t(\"p\",{children:[\"You can get started directly by downloading the Blup platform on your system at \",/*#__PURE__*/e(r,{href:\"https://blup.in/downloads\",motionChild:!0,nodeId:\"dlsksZJDV\",openInNewTab:!1,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(a.a,{children:\"https://blup.in/downloads\"})}),\".\"]}),/*#__PURE__*/e(\"p\",{children:\"Still left with a few doubts, why not drop us a line at contact@blup.in?\"}),/*#__PURE__*/t(\"p\",{children:[\"Oh, by the way, we forgot to mention Blup is creating a community of people like you on \",/*#__PURE__*/e(r,{href:\"https://discord.com/invite/tzKW2mx5Tr\",motionChild:!0,nodeId:\"dlsksZJDV\",openInNewTab:!1,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(a.a,{children:\"Discord\"})}),\"; hope to see you engaging there.\"]}),/*#__PURE__*/e(\"p\",{children:\"Until Next Time!\"})]});\nexport const __FramerMetadata__ = {\"exports\":{\"richText2\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"richText4\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"richText3\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"richText1\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"richText5\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"richText\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}"],
  "mappings": "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",
  "names": ["richText", "u", "x", "p", "Link", "motion", "richText1", "richText2", "richText3", "richText4", "richText5", "__FramerMetadata__"]
}
