
Flutter Engineering
Description
Book Introduction
From core principles to development paradigms and design patterns
An all-in-one guide to developing practical skills
Flutter is an open-source framework developed by Google that allows you to develop applications for multiple platforms, including Android, iOS, web, and desktop, with a single codebase.
Based on the Dart language, it can implement near-native performance, which has the advantage of increasing development productivity and quickly producing high-quality results.
However, when developing applications with Flutter, you face various issues beyond simple implementation, such as architecture, quality control, and security.
To address these practical concerns, this book covers a wide range of topics, from Flutter's fundamental principles to architectural styles, design patterns, state management, and concurrency.
Furthermore, it introduces advanced topics like responsive and adaptive UI, internationalization, themes, and shaders, along with the engineering perspectives needed to grow into a senior developer, helping you apply them immediately in your work.
We've carefully reviewed concepts covered in official documentation and designed them to help you develop practical problem-solving skills through a variety of examples and case studies.
This book goes beyond simple Flutter usage to provide software engineering insights for building robust and scalable applications.
An all-in-one guide to developing practical skills
Flutter is an open-source framework developed by Google that allows you to develop applications for multiple platforms, including Android, iOS, web, and desktop, with a single codebase.
Based on the Dart language, it can implement near-native performance, which has the advantage of increasing development productivity and quickly producing high-quality results.
However, when developing applications with Flutter, you face various issues beyond simple implementation, such as architecture, quality control, and security.
To address these practical concerns, this book covers a wide range of topics, from Flutter's fundamental principles to architectural styles, design patterns, state management, and concurrency.
Furthermore, it introduces advanced topics like responsive and adaptive UI, internationalization, themes, and shaders, along with the engineering perspectives needed to grow into a senior developer, helping you apply them immediately in your work.
We've carefully reviewed concepts covered in official documentation and designed them to help you develop practical problem-solving skills through a variety of examples and case studies.
This book goes beyond simple Flutter usage to provide software engineering insights for building robust and scalable applications.
- You can preview some of the book's contents.
Preview
index
[PART 1 Flutter Engineering Fundamentals]
CHAPTER 1: Core Concepts of Flutter Engineering
_1.1 Software Engineering in Flutter
_1.2 Uncovering the Core Principles
_1.3 Flutter Development Lifecycle
_1.4 Flutter Engineering vs. Programming
_1.5 Flutter's Position in Technological Evolution
_1.6 Conclusion
CHAPTER 2 Flutter Architecture and Engineering Overview
_2.1 The Importance of Flutter's Internal Structure
_2.2 Flutter's Reactive and Declarative Features
_2.3 Flutter's Motto
_2.4 Key Components and Frameworks
_2.5 Graphics, Rendering, and Visualization
_2.6 Exploring the Life Cycle of Widgets and Applications
_2.7 Managing Constraints in Flutter UI
_2.8 The Importance and Usage of Keys in Flutter
_2.9 Conclusion
CHAPTER 3 Integrating Flutter with Native Platforms
_3.1 Platform Channel
_3.2 Dart FFI
_3.3 FFIgen
_3.4 JNIgen
_3.5 Conclusion
CHAPTER 4: Applying Engineering Principles to Flutter
_4.1 Object-Oriented Programming Analysis
_4.2 Applying Classic Software Principles
_4.3 Conclusion
CHAPTER 5 Flutter Design Patterns
_5.1 The Role of Design Patterns
_5.2 Generative Patterns
_5.3 Structural Patterns
_5.4 Understanding the Role of Behavioral Patterns
_5.5 Conclusion
[PART 2 Architecture]
CHAPTER 6: Introduction to Architecture
_6.1 Key Roles in Design Decisions
_6.2 Variables that influence software design choices
_6.3 Understanding the Architecture Ecosystem
_6.4 Developing Design Thinking
_6.5 Iterative Design
_6.6 Balancing Simplicity and Complexity
_6.7 Conclusion
CHAPTER 7: INTRODUCING ARCHITECTURAL STYLES
_7.1 Understanding Architectural Styles
_7.2 Hierarchical Style
_7.3 Event-driven architecture
_7.4 Microkernel (Plugin) Architecture
_7.5 Other architectural approaches and paradigms
_7.6 Conclusion
CHAPTER 8 UI Architecture Patterns
_8.1 Background of UI Architecture
_8.2 Notable Flutter Architectures
_8.3 Architectures other than the Flutter standard
_8.4 Clean Architecture
_8.5 Considering Opportunity Costs
_8.6 Customizing the Flutter Architecture
_8.7 Conclusion
CHAPTER 9 Concurrency and Parallelism
_9.1 Understanding Concurrency and Parallelism
_9.2 The Importance of Efficient Work Processing
_9.3 Flutter's Single UI Thread Principle
_9.4 The Three Musketeers of Asynchronous Programming
_9.5 Managing Asynchronous Data Flow
_9.6 Extending the scope with isolate
_9.7 Conclusion
CHAPTER 10 Flutter's Offline Capabilities
_10.1 Advantages and Challenges of Offline Response
_10.2 Offline-first architecture
_10.3 Monitoring and handling connection status changes
_10.4 Ensuring data integrity during background synchronization
_10.5 Caching Patterns
_10.6 Conclusion
CHAPTER 11 STATE MANAGEMENT
_11.1 Understanding Application Status
_11.2 Local and Global State: Effective Scoping Methods
_11.3 Flutter's Built-in State Management Approach
_11.4 Choosing the Best Solution
_11.5 Flutter Flexibility: Replacement and Iteration
_11.6 Conclusion
CHAPTER 12 Dependency Injection in Flutter
_12.1 Principles of Dependency Injection
_12.2 Benefits of Separate Code
_12.3 Implementing Dependency Injection in Flutter
_12.4 Exploring Flutter's Dependency Injection Package
_12.5 Conclusion
[PART 3 PROCESS]
CHAPTER 13 RULES AND STYLE GUIDELINES
_13.1 Basis of the Rules
_13.2 Defining Meaningful Guidelines
_13.3 Ensuring Compliance with Rules
_13.4 Ensuring Consistency with Automation
_13.5 Linter and dartfmt
_13.6 Conclusion
CHAPTER 14 DEVELOPMENT COLLABORATION
_14.1 Version Control Essentials
_14.2 Introducing CI/CD to Flutter Development
_14.3 Effective Code Reviews
_14.4 Conclusion
CHAPTER 15 THE Aesthetics of Documentation
_15.1 The Spectrum of Software Development Documentation
_15.2 Flutter's Documentation Philosophy
_15.3 Living Documents
_15.4 The Dangers of Outdated Documents
_15.5 Conclusion
CHAPTER 16 Testing Flutter
_16.1 The Importance of Testing
_16.2 Understanding Flutter Testing Steps
_16.3 Core Principles of Unit Testing and Widget Testing
_16.4 Test Double
_16.5 Test Doubles in Flutter
_16.6 The World of Integration Testing and Golden Testing
_16.7 Conclusion
CHAPTER 17 Environment and Flavor
_17.1 The Need for Multiple Environments and Flavors
_17.2 Seamless CI/CD Integration
_17.3 Conclusion
[PART 4 ETHICAL ENGINEERING]
CHAPTER 18 Flutter's Security Priorities
_18.1 Basic Principles of Security
_18.2 CIA Triangle: Confidentiality, Integrity, Availability
_18.3 OWASP Top 10 Compliance
_18.4 Static and Dynamic Analysis
_18.5 Flutter Security Best Practices
_18.5 Conclusion
CHAPTER 19 Encryption in Flutter
_19.1 Differences in Encryption Methods
_19.2 Hashing Basics
_19.3 Ensuring Data Integrity through Digital Signatures
_19.4 Conclusion
CHAPTER 20 USER PRIVACY
_20.1 Understanding Key Privacy Terms
_20.2 Embracing a Privacy Design Philosophy
_20.3 User Privacy Best Practices
_20.4 International Data Protection Regulations
_20.5 Conclusion
CHAPTER 21 ENSURING ACCESSIBILITY FOR ALL
_21.1 Recognizing Various Disabilities
_21.2 The Clear Benefits of Inclusive Application Design
_21.3 Four Elements of Accessibility
_21.4 Tools and Widgets to Improve Accessibility
_21.5 Flutter Accessibility Diagnostics
_21.6 Conclusion
[PART 5: Advanced UI Development]
CHAPTER 22 Building an Adaptive UI
_22.1 Platform-Specific UI Considerations
_22.2 Leveraging Unique Platform Features
_22.3 Conclusion
CHAPTER 23 Responsive UI Techniques
_23.1 Principles of Responsive Design
_23.2 Approaches to Reactivity in Flutter
_23.3 UI adjustment according to screen orientation
_23.4 Conclusion
CHAPTER 24 i18n and l10n
_24.1 Key Differences Between i18n and l10n
_24.2 Implementing Internationalization in Flutter
_24.3 UI Design for RTL Language Environments
_24.4 Conclusion
CHAPTER 25: Using Themes in Flutter
_25.1 Flutter Theme
_25.2 Custom Theme Techniques
_25.3 Managing Dark and Light Themes
_25.4 Steps to Create a Material Application Theme
_25.5 Theme Creation Tool
_25.6 Conclusion
CHAPTER 26 Custom Painters and Shaders
_26.1 Custom Painter's Skills
_26.2 Shader Exploration
_26.3 Using Shaders in Flutter
_26.4 Conclusion
CHAPTER 1: Core Concepts of Flutter Engineering
_1.1 Software Engineering in Flutter
_1.2 Uncovering the Core Principles
_1.3 Flutter Development Lifecycle
_1.4 Flutter Engineering vs. Programming
_1.5 Flutter's Position in Technological Evolution
_1.6 Conclusion
CHAPTER 2 Flutter Architecture and Engineering Overview
_2.1 The Importance of Flutter's Internal Structure
_2.2 Flutter's Reactive and Declarative Features
_2.3 Flutter's Motto
_2.4 Key Components and Frameworks
_2.5 Graphics, Rendering, and Visualization
_2.6 Exploring the Life Cycle of Widgets and Applications
_2.7 Managing Constraints in Flutter UI
_2.8 The Importance and Usage of Keys in Flutter
_2.9 Conclusion
CHAPTER 3 Integrating Flutter with Native Platforms
_3.1 Platform Channel
_3.2 Dart FFI
_3.3 FFIgen
_3.4 JNIgen
_3.5 Conclusion
CHAPTER 4: Applying Engineering Principles to Flutter
_4.1 Object-Oriented Programming Analysis
_4.2 Applying Classic Software Principles
_4.3 Conclusion
CHAPTER 5 Flutter Design Patterns
_5.1 The Role of Design Patterns
_5.2 Generative Patterns
_5.3 Structural Patterns
_5.4 Understanding the Role of Behavioral Patterns
_5.5 Conclusion
[PART 2 Architecture]
CHAPTER 6: Introduction to Architecture
_6.1 Key Roles in Design Decisions
_6.2 Variables that influence software design choices
_6.3 Understanding the Architecture Ecosystem
_6.4 Developing Design Thinking
_6.5 Iterative Design
_6.6 Balancing Simplicity and Complexity
_6.7 Conclusion
CHAPTER 7: INTRODUCING ARCHITECTURAL STYLES
_7.1 Understanding Architectural Styles
_7.2 Hierarchical Style
_7.3 Event-driven architecture
_7.4 Microkernel (Plugin) Architecture
_7.5 Other architectural approaches and paradigms
_7.6 Conclusion
CHAPTER 8 UI Architecture Patterns
_8.1 Background of UI Architecture
_8.2 Notable Flutter Architectures
_8.3 Architectures other than the Flutter standard
_8.4 Clean Architecture
_8.5 Considering Opportunity Costs
_8.6 Customizing the Flutter Architecture
_8.7 Conclusion
CHAPTER 9 Concurrency and Parallelism
_9.1 Understanding Concurrency and Parallelism
_9.2 The Importance of Efficient Work Processing
_9.3 Flutter's Single UI Thread Principle
_9.4 The Three Musketeers of Asynchronous Programming
_9.5 Managing Asynchronous Data Flow
_9.6 Extending the scope with isolate
_9.7 Conclusion
CHAPTER 10 Flutter's Offline Capabilities
_10.1 Advantages and Challenges of Offline Response
_10.2 Offline-first architecture
_10.3 Monitoring and handling connection status changes
_10.4 Ensuring data integrity during background synchronization
_10.5 Caching Patterns
_10.6 Conclusion
CHAPTER 11 STATE MANAGEMENT
_11.1 Understanding Application Status
_11.2 Local and Global State: Effective Scoping Methods
_11.3 Flutter's Built-in State Management Approach
_11.4 Choosing the Best Solution
_11.5 Flutter Flexibility: Replacement and Iteration
_11.6 Conclusion
CHAPTER 12 Dependency Injection in Flutter
_12.1 Principles of Dependency Injection
_12.2 Benefits of Separate Code
_12.3 Implementing Dependency Injection in Flutter
_12.4 Exploring Flutter's Dependency Injection Package
_12.5 Conclusion
[PART 3 PROCESS]
CHAPTER 13 RULES AND STYLE GUIDELINES
_13.1 Basis of the Rules
_13.2 Defining Meaningful Guidelines
_13.3 Ensuring Compliance with Rules
_13.4 Ensuring Consistency with Automation
_13.5 Linter and dartfmt
_13.6 Conclusion
CHAPTER 14 DEVELOPMENT COLLABORATION
_14.1 Version Control Essentials
_14.2 Introducing CI/CD to Flutter Development
_14.3 Effective Code Reviews
_14.4 Conclusion
CHAPTER 15 THE Aesthetics of Documentation
_15.1 The Spectrum of Software Development Documentation
_15.2 Flutter's Documentation Philosophy
_15.3 Living Documents
_15.4 The Dangers of Outdated Documents
_15.5 Conclusion
CHAPTER 16 Testing Flutter
_16.1 The Importance of Testing
_16.2 Understanding Flutter Testing Steps
_16.3 Core Principles of Unit Testing and Widget Testing
_16.4 Test Double
_16.5 Test Doubles in Flutter
_16.6 The World of Integration Testing and Golden Testing
_16.7 Conclusion
CHAPTER 17 Environment and Flavor
_17.1 The Need for Multiple Environments and Flavors
_17.2 Seamless CI/CD Integration
_17.3 Conclusion
[PART 4 ETHICAL ENGINEERING]
CHAPTER 18 Flutter's Security Priorities
_18.1 Basic Principles of Security
_18.2 CIA Triangle: Confidentiality, Integrity, Availability
_18.3 OWASP Top 10 Compliance
_18.4 Static and Dynamic Analysis
_18.5 Flutter Security Best Practices
_18.5 Conclusion
CHAPTER 19 Encryption in Flutter
_19.1 Differences in Encryption Methods
_19.2 Hashing Basics
_19.3 Ensuring Data Integrity through Digital Signatures
_19.4 Conclusion
CHAPTER 20 USER PRIVACY
_20.1 Understanding Key Privacy Terms
_20.2 Embracing a Privacy Design Philosophy
_20.3 User Privacy Best Practices
_20.4 International Data Protection Regulations
_20.5 Conclusion
CHAPTER 21 ENSURING ACCESSIBILITY FOR ALL
_21.1 Recognizing Various Disabilities
_21.2 The Clear Benefits of Inclusive Application Design
_21.3 Four Elements of Accessibility
_21.4 Tools and Widgets to Improve Accessibility
_21.5 Flutter Accessibility Diagnostics
_21.6 Conclusion
[PART 5: Advanced UI Development]
CHAPTER 22 Building an Adaptive UI
_22.1 Platform-Specific UI Considerations
_22.2 Leveraging Unique Platform Features
_22.3 Conclusion
CHAPTER 23 Responsive UI Techniques
_23.1 Principles of Responsive Design
_23.2 Approaches to Reactivity in Flutter
_23.3 UI adjustment according to screen orientation
_23.4 Conclusion
CHAPTER 24 i18n and l10n
_24.1 Key Differences Between i18n and l10n
_24.2 Implementing Internationalization in Flutter
_24.3 UI Design for RTL Language Environments
_24.4 Conclusion
CHAPTER 25: Using Themes in Flutter
_25.1 Flutter Theme
_25.2 Custom Theme Techniques
_25.3 Managing Dark and Light Themes
_25.4 Steps to Create a Material Application Theme
_25.5 Theme Creation Tool
_25.6 Conclusion
CHAPTER 26 Custom Painters and Shaders
_26.1 Custom Painter's Skills
_26.2 Shader Exploration
_26.3 Using Shaders in Flutter
_26.4 Conclusion
Detailed image

Publisher's Review
FLUTTER DEVELOPMENT IS FUN!
Beyond Simple Flutter Programming
This book explores Flutter from a software engineering perspective, rather than simply as a UI framework.
Starting with a solid foundation in widget architecture and platform integration, we expand to cover all areas of practical application, including architecture design, state management, concurrency, testing, and CI/CD.
It also covers ethical engineering topics like security and privacy, as well as advanced topics like responsive and adaptive UI, internationalization, and shaders, exploring the issues developers face on real-world projects in one book.
Flutter development is fun.
This book will serve as a solid guide for all Flutter developers who want to go beyond simply creating applications and build stable, high-quality software.
▷Structure of this book
Part 1: Flutter Engineering Fundamentals: This course introduces software engineering concepts and fundamental principles related to Flutter, and guides you through design patterns to build a solid foundation of knowledge.
Part 2 Architecture: Covers a wide range of styles and design patterns, core concepts such as concurrency and state management, and helps develop strategic thinking and decision-making skills.
Part 3 Process: We organize systematic development processes such as CI/CD, testing, and documentation to support efficient and consistent application development practices.
Part 4 Ethical Engineering: We present ethical engineering principles for designing user-friendly applications with a focus on security, privacy, and accessibility.
Part 5 Advanced UI Development: Covers advanced topics like responsive UI, custom painting, internationalization, and theming, taking your user-friendly interface implementation skills to the next level.
Beyond Simple Flutter Programming
This book explores Flutter from a software engineering perspective, rather than simply as a UI framework.
Starting with a solid foundation in widget architecture and platform integration, we expand to cover all areas of practical application, including architecture design, state management, concurrency, testing, and CI/CD.
It also covers ethical engineering topics like security and privacy, as well as advanced topics like responsive and adaptive UI, internationalization, and shaders, exploring the issues developers face on real-world projects in one book.
Flutter development is fun.
This book will serve as a solid guide for all Flutter developers who want to go beyond simply creating applications and build stable, high-quality software.
▷Structure of this book
Part 1: Flutter Engineering Fundamentals: This course introduces software engineering concepts and fundamental principles related to Flutter, and guides you through design patterns to build a solid foundation of knowledge.
Part 2 Architecture: Covers a wide range of styles and design patterns, core concepts such as concurrency and state management, and helps develop strategic thinking and decision-making skills.
Part 3 Process: We organize systematic development processes such as CI/CD, testing, and documentation to support efficient and consistent application development practices.
Part 4 Ethical Engineering: We present ethical engineering principles for designing user-friendly applications with a focus on security, privacy, and accessibility.
Part 5 Advanced UI Development: Covers advanced topics like responsive UI, custom painting, internationalization, and theming, taking your user-friendly interface implementation skills to the next level.
GOODS SPECIFICS
- Date of issue: September 29, 2025
- Page count, weight, size: 672 pages | 183*235*35mm
- ISBN13: 9791169214377
- ISBN10: 1169214371
You may also like
카테고리
korean
korean