{
  "version": 3,
  "sources": ["ssg:https://framerusercontent.com/modules/hONPuWcESHogkRqaa54l/0fBTc49P02qcS0ea1RxM/dlsksZJDV-23.js"],
  "sourcesContent": ["import{jsx as e,jsxs as t}from\"react/jsx-runtime\";import{ComponentPresetsConsumer as i,Link as n}from\"framer\";import{motion as r}from\"framer-motion\";import*as a from\"react\";import l from\"https://framerusercontent.com/modules/pVk4QsoHxASnVtUBp6jr/TbhpORLndv1iOkZzyo83/CodeBlock.js\";export const richText=/*#__PURE__*/t(a.Fragment,{children:[/*#__PURE__*/e(\"h2\",{children:\"Introducing a Comprehensive Roadmap for Aspiring Flutter App Developers\"}),/*#__PURE__*/e(\"p\",{children:\"Flutter, an open-source cross-platform application development framework, offers developers a seamless way to build high-quality, performant, and visually appealing applications with ease. Backed by Google and boasting a thriving ecosystem of third-party packages and a strong community, Flutter has become the go-to choice for many developers worldwide. \"}),/*#__PURE__*/e(\"p\",{children:\"Whether you're a beginner or an experienced iOS/Android developer, this blog presents a comprehensive syllabus that covers all the essential topics to help you become a proficient Flutter software developer.\"}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"h2\",{children:\"Prerequisites for leaning Flutter\"}),/*#__PURE__*/t(\"ul\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Ideal for beginners and experienced iOS/Android developers venturing into cross-platform app development with Flutter.\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Basic understanding of any programming language.\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Access to a capable Windows/Linux/Mac computer.\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"A genuine passion for learning and growing as a developer.\"})})]}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"h2\",{children:\"Optimum Roadmap to learn Flutter to become a best Flutter Developer\"}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"h3\",{children:\"Cluster 1: Introduction to Mobile App Development\"}),/*#__PURE__*/t(\"ul\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Overview of mobile app development\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Historical context and current trends\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Comparison between native and hybrid apps\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Existing tools and their significance\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"An exploration of why Flutter and Dart are the preferred choices\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Key terminologies in mobile app development\"})})]}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"h3\",{children:\"Cluster 2: Introduction to Dart\"}),/*#__PURE__*/t(\"ul\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Historical background and an overview of Dart\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Foundational concepts: environment, syntax, data types, variables, operators, loops, decision making, lists, maps, functions, and parameters\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Object-Oriented Programming (OOP) with Dart: classes, constructors, inheritance, interfaces, mixins, overriding, and operator overloading\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Intermediate Dart: keywords, null safety, getters and setters, exception handling\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Advanced Dart: lambdas, higher-order functions, closures, futures, and streams\"})})]}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"h3\",{children:\"Cluster 3: Introduction to Flutter\"}),/*#__PURE__*/t(\"ul\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"A brief introduction to Flutter and its history\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Overview of Flutter projects\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Understanding Flutter's UI development\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"An overview of Flutter's architecture\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Important terminologies in Flutter\"})})]}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"h3\",{children:\"Cluster 4: Development Environment Setup\"}),/*#__PURE__*/t(\"ul\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Detailed instructions for installing Dart and Flutter on Windows/Linux/Mac\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Setting up emulators for testing\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Configuring VMWare and XCode for iOS development\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Establishing connections with Android and iOS devices\"})})]}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"h3\",{children:\"Cluster 5: Git Basics\"}),/*#__PURE__*/t(\"ul\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"A detailed guide to using Git for version management.\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Creating repositories locally and on GitHub\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Managing local changes and pushing them to repositories\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Cloning projects from repositories and branching\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Merging changes and utilizing pull requests\"})})]}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"h3\",{children:\"Cluster 6: UI Design with Flutter\"}),/*#__PURE__*/t(\"ul\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Exploring the Flutter app's architecture\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Introduction to widgets and their significance\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Exploring the build method and its role\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Comparing stateful and stateless widgets\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Examining important widgets for UI design\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Utilizing layout widgets effectively\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Handling gestures for enhanced user interaction\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Building complex UI designs\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Navigation and routing in Flutter\"})})]}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"h3\",{children:\"Cluster 7: Communicating with the World\"}),/*#__PURE__*/t(\"ul\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Consuming REST APIs within Flutter apps\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Working with JSON data and transforming it into models\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Displaying data from APIs in the app's UI\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Utilizing asynchronous programming with futures and async/await\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Incorporating third-party packages for extended functionality\"})})]}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"h3\",{children:\"Cluster 8: Data Storage & Assets\"}),/*#__PURE__*/t(\"ul\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Managing assets in Flutter apps\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Reading from and writing to files\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Leveraging shared preferences for simple data storage\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Utilizing SQLite for more advanced database operations\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Integrating Firebase for real-time and Firestore database functionalities\"})})]}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"h3\",{children:\"Cluster 9: Forms & Validation\"}),/*#__PURE__*/t(\"ul\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Creating a login screen with Flutter\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Capturing user input and handling keyboard interactions\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Validating form inputs\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Utilizing global keys for form management\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Handling form submissions and implementing mixins for validation\"})})]}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"h3\",{children:\"Cluster 10: Animations in Flutter\"}),/*#__PURE__*/t(\"ul\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Understanding the basics of animations in Flutter\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Implicit and explicit animation techniques\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Working with common animation widgets\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Utilizing AnimationController for custom animations\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Implementing tween animations for smooth transitions\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Creating visually appealing effects like the hero effect\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Coordinating parallel animations for cohesive UI experiences\"})})]}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"h3\",{children:\"Cluster 11: Reactive Programming with Flutter\"}),/*#__PURE__*/t(\"ul\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Introduction to streams and their relevance in Flutter\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Working with streams and handling stream data\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Exploring reactive programming concepts with RxDart\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Utilizing broadcast streams and different stream types\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Implementing the BLoC (Business Logic Component) pattern with streams\"})})]}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"h3\",{children:\"Cluster 12: State Management with Flutter\"}),/*#__PURE__*/t(\"ul\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Understanding the importance of state management in app development\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Overview of various state management approaches (Provider, Riverpod, BLoC)\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Implementing state management with Riverpod\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Building a project using Riverpod as the state management solution\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Exploring Provider and ScopedModel for state management\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Implementing state management with BLoC architecture\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Building a project using BLoC as the state management solution\"})})]}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"h3\",{children:\"Cluster 13: Basic Testing\"}),/*#__PURE__*/t(\"ul\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Introduction to different types of tests\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Writing unit tests for individual components\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Conducting integration tests for multiple components\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Mocking HTTP requests for isolated testing environments\"})})]}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"h3\",{children:\"Cluster 14: Custom Components & Packages\"}),/*#__PURE__*/t(\"ul\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Creating custom components tailored to app requirements\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Building basic packages for modular and reusable code\"})})]}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"h3\",{children:\"Cluster 15: App Publishing\"}),/*#__PURE__*/t(\"ul\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Generating release builds for deployment\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Securing code through obfuscation techniques\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Signing apps for distribution\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Performance optimization tips for improved app efficiency\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Step-by-step guide to creating developer accounts on App Store and Play Store\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Publishing apps on Play Store\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Publishing apps on App Store\"})})]}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"h3\",{children:\"Cluster 16: Miscellaneous\"}),/*#__PURE__*/e(\"p\",{children:\"Exploring additional Flutter features and functionalities:\"}),/*#__PURE__*/t(\"ul\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"    Camera integration\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"    Custom paint and advanced design techniques\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"    Sensors utilization\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"    Permission handling\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"    File input/output operations\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"    Implementing push notifications\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"    Handling multipart form requests\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"    Integrating Google Maps and working with location data\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"    Adding swipe-to-refresh functionality\"})})]}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"h3\",{children:\"Cluster 17: Bonus\"}),/*#__PURE__*/t(\"ul\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Guidelines for structuring Flutter projects\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Project management best practices\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Introduction to common design patterns\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Publishing packages to the official Dart package repository (pub.dev)\"})})]}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"h2\",{children:\"Conclusion:\"}),/*#__PURE__*/e(\"p\",{children:\"By following this comprehensive syllabus, you will gain the necessary skills and knowledge to embark on a successful journey as a Flutter app developer. The included project list offers practical hands-on experience to reinforce your learning. With Flutter's growing popularity and demand, mastering this framework opens up abundant opportunities for your career. Keep practicing, stay curious, and a promising future as a Flutter app developer awaits you.\"}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"h3\",{children:\"Top Practice Projects for Flutter Learning \"}),/*#__PURE__*/e(\"p\",{children:\"To complement your learning, here are a variety of projects at different complexity levels that you can work on:\"}),/*#__PURE__*/t(\"ol\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Todo List App with Cloud/Local storage\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Calculator App (Math/Interest/BMI)\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Converter App (Unit/Date/..)\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"NEPSE app\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Hangman game\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Quiz Game\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Tic Tac Toe Game\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"News App (Wordpress/NewsAPI)\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Movies App\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"E-commerce App\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Simple app with authentication\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Crypto App\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Covid-19 tracker\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Music Player\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Travel App\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Paint App\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Food delivery/ordering app\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Solving design challenges (from Dribbble/Behance)\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"State management implementation\"})})]}),/*#__PURE__*/e(\"p\",{children:\"Engage with these projects to apply your knowledge, enhance your skills, and gain practical experience in Flutter app development. Wishing you the best of luck on your journey to becoming a proficient Flutter app developer!\"}),/*#__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\",{style:{\"--framer-text-alignment\":\"start\",\"--framer-text-color\":\"rgb(0, 0, 0)\",\"--framer-text-transform\":\"none\"},children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"18px\",\"--framer-letter-spacing\":\"0.1px\",\"--framer-line-height\":\"2em\",\"--framer-text-alignment\":\"start\",\"--framer-text-color\":\"rgb(51, 51, 51)\",\"--framer-text-decoration\":\"none\",\"--framer-text-transform\":\"none\"},children:/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(n,{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(r.a,{children:\"Best IDE for Flutter development\"})})})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"18px\",\"--framer-letter-spacing\":\"0.1px\",\"--framer-line-height\":\"2em\",\"--framer-text-alignment\":\"start\",\"--framer-text-color\":\"rgb(51, 51, 51)\",\"--framer-text-decoration\":\"none\",\"--framer-text-transform\":\"none\"},children:/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(n,{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(r.a,{children:\"Tips to choose best mobile app development company\"})})})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"18px\",\"--framer-letter-spacing\":\"0.1px\",\"--framer-line-height\":\"2em\",\"--framer-text-alignment\":\"start\",\"--framer-text-color\":\"rgb(51, 51, 51)\",\"--framer-text-decoration\":\"none\",\"--framer-text-transform\":\"none\"},children:/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(n,{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(r.a,{children:\"Cost to build mobile apps\"})})})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"18px\",\"--framer-letter-spacing\":\"0.1px\",\"--framer-line-height\":\"2em\",\"--framer-text-alignment\":\"start\",\"--framer-text-color\":\"rgb(51, 51, 51)\",\"--framer-text-decoration\":\"none\",\"--framer-text-transform\":\"none\"},children:/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(n,{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(r.a,{children:\"Complete guide to Mobile App Development\"})})})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"18px\",\"--framer-letter-spacing\":\"0.1px\",\"--framer-line-height\":\"2em\",\"--framer-text-alignment\":\"start\",\"--framer-text-color\":\"rgb(51, 51, 51)\",\"--framer-text-decoration\":\"none\",\"--framer-text-transform\":\"none\"},children:/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(n,{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(r.a,{children:\"Top apps built with Flutter Framework\"})})})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"18px\",\"--framer-letter-spacing\":\"0.1px\",\"--framer-line-height\":\"2em\",\"--framer-text-alignment\":\"start\",\"--framer-text-color\":\"rgb(51, 51, 51)\",\"--framer-text-decoration\":\"none\",\"--framer-text-transform\":\"none\"},children:/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(n,{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(r.a,{children:\"TOP YOUTUBE CHANNELS TO LEARN FLUTTER\"})})})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"18px\",\"--framer-letter-spacing\":\"0.1px\",\"--framer-line-height\":\"2em\",\"--framer-text-alignment\":\"start\",\"--framer-text-color\":\"rgb(51, 51, 51)\",\"--framer-text-decoration\":\"none\",\"--framer-text-transform\":\"none\"},children:/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(n,{href:\"https://www.blup.in/blog/how-to-build-flutter-apps\",motionChild:!0,nodeId:\"dlsksZJDV\",openInNewTab:!0,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(r.a,{children:\"How to build Flutter apps?\"})})})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"18px\",\"--framer-letter-spacing\":\"0.1px\",\"--framer-line-height\":\"2em\",\"--framer-text-alignment\":\"start\",\"--framer-text-color\":\"rgb(51, 51, 51)\",\"--framer-text-decoration\":\"none\",\"--framer-text-transform\":\"none\"},children:/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(n,{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(r.a,{children:\"Flutter vs React Native\"})})})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"18px\",\"--framer-letter-spacing\":\"0.1px\",\"--framer-line-height\":\"2em\",\"--framer-text-alignment\":\"start\",\"--framer-text-color\":\"rgb(51, 51, 51)\",\"--framer-text-decoration\":\"none\",\"--framer-text-transform\":\"none\"},children:/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(n,{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(r.a,{children:\"Top Flutter app development company\"})})})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",style:{\"--framer-font-size\":\"18px\",\"--framer-letter-spacing\":\"0.1px\",\"--framer-line-height\":\"2em\",\"--framer-text-alignment\":\"start\",\"--framer-text-color\":\"rgb(51, 51, 51)\",\"--framer-text-decoration\":\"none\",\"--framer-text-transform\":\"none\"},children:/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(n,{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(r.a,{children:\"Best no code Flutter app development tool\"})})})})]})]});export const richText1=/*#__PURE__*/t(a.Fragment,{children:[/*#__PURE__*/e(\"p\",{children:\"In the realm of mobile app development, delivering a seamless user experience is paramount. A visually consistent and appealing user interface (UI) not only attracts users but also enhances their engagement. To achieve this, developers often adhere to design guidelines that prioritize elements like Material Design, Google's comprehensive design language for creating intuitive and attractive apps.\"}),/*#__PURE__*/e(\"p\",{children:\"At the core of implementing Material Design layouts in Flutter lies the indispensable `Scaffold` widget. Serving as a cornerstone, the `Scaffold` widget encapsulates the essential layout structure of a Flutter app. It streamlines the construction of key UI components, including the app bar, body, floating action button, and drawer. Through this widget, developers gain a structured approach to building sleek and user-friendly interfaces that align with Material Design principles. \"}),/*#__PURE__*/e(\"p\",{children:\"So, let's delve into the world of the Flutter `Scaffold` widget and uncover how it empowers developers to craft remarkable user experiences. \"}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"h2\",{children:\"Benefits of Using the Scaffold Widget\"}),/*#__PURE__*/e(\"p\",{children:\"While the Flutter `Scaffold` widget might not be mandatory, its incorporation into app development is not just a convenience \u2013 it\u2019s a strategic move. This widget, serving as a layout foundation, offers a plethora of advantages that significantly impact both the development process and the final user experience.\"}),/*#__PURE__*/e(\"p\",{children:\"First and foremost, the `Scaffold` widget ensures consistency across your app's visual elements. In the dynamic world of multi-device compatibility, maintaining a uniform look and feel is paramount. Whether your app runs on a compact smartphone or a spacious tablet, the `Scaffold` widget guarantees that your app retains its identity, fostering user familiarity and trust.\"}),/*#__PURE__*/e(\"p\",{children:\"Beyond consistency, the `Scaffold` widget streamlines efficiency. Instead of grappling with intricate low-level layout details, developers can focus on implementing features and functionality. This abstraction simplifies coding, accelerates development cycles, and reduces the likelihood of errors, ultimately resulting in a more streamlined and maintainable codebase.\"}),/*#__PURE__*/e(\"p\",{children:\"Moreover, the `Scaffold` widget is inherently extensible. While it provides a set of pre-defined UI components like the app bar, body, and floating action button, it remains highly customizable. This enables developers to seamlessly integrate unique features and functionalities that align with the app's purpose. The extensibility empowers developers to go beyond the standard offerings and craft tailor-made experiences that resonate with users.\"}),/*#__PURE__*/e(\"p\",{children:\"In essence, the `Scaffold` widget encapsulates the trifecta of consistency, efficiency, and extensibility, making it a must-have tool in the Flutter developer's arsenal.\"}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"h2\",{children:\"Exploring the Scaffold Widget Components\"}),/*#__PURE__*/e(\"p\",{children:\"The Flutter `Scaffold` widget is a treasure trove of components that collectively create a cohesive and user-friendly Material Design layout. Delving into its intricacies, we unravel a world of possibilities that empower developers to craft visually stunning and highly functional mobile applications.\"}),/*#__PURE__*/e(\"p\",{children:\"App Bar: The app bar is more than just a decorative element \u2013 it\u2019s the face of your application. By integrating an app bar using the `appBar` property, developers instantly provide users with a clear context. Setting a title via the `Text` widget is just the beginning; the app bar is also receptive to icons or buttons on the leading or trailing side. These additions not only enhance aesthetics but also facilitate user interactions, making navigation a breeze.\"}),/*#__PURE__*/t(\"ol\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Body\"}),\": The body, as the primary content area of the screen, beckons users to engage. Through the `\",/*#__PURE__*/e(\"code\",{children:\"body\"}),\"` property, this canvas welcomes a plethora of widgets, from text to images and interactive elements. Its central positioning is default, but `Align` and `Center` widgets allow for precise adjustments. This dynamic content space is the hub of user interactions, enabling the app to deliver its core functionalities.\"]})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Floating Action Button\"}),\": Flutter wouldn't be complete without the floating action button. Invoked by the `\",/*#__PURE__*/e(\"code\",{children:\"floatingActionButton\"}),\"` property, this omnipresent button serves as a call-to-action. Adding icons is as simple as integrating the `Icon` widget, while its `onPressed` callback function enables the execution of essential actions. From adding items to cart to composing messages, the floating action button amplifies user engagement with swift convenience.\"]})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Drawer\"}),\": Need a space for additional navigation options or settings? Enter the drawer, accessed by the `\",/*#__PURE__*/e(\"code\",{children:\"drawer\"}),\"` property. This slide-out panel provides an elegant solution for decluttering the main interface while granting quick access to essential functions. Beyond its innate utility, customization is a hallmark of the drawer. You can craft a bespoke experience using `ListView`, adding icons, images, or even widgets to align with your app's aesthetics.\"]})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Bottom Navigation Bar\"}),\": Navigating across app sections is seamless with the `\",/*#__PURE__*/e(\"code\",{children:\"bottomNavigationBar\"}),\"`. A steadfast staple of mobile app design, this component offers users an intuitive and accessible way to switch between primary destinations. The `BottomNavigationBar` widget embraces multiple items, each represented by an icon and label, thereby enabling quick route changes without disrupting the user flow.\"]})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Persistent Footer Buttons\"}),\": In the realm of multitasking, persistent footer buttons prove invaluable. Scrolling through content shouldn't require forfeiting essential actions, and that's where these buttons come into play. Residing below the `\",/*#__PURE__*/e(\"code\",{children:\"bottomNavigationBar\"}),'`, they remain steadfast, ensuring that pivotal actions like \"Save\" or \"Delete\" are perpetually accessible.']})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"End Drawer\"}),\": Mirroring the drawer's functionality, the `\",/*#__PURE__*/e(\"code\",{children:\"endDrawer\"}),\"` is a symmetrical space, stationed on the opposite side of the screen. While its purpose remains consistent, its placement offers an ergonomic touch for right-handed users, catering to user preferences and inclusivity.\"]})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Primary Property\"}),\": The `primary` property has a subtle yet impactful role. When set to true, the `AppBar` takes on a heightened form, extending its dimensions to accommodate the status bar's height. This configuration is particularly useful when your app's design involves intricate alignments with the status bar.\"]})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Background Color\"}),\": The visual narrative of your app can be enhanced by customizing the `Scaffold` background color. By configuring the `\",/*#__PURE__*/e(\"code\",{children:\"backgroundColor\"}),\"` property, you can harmonize the backdrop with your app's theme, fostering a visually unified user experience.\"]})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Resize To Avoid Bottom Insets\"}),\": Handling keyboard interactions becomes more elegant with the `\",/*#__PURE__*/e(\"code\",{children:\"resizeToAvoidBottomInset\"}),\"` property. When set to true, the `Scaffold` and its floating widgets gracefully adapt to the on-screen keyboard's presence, ensuring that user interactions aren't hindered by occluded UI elements.\"]})})]}),/*#__PURE__*/t(\"p\",{children:[\"In conclusion, the Flutter `\",/*#__PURE__*/e(\"code\",{children:\"Scaffold\"}),\"` widget isn't merely a container; it's a catalyst for crafting engaging and polished user interfaces. The meticulous fusion of the app bar, body, floating action button, drawer, and other components forms a harmonious symphony that resonates with users, delivering an immersive and seamless app experience.\"]}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"h2\",{children:\"Creating a Sample Material Design App with Flutter Scaffold Class\"}),/*#__PURE__*/e(\"p\",{children:\"Let's embark on a hands-on journey to craft a simple yet elegant Flutter app using the versatile Scaffold widget. By the end of this walkthrough, you'll have gained a practical understanding of how to seamlessly integrate each component of the Scaffold to build a Material Design-inspired interface.\"}),/*#__PURE__*/e(\"ol\",{children:/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"strong\",{children:\"Set Up the Project\"})})})}),/*#__PURE__*/e(\"p\",{children:\"Begin by creating a new Flutter project and replacing the boilerplate code in the main.dart file with the following:\"}),/*#__PURE__*/e(\"ol\",{start:\"2\",children:/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"strong\",{children:\"Implementing the Scaffold\"})})})}),/*#__PURE__*/e(\"p\",{children:\"Now, let's dive into the main attraction \u2013 the MyScaffoldApp class. In this class, we'll weave together all the essential components of the Scaffold.\"}),/*#__PURE__*/e(\"p\",{children:\"You can access the entire code here following the embedded URL here\"}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"code\",{children:'<iframe src=\"https://zapp.run/edit/zv5206l0w530?theme=dark&lazy=false\" style=\"width: 100%; height: 100%; border: 0; overflow: hidden;\"></iframe>'})}),/*#__PURE__*/t(\"p\",{children:[\"or copy paste below code in Flutter IDE\",/*#__PURE__*/e(\"br\",{}),/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})]}),/*#__PURE__*/e(\"div\",{className:\"framer-text-module\",style:{height:\"auto\",width:\"100%\"},children:/*#__PURE__*/e(i,{componentIdentifier:\"module:pVk4QsoHxASnVtUBp6jr/TbhpORLndv1iOkZzyo83/CodeBlock.js:default\",children:t=>/*#__PURE__*/e(l,{...t,code:\"import 'package:flutter/material.dart';\\n\\n/// Flutter code sample for [Scaffold].\\n\\nvoid main() => runApp(const ScaffoldExampleApp());\\n\\nclass ScaffoldExampleApp extends StatelessWidget {\\n  const ScaffoldExampleApp({super.key});\\n\\n  @override\\n  Widget build(BuildContext context) {\\n    return const MaterialApp(\\n      home: ScaffoldExample(),\\n    );\\n  }\\n}\\n\\nclass ScaffoldExample extends StatefulWidget {\\n  const ScaffoldExample({super.key});\\n\\n  @override\\n  State<ScaffoldExample> createState() => _ScaffoldExampleState();\\n}\\n\\nclass _ScaffoldExampleState extends State<ScaffoldExample> {\\n  int _count = 0;\\n\\n  @override\\n  Widget build(BuildContext context) {\\n    return Scaffold(\\n      appBar: AppBar(\\n        title: const Text('Flutter Scaffold Demo'),\\n      ),\\n      body: Center(\\n        child: Text(\\\"You have pressed the button $_count times.\\\",\\n        style: TextStyle(\\n          color: Color.fromARGB(255, 243, 22, 22),\\n          fontSize: 25,\\n          fontStyle: FontStyle.italic,\\n        ),        \\n      ),      \\n    ),\\n    backgroundColor: Color.fromARGB(255, 115, 166, 244),\\n\\n      bottomNavigationBar: BottomNavigationBar(\\n        items: const <BottomNavigationBarItem>[\\n          BottomNavigationBarItem(\\n            icon: Icon(Icons.home),\\n            label: 'Home',\\n          ),\\n          BottomNavigationBarItem(\\n            icon: Icon(Icons.business),\\n            label: 'Business',\\n          ),\\n          BottomNavigationBarItem(\\n            icon: Icon(Icons.school),\\n            label: 'School',\\n          ),\\n        ],\\n        \\n      ),\\n      floatingActionButton: FloatingActionButton(\\n        onPressed: () => setState(() {\\n          _count++;\\n        }),\\n        tooltip: 'Increment Counter',\\n        child: const Icon(Icons.add),\\n      ),\\n      floatingActionButtonLocation: FloatingActionButtonLocation.centerDocked,\\n    drawer: Drawer(\\n    child: ListView(\\n      padding: EdgeInsets.zero,\\n      children: const <Widget>[\\n        DrawerHeader(\\n          decoration: BoxDecoration(\\n            color: Colors.blue,\\n          ),\\n          child: Text(\\n            'Drawer Header',\\n            style: TextStyle(\\n              color: Colors.white,\\n              fontSize: 24,\\n            ),\\n          ),\\n        ),\\n        ListTile(\\n          leading: Icon(Icons.message),\\n          title: Text('Messages'),\\n        ),\\n        ListTile(\\n          leading: Icon(Icons.account_circle),\\n          title: Text('Profile'),\\n        ),\\n        ListTile(\\n          leading: Icon(Icons.settings),\\n          title: Text('Settings'),\\n        ),\\n      ],\\n    ),\\n  ),\\n  \\n);\\n  }\\n}\",language:\"JSX\"})})}),/*#__PURE__*/t(\"p\",{children:[\"The demo app looks like below:\",/*#__PURE__*/e(\"br\",{}),/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})]}),/*#__PURE__*/e(\"img\",{alt:\"\",className:\"framer-image\",height:\"319\",src:\"https://framerusercontent.com/images/tq0g6dDpUzGtrsEn3gTsfBa00.png\",srcSet:\"https://framerusercontent.com/images/tq0g6dDpUzGtrsEn3gTsfBa00.png 506w\",style:{aspectRatio:\"506 / 639\"},width:\"253\"}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"ol\",{start:\"3\",children:/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"strong\",{children:\"Understanding the Components\"})})})}),/*#__PURE__*/e(\"p\",{children:\"App Bar: The AppBar component crowns your app with a title and additional actions. In our example, we've added a search icon button that triggers a search action upon tapping.\"}),/*#__PURE__*/e(\"p\",{children:\"Body: The body is the canvas where your app's primary content resides. We've used the Center widget to elegantly position our welcome message.\"}),/*#__PURE__*/e(\"p\",{children:\"Floating Action Button: This circular button, when pressed, triggers an action. We've adorned it with a plus icon for a compelling call-to-action effect.\"}),/*#__PURE__*/e(\"ol\",{start:\"4\",children:/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"strong\",{children:\"The MaterialApp Entry Point\"})})})}),/*#__PURE__*/e(\"p\",{children:\"The MaterialApp widget at the heart of your app ensures consistency and adherence to Material Design principles. It serves as the entry point, orchestrating the visual and structural aspects of your application.\"}),/*#__PURE__*/e(\"p\",{children:\"In a nutshell, the Scaffold widget is your ally in crafting engaging and visually harmonious Material Design layouts. By effortlessly integrating components like the app bar, body, and floating action button, you create an app that adheres to design best practices and provides an immersive user experience.\"}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"h2\",{children:\"Best Practices and Tips for Scaffold Class\"}),/*#__PURE__*/e(\"p\",{children:\"Mastering the `Scaffold` widget involves not just its components, but also understanding the best practices that ensure smooth app development. Here are some tips to keep in mind:\"}),/*#__PURE__*/t(\"ul\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Avoid Nesting Scaffolds: While Flutter allows flexibility, refrain from nesting `Scaffold` widgets. Instead, utilize features like the `BottomAppBar` to maintain clean and efficient code.\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Handling AppBar Titles with TabBarView: If you're integrating a `TabBarView`, handle `AppBar` titles with care. Utilize a listener for the `TabController` to dynamically update titles and keep your app user-friendly.\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Customization Beyond Basics: The `Scaffold` widget's standard properties offer an array of customization options. However, for more intricate designs, delve into advanced customization like `SliverAppBar` for scrolling headers or utilizing the `ScaffoldMessenger` to display snack bars.\"})})]}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"h2\",{children:\"FAQ Section for Flutter Scaffold\"}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"ol\",{children:/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"h3\",children:/*#__PURE__*/e(\"h3\",{children:\"What is a Flutter Scaffold?\"})})}),/*#__PURE__*/e(\"p\",{children:\"A 'Scaffold' widget in Flutter is a core widget that offers an elementary layout structure for applying Material Design in an app. It offers components like app bars, bodies, floating action buttons, drawers, and more.\"}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"ol\",{start:\"2\",children:/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"h3\",children:/*#__PURE__*/e(\"h3\",{children:\"Is Scaffold necessary in Flutter?\"})})}),/*#__PURE__*/e(\"p\",{children:\"While not strictly necessary, using the `Scaffold` widget in Flutter is highly recommended for creating consistent and visually appealing Material Design layouts.\"}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"ol\",{start:\"3\",children:/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"h3\",children:/*#__PURE__*/e(\"h3\",{children:\"How many scaffolds are in Flutter?\"})})}),/*#__PURE__*/e(\"p\",{children:\"In Flutter, you typically use one `Scaffold` per screen to structure your app's layout.\"}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"ol\",{start:\"4\",children:/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"h3\",children:/*#__PURE__*/e(\"h3\",{children:\"What is the difference between Scaffold and material in Flutter?\"})})}),/*#__PURE__*/e(\"p\",{children:'The `Scaffold` is a widget that provides layout structure, while \"material\" in Flutter refers to the design language and UI components inspired by Google\\'s Material Design guidelines.'}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"ol\",{start:\"5\",children:/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"h3\",children:/*#__PURE__*/e(\"h3\",{children:\"What are the three 3 types of scaffolding?\"})})}),/*#__PURE__*/e(\"p\",{children:\"In Flutter, the three main types of scaffolding components are the app bar, body, and floating action button.\"}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"ol\",{start:\"6\",children:/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"h3\",children:/*#__PURE__*/e(\"h3\",{children:\"What are the 3 main components of Flutter?\"})})}),/*#__PURE__*/e(\"p\",{children:\"The three main components of Flutter are widgets, rendering engine, and the framework's architecture (composition over inheritance).\"}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"p\",{children:\"In the realm of Flutter app development, the `Scaffold` widget emerges as an indispensable tool for crafting captivating and efficient Material Design layouts. Its role in encapsulating fundamental design components like the app bar, body, and floating action button cannot be overstated.\"}),/*#__PURE__*/e(\"p\",{children:\"Through this blog, we've explored its benefits, dissected its features, and shared best practices. Remember, the `Scaffold` widget's power extends far beyond its fundamental role, offering a gateway to creativity and consistency in UI design. So, embrace it as your partner in building engaging and visually pleasing mobile apps.\"})]});export const richText2=/*#__PURE__*/t(a.Fragment,{children:[/*#__PURE__*/e(\"p\",{children:\"QRScan Flutter is a powerful plugin that enables seamless QR code scanning and barcode recognition within Flutter mobile applications. QR codes have become ubiquitous in modern society, facilitating quick access to information, product details, and app functionalities.\"}),/*#__PURE__*/e(\"p\",{children:\"Integrating QRScan Flutter into your app empowers users with the ability to scan QR codes and barcodes effortlessly, enhancing user experiences and opening up new possibilities for interactive and dynamic app functionalities.\"}),/*#__PURE__*/e(\"p\",{children:\"In this comprehensive blog, we will delve into the world of QRScan Flutter, exploring its features, implementation, and customization options. We will guide you through the process of integrating QRScan Flutter into your Flutter projects, enabling you to harness the power of QR code scanning in your apps.\"}),/*#__PURE__*/e(\"p\",{children:\"We will use the package from https://pub.dev/packages/qr_flutter for this article.\"}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"h2\",{children:\"Understanding QRScan Flutte\"}),/*#__PURE__*/e(\"h4\",{children:\"What is QRScan Flutter?\"}),/*#__PURE__*/t(\"ul\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"QRScan Flutter is a powerful Flutter plugin for QR code scanning and barcode recognition.\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Key Features: QR code scanning, barcode recognition, customization options, and cross-platform compatibility.\"})})]}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"h3\",{children:\"Benefits of QRScan Flutter in Mobile App Development\"}),/*#__PURE__*/e(\"p\",{children:\"Mobile scanner apps have revolutionized the way we handle documents and information. Gone are the days of carrying around stacks of papers or relying on bulky scanners. Here are some of the key benefits of using mobile scanner apps:\"}),/*#__PURE__*/e(\"p\",{children:\"1. Convenience: Mobile scanner apps provide a convenient solution for digitizing documents on-the-go. With just your smartphone or tablet, you can capture and store important information without the need for additional hardware.\"}),/*#__PURE__*/e(\"p\",{children:\"2. Portability: The portability of mobile scanner apps allows you to carry your scanner wherever you go. This means you can quickly capture documents, receipts, or whiteboards, even when you're away from your desk or office.\"}),/*#__PURE__*/e(\"p\",{children:\"3. Time-saving: Mobile scanner apps save you valuable time by eliminating the need for manual data entry or searching through physical documents. With advanced OCR technology, these apps can extract text from scanned documents, making it easy to search, edit, and share information.\"}),/*#__PURE__*/e(\"p\",{children:\"4. Organization: Mobile scanner apps provide a digital filing system, allowing you to organize and categorize your scanned documents. This makes it easier to find and retrieve important information when you need it.\"}),/*#__PURE__*/e(\"p\",{children:\"5. Collaboration: With mobile scanner apps, you can easily share scanned documents with colleagues, clients, or collaborators. This streamlines the collaboration process and eliminates the need for physical document sharing.\"}),/*#__PURE__*/e(\"p\",{children:\"6. Security: Mobile scanner apps often offer encryption and password protection features, ensuring the security of your scanned documents. This gives you peace of mind, knowing that your sensitive information is safe.\"}),/*#__PURE__*/e(\"p\",{children:\"By leveraging the benefits of mobile scanner apps, you can streamline your workflow, improve productivity, and stay organized, no matter where you are. These apps are a game-changer for individuals and businesses alike.\"}),/*#__PURE__*/e(\"h2\",{children:\"Getting Started with QRScan Flutter\"}),/*#__PURE__*/e(\"p\",{children:\"QRScan Flutter is a powerful Flutter plugin that enables QR code scanning functionality in your mobile app.  In this section, we will guide you through the installation process and demonstrate how to initiate the QR code scanning process in your Flutter project.\"}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"h3\",{children:\"Installation and Setup\"}),/*#__PURE__*/e(\"p\",{children:\"To get started with QRScan Flutter, follow these steps:\"}),/*#__PURE__*/e(\"ul\",{children:/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Version Compatibility:\"}),\" Before proceeding with the installation, ensure that your Flutter version is compatible with QRScan Flutter. The latest version (4.0.0+) supports null safety and requires a compatible version of Flutter. If your current Flutter version is incompatible, you can use a 3.x version of the library.\"]})})}),/*#__PURE__*/e(\"p\",{children:\"Add Dependency to pubspec.yaml: Open your `pubspec.yaml` file and add the QRScan Flutter dependency under the `dependencies` section:\"}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"code\",{children:\"dependencies:\"})}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"code\",{children:\"  qr_flutter: ^4.1.0\"})}),/*#__PURE__*/e(\"p\",{children:\"If you're using the Flutter master channel or want to try the latest updates, you can use the master branch directly by specifying the Git URL:\"}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"code\",{children:\"dependencies:\"})}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"code\",{children:\"  qr_flutter:\"})}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"code\",{children:\"    git:\"})}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"code\",{children:\"      url: https://github.com/theyakka/qr.flutter.git\"})}),/*#__PURE__*/e(\"p\",{children:\"Please note that using the master branch may introduce instability.\"}),/*#__PURE__*/e(\"p\",{children:\"Get the Package: After adding the dependency, run `flutter packages get` in the terminal or update your packages using your IDE. This will download and set up the QRScan Flutter package in your project.\"}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"h3\",{children:\"Initiating the QR Code Scanning Process\"}),/*#__PURE__*/e(\"p\",{children:\"Now that you have QRScan Flutter installed in your project, you can start scanning QR codes. The process is straightforward:\"}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"ol\",{children:/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"h4\",children:/*#__PURE__*/e(\"h4\",{children:\"Import Dependency:\"})})}),/*#__PURE__*/e(\"p\",{children:\"In your Dart file where you want to initiate the QR code scanning process, import the QRScan Flutter package:\"}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"code\",{children:\"import 'package:qr_flutter/qr_flutter.dart';\"})}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"h4\",{children:\"2. Start Scanning:\"}),/*#__PURE__*/e(\"p\",{children:\"To initiate the QR code scanning process, use the `scan()` method provided by QRScan Flutter. Here's how to do it:\"}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"code\",{children:\"QRScanner scanner = QRScanner();\"})}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"code\",{children:\"void startScanning() async {\"})}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"code\",{children:\"  String scanResult = await scanner.scan();\"})}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"code\",{children:\"  // Handle the scan result here\"})}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"code\",{children:\"  if (scanResult != null) {\"})}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"code\",{children:'    print(\"Scanned QR code: $scanResult\");'})}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"code\",{children:\"  }\"})}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"code\",{children:\"}\"})}),/*#__PURE__*/e(\"p\",{children:\"In this example, we created a QRScanner instance and called the `scan()` method, which will open the device's camera to scan QR codes. The scanned data will be returned as a string, allowing you to handle it according to your app's requirements.\"}),/*#__PURE__*/e(\"p\",{children:\"With these simple steps, you have successfully installed QRScan Flutter in your Flutter project and learned how to initiate the QR code scanning process.\"}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"h2\",{children:\"Scanning QR Codes\"}),/*#__PURE__*/e(\"p\",{children:\"QRScan Flutter provides robust QR code scanning functionality that allows your Flutter app to scan and retrieve data from QR codes effortlessly. In this section, we will explore how to handle QR code scanning and retrieve the scanned data using QRScan Flutter.\"}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"h3\",{children:\"Handling Scan Results and Data Retrieval\"}),/*#__PURE__*/e(\"p\",{children:\"When a QR code is successfully scanned, QRScan Flutter returns the scanned data as a string. To handle the scan result, you can use the `scan()` method provided by QRScan Flutter, as shown in the following code snippet:\"}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"code\",{children:\"QRScanner scanner = QRScanner();\"})}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"code\",{children:\"void startScanning() async {\"})}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"code\",{children:\"  String scanResult = await scanner.scan();\"})}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"code\",{children:\"  // Handle the scan result here\"})}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"code\",{children:\"  if (scanResult != null) {\"})}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"code\",{children:'    print(\"Scanned QR code: $scanResult\");'})}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"code\",{children:\"  }\"})}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"code\",{children:\"}\"})}),/*#__PURE__*/e(\"p\",{children:\"In this example, we used the `scan()` method to initiate the scanning process. The scanned data is stored in the `scanResult` variable, and you can perform further actions based on the retrieved data.\"}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"h3\",{children:\"Demonstrative Code Snippets\"}),/*#__PURE__*/e(\"p\",{children:\"To demonstrate the ease of scanning QR codes with QRScan Flutter, here are some code snippets that showcase different scanning scenarios:\"}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"ol\",{children:/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"h4\",children:/*#__PURE__*/e(\"h4\",{children:\"Scanning a QR code and printing the result:\"})})}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"code\",{children:\"String scanResult = await QRScanner().scan();\"})}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"code\",{children:'print(\"Scanned QR code: $scanResult\");'})}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"ol\",{start:\"2\",children:/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"h4\",children:/*#__PURE__*/e(\"h4\",{children:\"Handling scan cancellation:\"})})}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"code\",{children:\"String scanResult = await QRScanner().scan();\"})}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"code\",{children:\"if (scanResult == null) {\"})}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"code\",{children:'  print(\"Scan was cancelled.\");'})}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"code\",{children:\"} else {\"})}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"code\",{children:'  print(\"Scanned QR code: $scanResult\");'})}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"code\",{children:\"}\"})}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"ol\",{start:\"3\",children:/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"h4\",children:/*#__PURE__*/e(\"h4\",{children:\"Performing an action based on the scanned data:\"})})}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"code\",{children:\"String scanResult = await QRScanner().scan();\"})}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"code\",{children:\"if (scanResult != null) {\"})}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"code\",{children:\"  if (scanResult.startsWith('http://') || scanResult.startsWith('https://')) {\"})}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"code\",{children:\"    // Open the URL in a web browser\"})}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"code\",{children:\"    // Implement your code here\"})}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"code\",{children:\"  } else {\"})}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"code\",{children:\"    // Handle other data types\"})}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"code\",{children:\"    // Implement your code here\"})}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"code\",{children:\"  }\"})}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"code\",{children:\"}\"})}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"p\",{children:\"With these code snippets, you can easily integrate QR code scanning into your Flutter app and utilize the scanned data for various functionalities. QRScan Flutter simplifies the process of scanning QR codes, making it a valuable addition to your mobile app development toolkit.\"}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"h2\",{children:\"Scanning Barcodes with QRScan Flutter\"}),/*#__PURE__*/e(\"p\",{children:\"QRScan Flutter not only supports QR code scanning but also provides the ability to scan barcodes effortlessly. In this section, we will explore how to extend QRScan Flutter for barcode scanning and implement the barcode scanning functionality.\"}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"h3\",{children:\"Implementation of Barcode Scanning Functionality\"}),/*#__PURE__*/e(\"p\",{children:\"To initiate barcode scanning, you can use the `scanBarcode()` method provided by QRScan Flutter. The scanned data will be returned as a string, which you can then process according to your app's requirements.\"}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"h3\",{children:\"Code Examples for Scanning Barcodes\"}),/*#__PURE__*/e(\"p\",{children:\"Here are some code examples to illustrate how to use QRScan Flutter for barcode scanning:\"}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"code\",{children:\"String scanResult = await QRScanner().scanBarcode();\"})}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"code\",{children:'print(\"Scanned barcode: $scanResult\");'})}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"code\",{children:\"String scanResult = await QRScanner().scanBarcode();\"})}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"code\",{children:\"if (scanResult == null) {\"})}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"code\",{children:'  print(\"Scan was cancelled.\");'})}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"code\",{children:\"} else {\"})}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"code\",{children:'  print(\"Scanned barcode: $scanResult\");'})}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"code\",{children:\"}\"})}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"code\",{children:\"String scanResult = await QRScanner().scanBarcode();\"})}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"code\",{children:\"if (scanResult != null) {\"})}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"code\",{children:\"  // Process the barcode data based on its type\"})}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"code\",{children:\"  // Implement your code here\"})}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"code\",{children:\"}\"})}),/*#__PURE__*/e(\"p\",{children:\"With these examples, you can easily integrate barcode scanning into your Flutter app using QRScan Flutter.\"}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"h3\",{children:\"Customizing the QR Scanner\"}),/*#__PURE__*/e(\"p\",{children:\"QRScan Flutter offers a range of customization options to tailor the scanner's UI and appearance according to your app's design. In this section, we will explore the various customization options available in QRScan Flutter.\"}),/*#__PURE__*/e(\"p\",{children:\"You can modify the appearance of the QR scanner by adjusting parameters such as the size, background color, and padding. Additionally, you can customize the shape and color of the QR code's eyes (corners) and dots.\"}),/*#__PURE__*/e(\"p\",{children:\"QRScan Flutter allows you to add overlays to the scanner, providing a visually appealing and informative UI. You can adjust the scan area's size and position to focus on specific parts of the scanned code.\"}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"h3\",{children:\"Handling Scan Results\"}),/*#__PURE__*/e(\"p\",{children:\"Effectively handling scan results is crucial to ensuring a seamless user experience in your app. In this section, we will delve into the process of processing scan data, interpreting results, and implementing error handling.\"}),/*#__PURE__*/e(\"p\",{children:\"Once a QR code or barcode is scanned, you can process the retrieved data to perform various actions. For instance, if the scanned data is a URL, you can open it in a web browser or redirect the user to a specific page within your app.\"}),/*#__PURE__*/e(\"p\",{children:\"Error handling is essential when dealing with QR code and barcode scanning. QRScan Flutter provides mechanisms to handle scenarios where the scanned data is invalid or cannot be processed properly.\"}),/*#__PURE__*/e(\"p\",{children:\"To provide a practical perspective, we will explore real-world use cases for handling scan results. This will include scenarios such as processing contact information, accessing product details, and authenticating users using QR codes or barcodes.\"}),/*#__PURE__*/e(\"p\",{children:\"With a comprehensive understanding of how to handle scan results, you can optimize your app's functionality and user experience when using QRScan Flutter.\"}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"h2\",{children:\"QRScan Flutter Use Cases\"}),/*#__PURE__*/e(\"p\",{children:\"QRScan Flutter can be used in a wide variety of real-world scenarios, including:\"}),/*#__PURE__*/t(\"ul\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Retail:\"}),\" QRScan Flutter can be used to scan QR codes on product packaging, in-store signage, and marketing materials. This can help retailers to improve customer engagement, track inventory, and provide personalized shopping experiences.\"]})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Logistics: \"}),\"QRScan Flutter can be used to scan QR codes on shipping labels, packages, and consignment notes. This can help logistics companies to track shipments, improve efficiency, and reduce errors.\"]})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Events: \"}),\"QRScan Flutter can be used to scan QR codes on event tickets, passes, and programs. This can help event organizers to manage attendance, collect data, and provide a more seamless experience for attendees.\"]})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Healthcare:\"}),\" QRScan Flutter can be used to scan QR codes on medical records, prescriptions, and other forms of documentation. This can help healthcare providers to improve the efficiency of their operations and provide better care for their patients.\"]})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Education: \"}),\"QRScan Flutter can be used to scan QR codes on textbooks, worksheets, and other educational materials.\"]})})]}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"h2\",{children:\"Comparing QRScan Flutter to Other QR Code Scanning Plugins\"}),/*#__PURE__*/e(\"p\",{children:\"QRScan Flutter is a popular QR code scanning plugin for Flutter. It is easy to use, has a wide range of features, and is well-documented. However, there are other QR code scanning plugins available for Flutter. Popular alternatives are:\"}),/*#__PURE__*/t(\"ul\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Barcode Scanner: \"}),\"Barcode Scanner is a simple and easy-to-use QR code scanning plugin. It is not as feature-rich as QRScan Flutter, but it is a good option for basic scanning needs.\"]})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"ZXing:\"}),\" ZXing is a powerful and versatile QR code scanning plugin. It supports a wide range of features and can be customized to meet specific needs. However, ZXing can be more difficult to use than QRScan Flutter.\"]})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"ML Kit:\"}),\" ML Kit is a Google-developed plugin that can be used to scan QR codes and other barcodes. It is not specifically designed for Flutter, but it can be used with Flutter apps. ML Kit is a good option for developers who want to use Google's machine learning technology to improve their QR code scanning apps.\"]})})]}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"h3\",{children:\"Advantages and Unique Features of QRScan Flutter\"}),/*#__PURE__*/e(\"p\",{children:\"QRScan Flutter has a number of advantages over other QR code scanning plugins, including:\"}),/*#__PURE__*/t(\"ul\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Easy to use: \"}),\"QRScan Flutter is very easy to use. The documentation is clear and concise, and the code is well-organized.\"]})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Wide range of features: \"}),\"QRScan Flutter supports a wide range of features, including scanning of both QR codes and barcodes, customization of the scanner, and handling of scan results.\"]})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Well-documented:\"}),\" The documentation for QRScan Flutter is clear and concise. It covers all of the features of the plugin, as well as how to use it in your Flutter apps.\"]})})]}),/*#__PURE__*/e(\"p\",{children:\"Overall, QRScan Flutter is a powerful and versatile QR code scanning plugin for Flutter. It is easy to use, has a wide range of features, and is well-documented.\"}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"h2\",{children:\"Building a QR Code Scanning App with QRScan Flutter\"}),/*#__PURE__*/e(\"p\",{children:\"In this section, we will walk through a step-by-step tutorial for creating a basic QR code scanning app using QRScan Flutter. We'll cover the complete Flutter code required to implement the app.\"}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"h3\",{children:\"Step-by-Step Tutorial for Creating a Basic QR Code Scanning App\"}),/*#__PURE__*/e(\"ol\",{children:/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Install QRScan Flutter:\"}),\" Ensure you have QRScan Flutter installed in your Flutter project by adding the following to your `pubspec.yaml` file:\"]})})}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"code\",{children:\"dependencies:\"})}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"code\",{children:\"  qr_flutter: ^4.1.0\"})}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"ol\",{start:\"2\",children:/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Import Dependencies: \"}),\"Import the necessary dependencies in your Dart file to use QRScan Flutter:\"]})})}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"code\",{children:\"import 'package:flutter/material.dart';\"})}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"code\",{children:\"import 'package:flutter/services.dart';\"})}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"code\",{children:\"import 'package:qr_flutter/qr_flutter.dart';\"})}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/t(\"ol\",{start:\"3\",children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Set Up MainScreen Widget:\"}),\" Create a new Dart file named `main_screen.dart` and set up the `MainScreen` widget as the home screen of the app. This widget will contain the QR code scanning functionality.\"]})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Create QR Code Scanner:\"}),\" Inside the `MainScreen` widget, add a `QrImageView` widget to display the QR code scanner:\"]})})]}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"code\",{children:\"class MainScreen extends StatelessWidget {\"})}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"code\",{children:\"  @override\"})}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"code\",{children:\"  Widget build(BuildContext context) {\"})}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"code\",{children:\"    return Scaffold(\"})}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"code\",{children:\"      appBar: AppBar(\"})}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"code\",{children:\"        title: Text('QR Code Scanner'),\"})}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"code\",{children:\"      ),\"})}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"code\",{children:\"      body: Center(\"})}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"code\",{children:\"        child: QrImageView(\"})}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"code\",{children:\"          data: 'Scan QR Code',\"})}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"code\",{children:\"          version: QrVersions.auto,\"})}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"code\",{children:\"          size: 200.0,\"})}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"code\",{children:\"        ),\"})}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"code\",{children:\"      ),\"})}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"code\",{children:\"    );\"})}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"code\",{children:\"  }\"})}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"code\",{children:\"}\"})}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"ol\",{start:\"5\",children:/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Handle Scan Results: \"}),\"Implement the functionality to handle the scanned data. You can use the `scanBarcode()` method provided by QRScan Flutter to scan QR codes:\"]})})}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"code\",{children:\"String scannedData = await QRScanner().scanBarcode();\"})}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"code\",{children:'print(\"Scanned Data: $scannedData\");'})}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"ol\",{start:\"6\",children:/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"strong\",{children:\"Complete Sample Flutter Code for the QR Code Scanning App:\"})})})}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"code\",{children:\"// main_screen.dart\"})}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"code\",{children:\"import 'package:flutter/material.dart';\"})}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"code\",{children:\"import 'package:qr_flutter/qr_flutter.dart';\"})}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"code\",{children:\"class MainScreen extends StatelessWidget {\"})}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"code\",{children:\"  @override\"})}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"code\",{children:\"  Widget build(BuildContext context) {\"})}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"code\",{children:\"    return Scaffold(\"})}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"code\",{children:\"      appBar: AppBar(\"})}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"code\",{children:\"        title: Text('QR Code Scanner'),\"})}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"code\",{children:\"      ),\"})}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"code\",{children:\"      body: Center(\"})}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"code\",{children:\"        child: QrImageView(\"})}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"code\",{children:\"          data: 'Scan QR Code',\"})}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"code\",{children:\"          version: QrVersions.auto,\"})}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"code\",{children:\"          size: 200.0,\"})}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"code\",{children:\"        ),\"})}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"code\",{children:\"      ),\"})}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"code\",{children:\"    );\"})}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"code\",{children:\"  }\"})}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"code\",{children:\"}\"})}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"code\",{children:\"// main.dart\"})}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"code\",{children:\"import 'package:flutter/material.dart';\"})}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"code\",{children:\"import 'package:flutter/services.dart';\"})}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"code\",{children:\"import 'package:qr_flutter/qr_flutter.dart';\"})}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"code\",{children:\"import 'main_screen.dart';\"})}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"code\",{children:\"void main() => runApp(ExampleApp());\"})}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"code\",{children:\"class ExampleApp extends StatelessWidget {\"})}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"code\",{children:\"  @override\"})}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"code\",{children:\"  Widget build(BuildContext context) {\"})}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"code\",{children:\"    SystemChrome.setSystemUIOverlayStyle(\"})}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"code\",{children:\"      const SystemUiOverlayStyle(\"})}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"code\",{children:\"        statusBarColor: Colors.white,\"})}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"code\",{children:\"        statusBarIconBrightness: Brightness.dark,\"})}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"code\",{children:\"        systemNavigationBarColor: Colors.white,\"})}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"code\",{children:\"        systemNavigationBarIconBrightness: Brightness.dark,\"})}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"code\",{children:\"      ),\"})}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"code\",{children:\"    );\"})}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"code\",{children:\"    return MaterialApp(\"})}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"code\",{children:\"      title: 'QR Code Scanner App',\"})}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"code\",{children:\"      theme: ThemeData.light(),\"})}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"code\",{children:\"      debugShowCheckedModeBanner: false,\"})}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"code\",{children:\"      home: MainScreen(),\"})}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"code\",{children:\"    );\"})}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"code\",{children:\"  }\"})}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"code\",{children:\"}\"})}),/*#__PURE__*/e(\"p\",{children:\"With this code, you have successfully implemented a basic QR code scanning app using QRScan Flutter. Users can scan QR codes using the app, and the scanned data will be printed in the console.\"}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"h2\",{children:\"Conclusion\"}),/*#__PURE__*/e(\"p\",{children:\"In conclusion, QRScan Flutter is a powerful plugin that enables seamless QR code and barcode scanning functionality in Flutter apps. With its simple setup and customizable options, developers can easily integrate QR code scanning into their mobile applications.\"}),/*#__PURE__*/e(\"p\",{children:\"As Flutter continues to evolve, we can anticipate further enhancements and features in QRScan Flutter, making it an even more valuable tool for developers. So, if you're looking to add QR code scanning capabilities to your Flutter app, don't hesitate to explore QRScan Flutter and create innovative solutions for your users. Happy coding!\"})]});export const richText3=/*#__PURE__*/t(a.Fragment,{children:[/*#__PURE__*/e(\"p\",{children:\"Welcome to the exciting world of mobile app development, where creativity meets technology to craft innovative and high-quality applications! Picture this: you have an incredible app idea that could revolutionize the way people interact with their smartphones. You're brimming with enthusiasm, ready to dive into the development process, but hold on! Before you unleash your brilliance, you need the right set of tools in your arsenal.\"}),/*#__PURE__*/e(\"p\",{children:\"Just like a painter needs brushes and a sculptor needs chisels, developers require their trusted companions to bring their app dreams to life. That's where mobile app development tools come into play, serving as the magical wands that empower developers to conjure immersive, functional, and user-friendly applications.\"}),/*#__PURE__*/e(\"p\",{children:\"In this blog, we'll take you on a captivating journey through the enchanting realm of mobile app development tools. We'll explore three main types: native, cross-platform, and code-less tools, each with its distinct charm and capabilities. As you embark on your app development adventure, we'll guide you through the magical forest of options, revealing the secret pathways to choose the perfect tool for your unique project.\"}),/*#__PURE__*/e(\"p\",{children:\"So, buckle up and prepare to unlock the hidden treasures of app development tools. Whether you're an aspiring wizard in the world of coding or an experienced sorcerer seeking new tricks, this blog is your enchanted map to create apps that captivate and charm users worldwide. Let's embark on this spellbinding journey together and cast the spell of innovation upon the app world!\"}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"h2\",{children:\"Introduction: Mastering Mobile App Development Tools\"}),/*#__PURE__*/e(\"p\",{children:\"In the world of mobile app development, choosing the right tools can significantly impact the success of a project. These software components are the backbone of app creation, catering to diverse development needs and platform requirements. This article delves into the technical intricacies of mobile app development tools, specifically focusing on the three main types: native, cross-platform, and code-less tools.\"}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"h3\",{children:\"Top 12 Mobile App Development Tools Summary:\"}),/*#__PURE__*/e(\"ol\",{children:/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__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:\"   JavaScript-based framework for simultaneous iOS and Android app development.\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"   Reusable codebase, excellent third-party integration, and hot reload feature.\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"   Trusted by Facebook and Uber.\"})})]}),/*#__PURE__*/e(\"ol\",{start:\"2\",children:/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__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:\"   Open-source SDK by Google, based on Dart programming language.\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:'   Offers \"Hot Reload\" for instant UI updates and access to native functionalities.'})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"   Supported by Google Firebase for scalable app development.\"})})]}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"strong\",{children:\"3. Xamarin:\"})}),/*#__PURE__*/t(\"ul\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"   Ideal for building native apps, with 100% native API access.\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"   Platform-specific IntelliSense and easy application indexing.\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"   Widely used by enterprises for cross-platform development.\"})})]}),/*#__PURE__*/e(\"ol\",{start:\"4\",children:/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"strong\",{children:\"Ionic:\"})})})}),/*#__PURE__*/t(\"ul\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"   Open-source SDK for hybrid apps using CSS, HTML5, and SASS-like technologies.\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"   Easy app delivery and automation for rapid development.\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"   Suitable for quick feature deployment and fixes.\"})})]}),/*#__PURE__*/e(\"ol\",{start:\"5\",children:/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"strong\",{children:\"jQuery Mobile:\"})})})}),/*#__PURE__*/t(\"ul\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"   HTML5-based UI system built on jQuery for web apps on mobile and tablets.\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"   Simplified UI development with little JavaScript code and AJAX support.\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"   Flexible designs and compatibility with diverse devices and browsers.\"})})]}),/*#__PURE__*/e(\"ol\",{start:\"6\",children:/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"strong\",{children:\"Sencha Ext JS:\"})})})}),/*#__PURE__*/t(\"ul\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"   MVC-based JavaScript framework for rapid mobile app development.\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"   Over 115 fully supported components and strong community support.\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"   Suitable for building feature-rich enterprise applications.\"})})]}),/*#__PURE__*/e(\"ol\",{start:\"7\",children:/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"strong\",{children:\"Framework 7:\"})})})}),/*#__PURE__*/t(\"ul\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"   Used to create native iPhone apps with iOS-specific UI elements.\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"   Ready-to-use UI elements and support for swipe-back action.\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"   Offers a video ad experience through partnership with vi (Video Intelligence).\"})})]}),/*#__PURE__*/e(\"ol\",{start:\"8\",children:/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"strong\",{children:\"Onsen UI:\"})})})}),/*#__PURE__*/t(\"ul\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"   Ideal for building Progressive Web Apps (PWAs) and hybrid apps.\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"   Framework-agnostic, with easy learning and setup.\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"   Offers a range of UI components and supports integration with various frameworks.\"})})]}),/*#__PURE__*/e(\"ol\",{start:\"9\",children:/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"strong\",{children:\"Unity:\"})})})}),/*#__PURE__*/t(\"ul\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"   Widely known as a game development tool but can be used for non-gaming apps too.\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"   Quick development support, C#-based coding, and optimal performance.\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"   Trusted by industry giants like Disney, NASA, and Microsoft.\"})})]}),/*#__PURE__*/e(\"ol\",{start:\"10\",children:/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"strong\",{children:\"Qt-Creator:\"})})})}),/*#__PURE__*/t(\"ul\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"    Cross-platform IDE with a custom rendering engine approach.\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"    Quick integration with external SDKs and flexible user interfaces.\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"    Powerful community support and interaction with native APIs.\"})})]}),/*#__PURE__*/e(\"ol\",{start:\"11\",children:/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"strong\",{children:\"JetBrains Rider:\"})})})}),/*#__PURE__*/t(\"ul\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"    Cross-platform.NET IDE for building .Net, Xamarin, and Unity apps.\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"    Rich editing and code insight, error detection, and optimal design methods.\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"    Offers intelligent navigation and search options, and a rich plugin repository.\"})})]}),/*#__PURE__*/e(\"p\",{children:\"With these top mobile app development tools at your disposal, you can confidently embark on building your dream mobile applications while maximizing productivity and delivering outstanding user experiences.\"}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"h3\",{children:\"Native App Development Tools: Unveiling Platform-Specific Proficiency\"}),/*#__PURE__*/e(\"p\",{children:\"Native app development tools specialize in crafting applications dedicated to specific platforms, such as Android or iOS. In this section, we explore two prominent native tools: Android Studio and Xcode.\"}),/*#__PURE__*/t(\"ul\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Android Studio: As the official Integrated Development Environment (IDE) for Android app development, Android Studio boasts a rich suite of features for creating robust and performant Android applications. Its extensive debugging and testing tools, coupled with seamless integration with Android SDKs, empower developers to optimize apps for the Android ecosystem.\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Xcode: Serving as Apple's official IDE for iOS app development, Xcode provides a comprehensive toolkit for building captivating iOS applications. From Interface Builder for visually designing interfaces to the Instruments tool for performance analysis, Xcode equips developers with the tools needed to unleash the full potential of iOS development.\"})})]}),/*#__PURE__*/e(\"p\",{children:\"Pros of Native App Development:\"}),/*#__PURE__*/t(\"ul\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Platform-Specific Optimization: Leveraging platform-specific APIs and capabilities ensures efficient utilization of device resources and delivers seamless user experiences.\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Native Look and Feel: Native apps blend seamlessly with the operating system's design language, enhancing user familiarity and engagement.\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Performance: Accessing platform-specific optimizations results in faster app execution and improved overall performance.\"})})]}),/*#__PURE__*/e(\"p\",{children:\"Cons of Native App Development:\"}),/*#__PURE__*/t(\"ul\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Platform Lock-In: Developing separate codebases for different platforms can be time-consuming and may lead to platform lock-in.\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Resource Requirements: Building native apps may require expertise in multiple programming languages, leading to higher resource requirements in terms of development skills and time.\"})})]}),/*#__PURE__*/e(\"p\",{children:\"Real-World Examples of Native App Development:\"}),/*#__PURE__*/t(\"ul\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Instagram: Crafted using native tools, Instagram provides users with platform-specific features and a consistent user experience across Android and iOS devices.\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"WhatsApp: As a prominent messaging app, WhatsApp's seamless cross-platform performance is a testament to the power of native development.\"})})]}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"h3\",{children:\"Cross-Platform App Development Tools: Bridging Platform Diversity \"}),/*#__PURE__*/e(\"p\",{children:\"Cross-platform app builders allow developers to create apps that can run on a variety of platforms. We explore two widely adopted cross-platform frameworks: Xamarin and React Native.\"}),/*#__PURE__*/t(\"ul\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Xamarin: An open-source framework backed by Microsoft, Xamarin allows developers to use C# and .NET to create native applications for Android, iOS, and Windows. The framework's code-sharing capabilities streamline development efforts and ensure a consistent user experience across platforms.\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"React Native: Developed by Facebook, React Native enables building cross-platform applications using JavaScript and React. By leveraging a single codebase, developers can create high-performance apps that look and feel like native applications on Android and iOS devices.\"})})]}),/*#__PURE__*/e(\"p\",{children:\"Pros of Cross-Platform App Development:\"}),/*#__PURE__*/t(\"ul\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Code Reusability: A single codebase can be shared across multiple platforms, reducing development time and effort.\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Accelerated Execution: Cross-platform frameworks shorten development times by allowing concurrent development for several platforms.\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Cost-Effectiveness: Building a single codebase for multiple platforms translates to reduced development costs and resource utilization.\"})})]}),/*#__PURE__*/e(\"p\",{children:\"Cons of Cross-Platform App Development:\"}),/*#__PURE__*/t(\"ul\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Performance Overhead: Cross-platform apps may face performance overhead due to the additional abstraction layer between the code and the underlying platform.\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Limited Platform-Specific Features: Accessing platform-specific features may require additional plugins or custom development, leading to increased complexity.\"})})]}),/*#__PURE__*/e(\"p\",{children:\"Real-World Examples of Cross-Platform App Development:\"}),/*#__PURE__*/t(\"ul\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Airbnb: Utilizing React Native, Airbnb delivers a smooth and engaging user experience across both Android and iOS platforms.\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Microsoft Office: Microsoft leveraged Xamarin to build its Office suite of apps, showcasing the potential of cross-platform development.\"})})]}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"h3\",{children:\"Codeless App Development Tools: Empowering No-Code Solutions \"}),/*#__PURE__*/e(\"p\",{children:\"Codeless app development tools, also known as low-code or no-code platforms, empower users to build mobile apps without writing traditional code. One prominent codeless platform is Appery.io.\"}),/*#__PURE__*/e(\"ul\",{children:/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Appery.io: This cloud-based platform offers an intuitive drag-and-drop interface, allowing users to design, build, and deploy cross-platform apps without manual coding. Appery.io's visual development environment simplifies the app creation process, making it accessible to both developers and non-developers.\"})})}),/*#__PURE__*/e(\"p\",{children:\"Pros of Codeless App Development:\"}),/*#__PURE__*/t(\"ul\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Reduced Development Time: Codeless platforms accelerate app development by eliminating the need for hand-coding, allowing rapid prototyping and deployment.\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Accessible to Non-Developers: Codeless platforms democratize app development, enabling business users and citizen developers to create functional apps.\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Simplified Maintenance: The visual interface facilitates easy updates and modifications without incurring extensive development efforts.\"})})]}),/*#__PURE__*/e(\"p\",{children:\"Cons of Codeless App Development:\"}),/*#__PURE__*/t(\"ul\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Limited Customization: Codeless platforms may impose restrictions on custom features or complex functionality, limiting app customization possibilities.\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Scalability Concerns: For large-scale or intricate projects, codeless platforms may struggle to accommodate complex requirements.\"})})]}),/*#__PURE__*/e(\"p\",{children:\"Mobile app development tools are essential components in crafting high-quality apps for diverse platforms. Native tools empower developers to optimize apps for specific platforms, ensuring seamless performance and user engagement. Cross-platform frameworks bridge platform diversity, offering code-sharing capabilities to expedite development cycles.\"}),/*#__PURE__*/e(\"p\",{children:\"Codeless platforms revolutionize app development, enabling non-developers to bring their app ideas to life effortlessly. As app development continues to evolve, choosing the right tool for the project remains paramount, ensuring the creation of captivating and successful mobile applications.\"}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"h2\",{children:\"Comparison of Popular Mobile App Development Tools \"}),/*#__PURE__*/e(\"p\",{children:\"When embarking on a mobile app development journey, choosing the most suitable tool is critical to project success. In this section, we conduct a comparative analysis of the three main types of mobile app development tools: native, cross-platform, and codeless tools. We delve into their strengths, limitations, and key factors to consider when selecting the right tool for a specific project.\"}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"h3\",{children:\"Native App Development Tools: Leveraging Platform-Specific Proficiency\"}),/*#__PURE__*/e(\"p\",{children:\"Strengths:\"}),/*#__PURE__*/t(\"ul\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Seamless Integration: Native tools like Android Studio and Xcode offer deep integration with their respective platforms, providing access to platform-specific features and APIs.\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Optimal Performance: Leveraging platform-specific optimizations results in superior app performance and responsiveness.\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Native Look and Feel: Native apps blend seamlessly with the operating system's design language, enhancing user familiarity and engagement.\"})})]}),/*#__PURE__*/e(\"p\",{children:\"Limitations:\"}),/*#__PURE__*/t(\"ul\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Platform Lock-In: Developing separate codebases for different platforms may lead to platform lock-in, increasing development time and effort.\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Resource Requirements: Building native apps often requires expertise in multiple programming languages, leading to higher resource requirements in terms of development skills and time.\"})})]}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"h3\",{children:\"Cross-Platform App Development Tools: Bridging Platform Diversity\"}),/*#__PURE__*/e(\"p\",{children:\"Strengths:\"}),/*#__PURE__*/t(\"ul\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Code Reusability: Frameworks like Xamarin and React Native facilitate code sharing, reducing development time and effort.\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Faster Development: Simultaneous development for different platforms accelerates development cycles.\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Cost-Effectiveness: Building a single codebase for multiple platforms translates to reduced development costs and resource utilization.\"})})]}),/*#__PURE__*/e(\"p\",{children:\"Limitations:\"}),/*#__PURE__*/t(\"ul\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Performance Overhead: Cross-platform apps may experience performance overhead due to an additional abstraction layer between the code and the underlying platform.\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Limited Platform-Specific Features: Accessing platform-specific features may require additional plugins or custom development, leading to increased complexity.\"})})]}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"h3\",{children:\"Codeless App Development Tools: Enabling No-Code Solutions\"}),/*#__PURE__*/e(\"p\",{children:\"Strengths:\"}),/*#__PURE__*/t(\"ul\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Reduced Development Time: Codeless platforms eliminate the need for hand-coding, enabling rapid prototyping and deployment.\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Accessible to Non-Developers: Codeless platforms democratize app development, allowing business users and citizen developers to create functional apps.\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Simplified Maintenance: The visual interface facilitates easy updates and modifications without extensive development efforts.\"})})]}),/*#__PURE__*/e(\"p\",{children:\"Limitations:\"}),/*#__PURE__*/t(\"ul\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Limited Customization: Codeless platforms may restrict custom features or complex functionality, limiting app customization possibilities.\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Scalability Concerns: For large-scale or intricate projects, codeless platforms may struggle to accommodate complex requirements.\"})})]}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"h2\",{children:\"Selecting the Right Tool for Your Project\"}),/*#__PURE__*/e(\"p\",{children:\"Key Factors to Consider:\"}),/*#__PURE__*/t(\"ul\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Project Requirements: Consider the specific features, functionality, and performance requirements of the app.\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Platform Compatibility: Determine the target platforms and assess the compatibility of the chosen tool.\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Development Team Expertise: Evaluate the team's proficiency with the selected tool and programming languages.\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Time and Budget Constraints: Assess the project timeline and budget, aligning them with the capabilities of the chosen tool.\"})})]}),/*#__PURE__*/e(\"p\",{children:\"In conclusion, a thoughtful comparison of native, cross-platform, and codeless app development tools is crucial in making an informed decision. Understanding the strengths and limitations of each tool empowers developers to select the most appropriate one for their project, ensuring the creation of high-quality and successful mobile applications.\"}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"h2\",{children:\"Conclusion\"}),/*#__PURE__*/e(\"p\",{children:\"In today's rapidly evolving mobile app development landscape, leveraging the right tools can make all the difference in creating high-quality and successful applications.\"}),/*#__PURE__*/e(\"p\",{children:\"Throughout this article, we have explored the three main types of mobile app development tools: native, cross-platform, and codeless tools. Each type offers unique advantages and limitations, catering to diverse project requirements and developer expertise.\"}),/*#__PURE__*/e(\"h3\",{children:\"Key Takeaways\"}),/*#__PURE__*/t(\"ul\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Mobile app development tools play a pivotal role in streamlining the development process, optimizing performance, and enhancing user experiences.\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Developers are encouraged to explore and experiment with various tools to find the best fit for their specific project needs and constraints.\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Native tools, such as Android Studio and Xcode, offer unparalleled platform-specific proficiency and performance but may require more resources and expertise.\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Cross-platform frameworks like Xamarin and React Native enable code sharing, accelerating development cycles and reducing costs, albeit with potential performance overhead.\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Codeless app development platforms provide a viable option for rapid prototyping and accessible development, though they may lack customization capabilities for more complex projects.\"})})]}),/*#__PURE__*/e(\"p\",{children:\"As the mobile app development industry continues to grow and evolve, so does the ecosystem of development tools. Developers should remain open to exploring emerging tools and technologies, as well as enhancing their skills to adapt to the changing landscape.\"}),/*#__PURE__*/e(\"p\",{children:\"A dynamic and flexible approach to tool selection empowers developers to tackle diverse challenges and seize opportunities, leading to innovative and cutting-edge mobile app experiences for users worldwide.\"}),/*#__PURE__*/e(\"p\",{children:\"The future of mobile app development holds immense potential, and embracing the versatility of these tools will be instrumental in unlocking that potential for future projects.\"})]});export const richText4=/*#__PURE__*/t(a.Fragment,{children:[/*#__PURE__*/e(\"p\",{children:\"Flutter, the cross-platform application development framework, has forged a strong bond with its creator and supporter, Google. As an open-source project, Flutter is nurtured by the vibrant community and backed by the tech giant itself.\"}),/*#__PURE__*/e(\"p\",{children:\"However, misconceptions and questions about Google's dedication to Flutter often arise, raising concerns among developers. In this blog, we will explore the inseparable relationship between Flutter and Google, debunking any doubts about the future of this powerful framework.\"}),/*#__PURE__*/e(\"p\",{children:\"Let's delve into the truth behind Google's commitment to Flutter and understand why it remains a top choice for developers worldwide.\"}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"h2\",{children:\"Will Google Cancel Flutter?\"}),/*#__PURE__*/e(\"p\",{children:\"No, Google won't be cancelling Flutter. Flutter has gained a great momentum in just few years and many developers in open source community are contributing tirelessly to it. Google has also shared their vision of Flutter 2023 and they plan to even add more things and update Flutter to become more mainstream.\"}),/*#__PURE__*/e(\"p\",{children:\"In recent years, Flutter has gained immense popularity in the mobile app development world. As an open-source framework created by Google, Flutter has become a go-to choice for developers to build high-quality, cross-platform applications.\"}),/*#__PURE__*/e(\"p\",{children:\"However, some uncertainties and questions have arisen about Flutter's future, leading to speculations about whether Google will cancel the framework. In this article, we will delve into the stability and prospects of Flutter, examining Google's commitment to the platform and dispelling any concerns about its potential cancellation.\"}),/*#__PURE__*/t(\"ul\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Google's Commitment to Flutter: Flutter has received tremendous support from Google since its inception. Google's consistent contributions to the Flutter community, regular updates, and active engagement in the development process highlight their dedication to the framework. This level of commitment signifies Google's belief in the potential of Flutter as a robust and sustainable solution for app development.\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Stability and Future Prospects: As an open-source project, Flutter benefits from a vibrant community of developers who actively contribute to its growth. The framework's continuous improvement and growing ecosystem demonstrate its stability and potential for long-term viability. Flutter's active presence in major developer conferences and events further solidifies its future prospects.\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Addressing Concerns and Rumors: Despite Flutter's positive trajectory, rumors and speculations may arise about its potential cancellation. However, such concerns are unfounded, considering Google's substantial investments in the framework and its ever-growing user base. There is no evidence to suggest that Google plans to cancel Flutter, making it a reliable choice for mobile app development.\"})})]}),/*#__PURE__*/e(\"p\",{children:\"In conclusion, Flutter remains a robust and thriving platform backed by Google's unwavering commitment. The stability, continuous improvement, and active community involvement indicate a bright future for Flutter. Developers can rest assured that Flutter is here to stay, offering an excellent opportunity to build powerful and cross-platform applications. Embrace Flutter's potential, and venture into a world of seamless and efficient app development.\"}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"h2\",{children:\"Is Google Abandoning Flutter?\"}),/*#__PURE__*/e(\"p\",{children:\"No, Google is not abandoning Flutter. In fact, Google's commitment to the Flutter framework remains strong, and the platform continues to receive substantial support and updates from the tech giant. Flutter, an open-source framework for cross-platform app development, has been flourishing under Google's guidance and has become increasingly popular among developers worldwide.\"}),/*#__PURE__*/e(\"p\",{children:\"Despite rumors and speculations, Google's dedication to Flutter is evident through its consistent support and contributions to the framework. Here's a closer look at three key aspects that demonstrate Google's ongoing commitment to Flutter:\"}),/*#__PURE__*/t(\"ol\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Active Development and Updates: Google continues to actively develop Flutter, releasing regular updates and improvements to enhance the framework's capabilities. The Flutter team at Google consistently works on adding new features, fixing bugs, and optimizing performance. These updates not only showcase Google's commitment to the project but also ensure that developers have access to the latest tools and functionalities to build high-quality apps.\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Growing Flutter Community: Google's efforts have contributed significantly to the growth of the Flutter community. The framework has garnered immense popularity among developers, leading to a vibrant and active community that actively contributes to its development. Google's support extends beyond just maintaining the framework, as they actively engage with the community through events, forums, and conferences, fostering a collaborative and innovative ecosystem.\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Flutter's Strategic Importance: Flutter holds strategic importance for Google, especially concerning its ambitions for cross-platform app development. As the demand for robust, visually appealing, and performant mobile applications grows, Google recognizes Flutter as a valuable solution for developers to build applications for multiple platforms. With Flutter being integrated into various Google products and services, such as Google Ads and Google Pay, it further solidifies Google's commitment to the framework's long-term success.\"})})]}),/*#__PURE__*/e(\"p\",{children:\"In conclusion, Google's dedication to Flutter is evident through its active development, strong community engagement, and strategic positioning. As the framework gains even more popularity, it is clear that Google sees Flutter as a key player in the future of mobile app development. Developers can confidently embrace Flutter, knowing that Google is firmly behind this versatile and powerful framework.\"}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"h2\",{children:\"Does Anybody Use Flutter?\"}),/*#__PURE__*/e(\"p\",{children:\"Certainly! Over 240k developers across globe use Flutter to build apps. Flutter has garnered widespread adoption among developers and companies, making it a popular cross-platform app development framework. Renowned companies like Google, Alibaba, and eBay have embraced Flutter, highlighting its reliability and efficiency. The framework's active community fosters knowledge sharing and continuous improvement.\"}),/*#__PURE__*/e(\"p\",{children:\"Successful apps developed with Flutter, such as Google's Ads app and Alibaba's Xianyu app, demonstrate its capabilities in delivering seamless user experiences. Hookle, a popular social networking app, also relies on Flutter for efficient and rapid development.\"}),/*#__PURE__*/e(\"p\",{children:\"Flutter's adoption continues to rise, with developers favoring it in various surveys. The framework's extensive plugin system, community support, and frequent updates contribute to its appeal. In conclusion, Flutter's popularity, real-world success stories, and increasing adoption confirm its position as a leading choice for cross-platform app development.\"}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"h2\",{children:\"How Much Does Google Flutter Cost?\"}),/*#__PURE__*/e(\"p\",{children:\"Flutter is 100% open source and costs nothing. Google Flutter is an open-source framework, which means it is completely free to use for app development. There are no direct costs associated with using Flutter itself. Developers can freely download and use Flutter's SDK, tools, and libraries without any licensing fees.\"}),/*#__PURE__*/e(\"p\",{children:\"However, while Flutter is free, there might be other costs related to app development. These costs could include:\"}),/*#__PURE__*/t(\"ul\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Developer Resources: The cost of hiring developers or allocating internal resources to work on the Flutter project.\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Testing and Quality Assurance: Expenses for testing the app on various devices and platforms to ensure its stability and compatibility.\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Third-Party Services: If the app requires integration with third-party services, there might be associated costs for using those services.\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Deployment: Publishing the app on app stores like Google Play Store and Apple App Store may involve one-time or recurring fees.\"})})]}),/*#__PURE__*/e(\"p\",{children:\"On the bright side, the Flutter community offers a wide range of free resources, open-source packages, and widgets, which can significantly reduce development costs. Additionally, Flutter's hot-reload feature speeds up development, potentially saving time and money during the development process.\"}),/*#__PURE__*/e(\"p\",{children:\"Overall, Flutter's cost-effectiveness, coupled with its extensive community support, makes it an attractive choice for building high-quality, cross-platform apps without substantial financial investments.\"}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"h2\",{children:\"Is Flutter for iOS or Android?\"}),/*#__PURE__*/e(\"p\",{children:\"Flutter works for both iOS or Android. It is a versatile and powerful cross-platform framework that supports both iOS and Android app development. Unlike traditional native development, Flutter allows developers to write a single codebase that can be used to build apps for multiple platforms.\"}),/*#__PURE__*/e(\"p\",{children:'By utilizing the Dart programming language and Flutter\\'s comprehensive set of widgets, developers can create visually appealing and performant apps that run seamlessly on both iOS and Android devices. The \"write once, run anywhere\" strategy of Flutter drastically lowers programming time and effort.'}),/*#__PURE__*/e(\"p\",{children:\"One of the key advantages of Flutter is its ability to achieve code sharing across platforms. This means that a substantial portion of the code can be reused for both iOS and Android versions of the app, resulting in faster development cycles and easier maintenance.\"}),/*#__PURE__*/e(\"p\",{children:\"Moreover, Flutter provides a rich set of platform-specific widgets and APIs, allowing developers to maintain a native look and feel for each platform while sharing business logic and UI elements. This combination of code reusability and native-like performance makes Flutter an ideal choice for developers aiming to create high-quality apps efficiently and cost-effectively.\"})]});export const richText5=/*#__PURE__*/t(a.Fragment,{children:[/*#__PURE__*/e(\"p\",{children:\"In the fast-paced world of mobile app development, creating a seamless user experience across various devices is essential. One critical aspect that significantly impacts user experience is font sizing. Flutter, with its flexible and powerful framework, offers several methods to ensure that fonts adapt gracefully to different screen sizes, providing a visually pleasing and user-friendly interface.\"}),/*#__PURE__*/e(\"p\",{children:\"In this blog, we will delve into the world of responsive font sizing in Flutter and explore three effective methods to adjust font size based on screen size. By the end of this article, you'll be equipped with the knowledge to implement the most suitable approach for your app, guaranteeing a delightful experience for every user, no matter the device they use. Let's dive in and unlock the secrets of perfecting font sizing in Flutter!\"}),/*#__PURE__*/e(\"h2\",{children:\"Understanding the Need for Responsive Font Sizing\"}),/*#__PURE__*/e(\"p\",{children:\"In the dynamic world of mobile app development, creating a seamless user experience is paramount to success. One crucial aspect that significantly impacts user satisfaction is font sizing. Responsive font sizing, also known as auto-sizing text, is a technique that ensures fonts adapt fluidly to various screen sizes, providing optimal readability and visual appeal for all users.\"}),/*#__PURE__*/e(\"p\",{children:\"Challenges of Fixed Font Sizes:\"}),/*#__PURE__*/t(\"ul\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Inconsistency\"}),\": Using fixed font sizes can lead to inconsistent text presentation across devices, causing readability issues and a disjointed user experience.\"]})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Limited Adaptability\"}),\": Fixed font sizes may appear too small on larger screens, making the text difficult to read, or too large on smaller screens, resulting in text overflow.\"]})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Accessibility Concerns\"}),\": A lack of responsive font sizing can hinder accessibility for users with visual impairments, as they may struggle to read fixed-size fonts.\"]})})]}),/*#__PURE__*/e(\"p\",{children:\"Responsive Font Sizing: The Solution\"}),/*#__PURE__*/t(\"ul\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Enhanced Readability\"}),\": By implementing responsive font sizing, text adjusts intelligently based on screen dimensions, ensuring optimal readability on every device.\"]})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Consistent User Experience\"}),\": With auto-sizing text, you can deliver a cohesive user experience, creating harmony across various screen sizes and resolutions.\"]})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Improved Accessibility\"}),\": Responsive fonts accommodate users with visual impairments, promoting inclusivity and accessibility within your app.\"]})})]}),/*#__PURE__*/e(\"p\",{children:\"In the following sections, we will explore three effective methods for achieving responsive font sizing in Flutter. Let's delve into these techniques and unlock the power of flexible font sizing for your mobile app.\"})]});export const richText6=/*#__PURE__*/t(a.Fragment,{children:[/*#__PURE__*/e(\"h2\",{children:\"Method 1 - Using the AutoSizeText Widget\"}),/*#__PURE__*/e(\"img\",{alt:\"\",className:\"framer-image\",height:\"378\",src:\"https://framerusercontent.com/images/rnvAIXc9wkfylbhfkGCDCmO5Kc.gif\",srcSet:\"https://framerusercontent.com/images/rnvAIXc9wkfylbhfkGCDCmO5Kc.gif?scale-down-to=512 512w,https://framerusercontent.com/images/rnvAIXc9wkfylbhfkGCDCmO5Kc.gif?scale-down-to=1024 1024w,https://framerusercontent.com/images/rnvAIXc9wkfylbhfkGCDCmO5Kc.gif?scale-down-to=2048 2048w,https://framerusercontent.com/images/rnvAIXc9wkfylbhfkGCDCmO5Kc.gif 2688w\",style:{aspectRatio:\"2688 / 756\"},width:\"1344\"}),/*#__PURE__*/t(\"p\",{children:[\"Flutter offers a convenient solution for responsive font sizing through the `\",/*#__PURE__*/e(\"strong\",{children:\"AutoSizeText\"}),\"` widget. This built-in widget automatically adjusts the font size of text based on the available space within its parent widget. It allows developers to set a range of font sizes, and the `\",/*#__PURE__*/e(\"strong\",{children:\"AutoSizeText\"}),\"` widget intelligently calculates the ideal font size to fit the available space, ensuring readability on different screen sizes.\"]}),/*#__PURE__*/e(\"p\",{children:\"Code Example:\"}),/*#__PURE__*/e(\"div\",{className:\"framer-text-module\",style:{height:\"auto\",width:\"100%\"},children:/*#__PURE__*/e(i,{componentIdentifier:\"module:pVk4QsoHxASnVtUBp6jr/TbhpORLndv1iOkZzyo83/CodeBlock.js:default\",children:t=>/*#__PURE__*/e(l,{...t,code:\"AutoSizeText(\\n  'Sample text',\\n  minFontSize: 12,\\n  maxFontSize: 20,\\n  overflow: TextOverflow.ellipsis,\\n)\",language:\"JSX\"})})}),/*#__PURE__*/e(\"h3\",{children:\"Advantages of Using AutoSizeText:\"}),/*#__PURE__*/t(\"ul\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Dynamic Sizing:\"}),\" The `AutoSizeText` widget adapts the font size dynamically, eliminating the need for manual adjustments for each screen size.\"]})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Readability\"}),\": By automatically fitting the text within the available space, it ensures that the content remains easily readable on any device.\"]})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Space Optimization\"}),\": AutoSizeText optimizes the space, preventing text overflow or excessive white spaces, and creating a clean and professional appearance.\"]})})]}),/*#__PURE__*/e(\"h3\",{children:\"Ideal Scenarios for AutoSizeText:\"}),/*#__PURE__*/t(\"ul\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Text-Heavy Layouts\"}),\": When dealing with content-rich screens containing various text elements, `AutoSizeText` ensures a harmonious display of all text components.\"]})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Multi-Screen Support\"}),\": In scenarios where your app needs to run on multiple devices with varying screen dimensions, this widget simplifies the font-sizing process.\"]})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Localization\"}),\": For apps with multilingual support, `AutoSizeText` handles different text lengths gracefully, accommodating translations without layout disruptions.\"]})})]}),/*#__PURE__*/e(\"p\",{children:\"Leveraging the `AutoSizeText` widget empowers developers to create adaptive and user-friendly interfaces, enabling a smooth and consistent user experience across devices. Next, let's explore another method for achieving responsive font sizing in Flutter.\"})]});export const richText7=/*#__PURE__*/t(a.Fragment,{children:[/*#__PURE__*/e(\"h2\",{children:\"Method 2 - Using the FittedBox Widget\"}),/*#__PURE__*/t(\"p\",{children:[\"The `\",/*#__PURE__*/e(\"strong\",{children:\"FittedBox\"}),\"` widget in Flutter is another valuable tool for achieving responsive font sizing. It automatically scales the text to fit within the available space without exceeding the bounds of its parent widget. By wrapping the text widget with `\",/*#__PURE__*/e(\"strong\",{children:\"FittedBox\"}),\"`, the text will dynamically resize, maintaining its aspect ratio and preventing overflow or text truncation.\"]}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"em\",{children:/*#__PURE__*/e(\"strong\",{children:\"Code Example:\"})})}),/*#__PURE__*/e(\"div\",{className:\"framer-text-module\",style:{height:\"auto\",width:\"100%\"},children:/*#__PURE__*/e(i,{componentIdentifier:\"module:pVk4QsoHxASnVtUBp6jr/TbhpORLndv1iOkZzyo83/CodeBlock.js:default\",children:t=>/*#__PURE__*/e(l,{...t,code:\"FittedBox(\\n  fit: BoxFit.scaleDown,\\n  child: Text(\\n    'This is some text that will resize based on the screen size.',\\n    style: TextStyle(fontSize: 16),\\n  ),\\n)\",language:\"JSX\"})})}),/*#__PURE__*/e(\"h3\",{children:\"Advantages of Using FittedBox:\"}),/*#__PURE__*/t(\"ul\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Specific Font Size\"}),\": Unlike the `AutoSizeText` widget, which automatically determines the font size, `FittedBox` allows developers to set a specific font size for the text while ensuring it scales appropriately.\"]})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Responsive Text\"}),\": The `FittedBox` widget scales the text proportionally to fit the available space, making it a reliable choice for maintaining the text's legibility across different screen sizes.\"]})})]}),/*#__PURE__*/e(\"h3\",{children:\"Use Cases for FittedBox:\"}),/*#__PURE__*/t(\"ul\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Fixed Font Size\"}),\": When developers prefer to have a constant font size, `FittedBox` ensures that the text adapts smoothly to various screen sizes, providing a consistent user experience.\"]})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Text with Background\"}),\": If the text needs to be displayed on top of a background image or a complex UI component, using `FittedBox` guarantees that the text remains within the desired boundaries without overlapping or becoming illegible.\"]})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Buttons and Icons\"}),\": In scenarios where text is used in conjunction with buttons or icons, `FittedBox` ensures that the text scales appropriately, maintaining visual harmony within the overall design.\"]})})]}),/*#__PURE__*/e(\"p\",{children:\"By incorporating the `FittedBox` widget into your Flutter app, you can easily manage the font size while preserving the responsiveness of the text. Now that we have explored two effective methods, let's delve into the third approach for responsive font sizing using the `LayoutBuilder` widget.\"})]});export const richText8=/*#__PURE__*/t(a.Fragment,{children:[/*#__PURE__*/e(\"h2\",{children:\"Method 3 - Utilizing the textScaleFactor Property\"}),/*#__PURE__*/t(\"p\",{children:[\"In Flutter, the `\",/*#__PURE__*/e(\"strong\",{children:\"textScaleFactor\"}),\"` property is a powerful tool for achieving a consistent font size across the entire app. Unlike the previous two methods, this property is applied globally and automatically scales the font size of all text widgets based on the user's device settings. Users can adjust the text size from their device settings, and the `\",/*#__PURE__*/e(\"strong\",{children:\"textScaleFactor\"}),\"` property will dynamically adapt the font size accordingly.\"]}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"em\",{children:/*#__PURE__*/e(\"strong\",{children:\"Code Example:\"})})}),/*#__PURE__*/e(\"div\",{className:\"framer-text-module\",style:{height:\"auto\",width:\"100%\"},children:/*#__PURE__*/e(i,{componentIdentifier:\"module:pVk4QsoHxASnVtUBp6jr/TbhpORLndv1iOkZzyo83/CodeBlock.js:default\",children:t=>/*#__PURE__*/e(l,{...t,code:\" return MaterialApp(\\n      textScaleFactor: 1.2,\\n      // Other app configurations and routes\",language:\"JSX\"})})}),/*#__PURE__*/e(\"h3\",{children:\"Benefits of Using textScaleFactor:\"}),/*#__PURE__*/t(\"ul\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Consistent User Experience\"}),\": By using the `textScaleFactor` property, developers ensure that all text within the app adheres to the user's preferred text size. This promotes inclusivity and provides a seamless experience for users with different visual needs.\"]})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Easy Implementation\"}),\": Unlike the previous methods, which require wrapping specific text widgets, setting the `textScaleFactor` property in the `MaterialApp` widget automatically applies the scaling to all text elements throughout the app.\"]})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Accessibility Support\"}),\": Inclusivity is a critical aspect of app development, and by leveraging the `textScaleFactor`, developers can cater to users with various vision impairments, making their app more accessible.\"]})})]}),/*#__PURE__*/e(\"h3\",{children:\"When to Use textScaleFactor:\"}),/*#__PURE__*/t(\"ul\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Consistent Text Size\"}),\": If your app's design requires all text elements to have the same font size, the `textScaleFactor` is an ideal choice for maintaining uniformity.\"]})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Accessibility-Focused Apps\"}),\": Apps that prioritize accessibility and aim to accommodate a wide range of users can greatly benefit from the automatic text scaling provided by the `textScaleFactor`.\"]})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"User-Friendly Interface\"}),\": When developing apps that prioritize user experience and user preferences, incorporating `textScaleFactor` allows users to customize the text size to their comfort.\"]})})]}),/*#__PURE__*/e(\"p\",{children:\"By leveraging the `textScaleFactor` property, developers can effortlessly create apps with consistent and adaptable font sizing, ensuring that all users have a delightful experience with their Flutter application. With all three methods explored, let's proceed to the conclusion, summarizing the importance of responsive font sizing and how these techniques can enhance your Flutter app's user interface.\"})]});export const richText9=/*#__PURE__*/t(a.Fragment,{children:[/*#__PURE__*/e(\"h2\",{children:\"Choosing the right method for your app to maintain Responsiveness\"}),/*#__PURE__*/e(\"p\",{children:\"In summary, we have explored three effective methods for achieving responsive font sizing in Flutter:\"}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"strong\",{children:\"1. AutoSizeText Widget:\"})}),/*#__PURE__*/t(\"ul\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Automatically sizes text based on available space.\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Ideal for creating text that dynamically adjusts to different screen sizes.\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Ensures readability and consistency across devices.\"})})]}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"strong\",{children:\"2. FittedBox Widget:\"})}),/*#__PURE__*/t(\"ul\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Scales text to fit available space without exceeding container bounds.\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Perfect for maintaining a specific font size while making text responsive.\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Useful in scenarios where precise control over font size is necessary.\"})})]}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"strong\",{children:\"3. textScaleFactor Property:\"})}),/*#__PURE__*/t(\"ul\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Globally scales font size based on user device settings.\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Ensures a consistent user experience across the entire app.\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Enhances accessibility and inclusivity.\"})})]}),/*#__PURE__*/e(\"h4\",{children:\"Factors Influencing Method Selection:\"}),/*#__PURE__*/t(\"ul\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"App Design\"}),\": Consider the app's overall design and whether a consistent or dynamic font size is more suitable for the user interface.\"]})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"User Preferences\"}),\": Prioritize user preferences and accessibility by using the textScaleFactor property to adapt to users' font size choices.\"]})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Readability\"}),\": Choose the method that ensures optimal readability across various screen sizes and resolutions.\"]})})]}),/*#__PURE__*/e(\"h4\",{children:\"Importance of Testing and User Feedback:\"}),/*#__PURE__*/t(\"ul\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Test the chosen method on different devices to verify its effectiveness and responsiveness.\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Gather user feedback to identify any readability issues or user preferences regarding font size.\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Adapt the method based on user feedback to continually improve the app's font sizing and user experience.\"})})]})]});export const richText10=/*#__PURE__*/t(a.Fragment,{children:[/*#__PURE__*/e(\"h3\",{children:\"Adjust Flutter Font Size\"}),/*#__PURE__*/e(\"h4\",{children:\"Q: How do I auto-resize text in Flutter?\"}),/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"A:\"}),\" You can use the \",/*#__PURE__*/e(\"code\",{children:\"AutoSizeText\"}),\" widget in Flutter to automatically resize text based on available space. Here's a basic example:\"]}),/*#__PURE__*/e(\"div\",{className:\"framer-text-module\",style:{height:\"auto\",width:\"100%\"},children:/*#__PURE__*/e(i,{componentIdentifier:\"module:pVk4QsoHxASnVtUBp6jr/TbhpORLndv1iOkZzyo83/CodeBlock.js:default\",children:t=>/*#__PURE__*/e(l,{...t,code:\"AutoSizeText(\\n  'Sample text',\\n  minFontSize: 12,\\n  maxFontSize: 20,\\n  overflow: TextOverflow.ellipsis,\\n)\",language:\"JSX\"})})}),/*#__PURE__*/e(\"h4\",{children:\"Q: How do you make text smaller in Flutter?\"}),/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"A:\"}),\" One way to make text smaller in Flutter is by adjusting the font size property of the \",/*#__PURE__*/e(\"code\",{children:\"Text\"}),\" widget. Alternatively, you can use the \",/*#__PURE__*/e(\"code\",{children:\"AutoSizeText\"}),\" widget to automatically resize text based on available space.\"]}),/*#__PURE__*/e(\"h4\",{children:\"Q: How do I make text font size responsive in Flutter?\"}),/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"A:\"}),\" To make text font size responsive in Flutter, you can use techniques such as the \",/*#__PURE__*/e(\"code\",{children:\"AutoSizeText\"}),\" widget, \",/*#__PURE__*/e(\"code\",{children:\"FittedBox\"}),\" widget, or setting the \",/*#__PURE__*/e(\"code\",{children:\"textScaleFactor\"}),\" property in the \",/*#__PURE__*/e(\"code\",{children:\"MaterialApp\"}),\" widget.\"]}),/*#__PURE__*/e(\"h4\",{children:\"Q: What is the text scale factor in Flutter?\"}),/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"A:\"}),\" The text scale factor in Flutter is a property that globally adjusts the font size of all text elements within the app based on the specified factor. It is typically set in the \",/*#__PURE__*/e(\"code\",{children:\"MaterialApp\"}),\" widget.\"]}),/*#__PURE__*/e(\"h3\",{children:\"Flutter Change Font Size Dynamically\"}),/*#__PURE__*/e(\"h4\",{children:\"Q: How do I change font size dynamically in Flutter?\"}),/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"A:\"}),\" You can change font size dynamically in Flutter by updating the font-size property of the \",/*#__PURE__*/e(\"code\",{children:\"Text\"}),\" widget or by using widgets like \",/*#__PURE__*/e(\"code\",{children:\"AutoSizeText\"}),\" or \",/*#__PURE__*/e(\"code\",{children:\"FittedBox\"}),\" to adjust font size based on available space.\"]}),/*#__PURE__*/e(\"h4\",{children:\"Q: How do you use AutoSizeText in Flutter?\"}),/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"A:\"}),\" To use \",/*#__PURE__*/e(\"code\",{children:\"AutoSizeText\"}),\" in Flutter, simply wrap your text within the \",/*#__PURE__*/e(\"code\",{children:\"AutoSizeText\"}),\" widget and specify the desired range for font sizes using the \",/*#__PURE__*/e(\"code\",{children:\"minFontSize\"}),\" and \",/*#__PURE__*/e(\"code\",{children:\"maxFontSize\"}),\" parameters.\"]}),/*#__PURE__*/e(\"h4\",{children:\"Q: What does the FittedBox widget do in Flutter?\"}),/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"A:\"}),\" The \",/*#__PURE__*/e(\"code\",{children:\"FittedBox\"}),\" widget in Flutter scales its child widget to fit within its constraints without exceeding its original size. It's commonly used to adjust text size dynamically based on available space.\"]}),/*#__PURE__*/e(\"h4\",{children:\"Q: What is the minimum font size for the screen?\"}),/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"A:\"}),\" The minimum font size for the screen can vary depending on factors such as screen resolution and user preferences. However, you can specify a minimum font size using the \",/*#__PURE__*/e(\"code\",{children:\"minFontSize\"}),\" parameter in the \",/*#__PURE__*/e(\"code\",{children:\"AutoSizeText\"}),\" widget to ensure readability.\"]})]});export const richText11=/*#__PURE__*/t(a.Fragment,{children:[/*#__PURE__*/e(\"h2\",{children:\"Conclusion on maintaining responsiveness in Flutter apps\"}),/*#__PURE__*/e(\"p\",{children:\"In conclusion, responsive font sizing is a crucial aspect of creating a user-friendly and visually appealing Flutter app. By leveraging the AutoSizeText widget, FittedBox widget, or textScaleFactor property, developers can ensure that text elements dynamically adjust to different screen sizes, providing an enhanced user experience across various devices.\"}),/*#__PURE__*/e(\"p\",{children:\"We encourage all Flutter developers to implement these techniques in their apps to achieve a consistent and adaptive font sizing approach. Flutter's versatility in handling responsive design allows developers to create mobile applications that not only look visually appealing but also cater to the diverse preferences and needs of users.\"}),/*#__PURE__*/e(\"p\",{children:\"With these powerful methods at your disposal, you can confidently develop Flutter apps that deliver exceptional user experiences on every device, making your app stand out in today's competitive mobile landscape. Happy coding and building!\"})]});\nexport const __FramerMetadata__ = {\"exports\":{\"richText8\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"richText5\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"richText1\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"richText9\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"richText7\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"richText6\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"richText4\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"richText2\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"richText3\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"richText11\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"richText\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"richText10\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}"],
  "mappings": "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",
  "names": ["richText", "u", "x", "p", "Link", "motion", "richText1", "ComponentPresetsConsumer", "t", "CodeBlock_default", "richText2", "richText3", "richText4", "richText5", "richText6", "richText7", "richText8", "richText9", "richText10", "richText11", "__FramerMetadata__"]
}
