
Flutter for Beginners
An introductory guide to building cross-platform mobile applications with Flutter and Dart 2
作品简介
Google Flutter is a cross-platform mobile framework that makes it easy to write high-performance apps for Android and iOS. This book will help you get to grips with the basics of the Flutter framework and the Dart programming language.
Starting from setting up your development environment, you’ll learn to design the UI and add user input functions. You'll explore the navigator widget to manage app routes and learn to add transitions between screens. The book will even guide you through developing your own plugin and later, you’ll discover how to structure good plugin code. Using the Google Places API, you'll also understand how to display a map in the app and add markers and interactions to it. You’ll then learn to improve the user experience with features such as map integrations, platform-specific code with native languages, and personalized animation options for designing intuitive UIs.
The book follows a practical approach and gives you access to all relevant code files hosted at github.com/PacktPublishing/Flutter-for-Beginners. This will help you access a variety of examples and prepare your own bug-free apps, ready to deploy on the App Store and Google Play Store.
By the end of this book, you’ll be well-versed with Dart programming and have the skills to develop your own mobile apps or build a career as a Dart and Flutter app developer.
Alessandro Biessek was born in the beautiful city of Chapecó, in the state of Santa Catarina, southern Brazil, in 1993. He is currently working on mobile application development for Android and iOS in his hometown. He has more than 7 years of experience in development, from desktop development with Delphi to backend with PHP, Node.js, Golang, mobile development with Apache Flex, and Java/Kotlin. Most of his time is devoted to the development of Android apps. Always interested in new technologies, he has been following the Flutter framework for a long time, evidencing its growth and adoption in recent months.
作品目录
Copyright and Credits
Dedication
About Packt
Contributors
About the author
About the reviewer
Packt is searching for authors like you
Preface
Who this book is for
What this book covers
To get the most out of this book
Get in touch
Section 1: Introduction to Dart
An Introduction to Dart
Getting started with Dart
Understanding why Flutter uses Dart
Introducing the structure of the Dart language
Introduction to OOP in Dart
Summary
Further reading
Intermediate Dart Programming
Dart classes and constructors
Interfaces, abstract classes, and mixins
Understanding Dart libraries and packages
Introducing async programming with Futures and Isolates
Introducing unit testing with Dart
Summary
An Introduction to Flutter
Comparisons with other mobile app development frameworks
Flutter compilation (Dart)
Flutter rendering
Widgets introduction
Hello Flutter
Summary
Section 2: The Flutter User Interface - Everything is a Widget
Widgets: Building Layouts in Flutter
Stateful versus stateless widgets
Built-in widgets
Understanding built-in layout widgets
Creating a UI with widgets (favor manager app)
Creating custom widgets
Summary
Handling User Input and Gestures
Handling user gestures
Input widgets
Validating Input (Forms)
Custom input and FormField
Putting it all together
Summary
Theming and Styling
Theme widgets
Material Design
iOS Cupertino
Using custom fonts
Dynamic styling with MediaQuery and LayoutBuilder
Summary
Routing: Navigating between Screens
Understanding the Navigator widget
Named routes
Screen transitions
Hero animations
Summary
Section 3: Developing Fully Featured Apps
Firebase Plugins
Firebase overview
Firebase authentication
NoSQL database with Cloud Firestore
Cloud Storage with Firebase Storage
Ads with Firebase AdMob
ML with Firebase ML Kit
Summary
Developing Your Own Flutter Plugin
Creating a package/plugin project
A plugin project structure
Adding documentation to the package
Publishing a package
Plugin project development recommendations
Summary
Accessing Device Features from the Flutter App
Launching a URL from the app
Managing app permissions
Importing a contact from the phone
Integrating the phone's camera
Summary
Platform Views and Map Integration
Displaying a map
Adding markers to the map
Adding map interactions
Using the Google Places API
Summary
Section 4: Advanced Flutter - Resources to Complex Apps
Testing, Debugging, and Deployment
Flutter testing – unit and widget testing
Debugging Flutter apps
Profiling Flutter apps
Inspecting the Flutter widget tree
Preparing apps for deployment
Summary
Improving User Experience
Accessibility in Flutter and adding translations to apps
Communication between native and Flutter with platform channels
Creating background processes
Adding Android-specific code to run Dart code in the background
Adding iOS-specific code to run Dart code in the background
Summary
Widget Graphic Manipulations
Transforming widgets with the Transform class
Exploring the types of transformations
Applying transformations to your widgets
Using custom painters and canvas
Summary
Animations
Introducing Animations
Using animations
Using AnimatedBuilder
Using AnimatedWidget
Summary
Other Books You May Enjoy
Leave a review - let other readers know what you think