The co-op bookstore for avid readers
Book Cover for: Flutter Design Patterns and Best Practices: Build scalable, maintainable, and production-ready apps using effective architectural principles, Daria Orlova

Flutter Design Patterns and Best Practices: Build scalable, maintainable, and production-ready apps using effective architectural principles

Daria Orlova

Elevate your mobile app development skills using reusable software development methodologies and code design principles, leveraging proven strategies from industry experts who have fostered thriving developer communities

Key Features:

- Cover code structure, app architecture, testing, performance optimization, error handling, and more

- Get hands on with code examples and exercises to apply design patterns and best practices in real-world scenarios

- Leverage the intricacies of the Flutter framework to build better apps for your clients

- Purchase of the print or Kindle book includes a free PDF eBook

Book Description:

Flutter's rapid adoption by developers and businesses alike has led to an increased demand for skilled developers who can deliver high-quality Flutter apps. Flutter can be a great tool to develop apps for yourself, but you don't always need to consider things like scalability or business goals as a hobbyist. When you build apps for a business, however, you must use specific tools to help the business achieve its goals. This requires solutions to be fast, reliable, and delivered on time. This book will help you meet these business requirements.

You'll begin by learning how to build responsive UIs that work on all devices. Next, you'll delve into state management, understanding how to select the appropriate solution and gaining hands-on experience with InheritedWidget, ChangeNotifier, and BLoC. Later, you'll move on to high-level practices such as layered architecture, dependency injection, and repository patterns. The book will also show you how to develop features of any complexity, such as multithreading and native layer implementations. You'll also learn how to ensure the quality of your solutions by prioritizing testing.

By the end of this book, you'll be able to deliver well-architected Flutter projects that are stable, scalable, and maintainable.

What You Will Learn:

- Translate business requirements into technical solutions

- Understand when and where specific design patterns would be applicable

- Separate concerns into multiple layers with scoped responsibility

- Build reusable architecture that can be applied to any type of app and supported by various teams

- Debug and solve problems before they reach the user

- Prevent production bugs by prioritizing testing during the development cycle

- Design encapsulated features that are resilient to business requirement changes and software updates

Who this book is for:

If you're a mobile developer who has already realized the potential of Flutter as a tool to solve business problems and are looking forward to leveling up your app-building skills, then this book is for you. Freelancers, agencies, or individuals who have already developed basic applications with Flutter and want to level up their skills to build production-ready apps at scale will find this book helpful. Basic Flutter knowledge and experience in building apps will be beneficial. Moreover, if you're transitioning from another mobile framework, this book will make the transition easier.

Table of Contents

- Best Practices for Building UIs with Flutter

- Responsive UIs for All Devices

- Vanilla State Management

- State Management Patterns and Their Implementations

- Creating Consistent Navigation

- The Responsible Repository Pattern

- Implementing the Inversion of Control Principle

- Ensuring Scalability and Maintainability with Layered Architecture

- Mastering Concurrent Programming in Dart

- A Bridge to the Native Side of Development

- Unit Tests, Widget Tests, and Mocking Dependencies

- Static Code Analysis and Debugging Tools

Book Details

  • Publisher: Packt Publishing
  • Publish Date: Sep 27th, 2024
  • Pages: 362
  • Language: English
  • Edition: undefined - undefined
  • Dimensions: 9.25in - 7.50in - 0.75in - 1.37lb
  • EAN: 9781801072649
  • Categories: Programming - Mobile DevicesLanguages - JavaProgramming - Object Oriented

About the Author

Orlova, Daria: - "Daria Orlova is a mobile app specialist, who started with native Android in 2015 and discovered Flutter in 2019. She is the co-founder of BBapps, creating "apps that care for you and the planet." Previously, at Chili Labs, the top mobile agency in the Baltics, together with the team, she delivered 50+ projects, winning awards including RedDot and W3. Daria is an active community member - a Google Developer Expert (GDE) in Flutter and Dart, Flutterista, and WTM ambassador, mentor, technical writer, and public speaker who is passionate about quality tech education. She holds a B.Sc. in computer science."
Kadah, Esra: - Esra Kadah is a senior app developer specializing in Flutter, with a passion for integrating programming, UI/UX design, and psychology. She enjoys building and contributing to thriving communities. She is a co-organizer of Flutteristas, Flutter Berlin, and CMX Istanbul, and serves as a Women Techmakers Ambassador. She has delivered over 60 talks, organized more than 150 events, and hosted 40+ streams, collaborating with Google Developer Groups, Google Developer Student Clubs, the Flutter community, Flutteristas, and Women Techmakers.
Blasco, Jaime: - Jaime Blasco is a seasoned Flutter developer with a deep-rooted passion for crafting exceptional mobile experiences. As a Google Developer Expert (GDE) in Flutter, he possesses an in-depth understanding of the framework and its capabilities. His active involvement in the Flutter community, notably as a co-leader of the Spanish Flutter community, underscores his commitment to knowledge sharing and collaboration. He currently develops the Hypervolt app, a Flutter-based solution that seamlessly connects users to EV chargers. Jaime ensures smooth user interactions and efficient hardware communication, delivering a reliable charging experience.