
Flutter for Beginners
Description
Alles über E-Books | Antworten auf Fragen rund um E-Books, Kopierschutz und Dateiformate finden Sie in unserem Info- & Hilfebereich.
- Learn about Flutter widgets, plugins, and animations to create a high-quality, user-friendly app
- Package and deploy your Flutter apps to achieve native-like performance
- Purchase of the print or Kindle book includes a free PDF eBook
Book DescriptionThere have been many attempts at creating frameworks that are truly cross-platform, but most struggle to create a native-like experience at high-performance levels. Flutter achieves this with an elegant design and a wealth of third-party plugins, solidifying its status as the future of mobile app development. If you are a mobile developer who wants to create rich and expressive native apps with the latest Google Flutter framework, this book is for you. You'll start with the basics of cross-platform development frameworks, specifically Flutter. You'll then explore the Dart programming language which is the foundation of the Flutter framework. Next, you'll get a feel for Flutter and how to create your first app, followed by an exploration of the various popular plugins that supplement the Flutter framework. Finally, you'll explore testing and app release, including some common glitches that you may experience. By the end of this book, you'll be well-equipped to create and release a basic Flutter app along with gaining a solid understanding of the Flutter framework and Dart language.What you will learn - Understand the Flutter framework and cross-platform development
- Acclimate the fundamentals of the Dart programming language
- Explore Flutter widgets, the core widget library, and stateful and stateless widgets
- Discover the complete development lifecycle, including testing and debugging
- Get familiar with both the mobile and web app release processes
- Dig deeper into more advanced Flutter concepts like animation
- Explore common Flutter plugins ad how to use them
- Discover the Flutter community and how to stay up-to-date
Who this book is forIf you are an existing mobile developer seeking a better way to develop cross-platform apps, an existing software developer looking to explore mobile app development, or someone investigating mobile apps and simply wants to know what the Flutter fuss is about, this is the book for you. Prior knowledge of Flutter and Dart is not required.
All prices
More details
Other editions
Additional editions

Previous edition

Content
- Cover
- Title Page
- Copyright
- Dedication
- Foreword
- Contributors
- Table of Contents
- Preface
- Part 1: Learning the Core Concepts
- Chapter 1: What Is Flutter and Why Should I Use It?
- Technical requirements
- What is Flutter?
- Backed by Google
- Fuchsia OS and Flutter
- Dart
- One code base to rule them all
- Open source framework
- Hello Flutter - a first glimpse of Flutter
- Installing Flutter
- Development environment
- Hello world!
- Widgets, widgets, everywhere
- Flutter rendering
- Flutter - rendering by itself
- Composability
- Immutability
- Everything is a widget
- Building and running Flutter
- Debug mode
- Release mode
- Profile mode
- Supported platforms
- The pubspec.yaml file
- Running the generated project
- Summary
- Chapter review questions
- Further reading
- Chapter 2: An Introduction to Dart
- Technical requirements
- Getting started with Dart
- The evolution of Dart
- How to run Dart
- Introducing the structure of the Dart language
- Hands-on with Dart
- Variables and data types
- Variable declaration
- Null safety
- Built-in types
- final and const
- dynamic and using 'as'
- Dart operators
- Control flows and looping
- if/else
- while and do-while loops
- for loops
- break and continue
- switch
- Hands-on, continued
- Functions and methods
- Function parameters
- Summary
- Questions
- Further reading
- Chapter 3: Flutter versus Other Frameworks
- Native development
- Developer skillset
- Project management
- Defect reports
- Performance
- Platform features
- Hot reload
- User experience
- App size
- New platforms
- Retired platforms
- Development resources
- Overview
- Cross-platform frameworks
- React Native
- Xamarin
- Cordova
- Framework popularity
- The Flutter community
- Events
- News and discussion
- Resources
- Flutter strengths and weaknesses
- Strengths
- Weaknesses
- Live Flutter apps
- Summary
- Questions
- Further reading
- Chapter 4: Dart Classes and Constructs
- Object orientation in Dart
- Objects and classes
- Other OOP artifacts
- Encapsulation
- Inheritance and composition
- Abstraction
- Polymorphism
- Functions as objects
- Understanding classes in Dart
- Class structure
- Constructors
- Class inheritance
- Abstract classes
- Interfaces
- Mixins
- Files and imports
- The enum type
- Using generics
- When and why to use generics
- Asynchronous programming
- Dart Futures
- Dart Isolates
- Summary
- Questions
- Further reading
- Part 2: Building a Basic Flutter App
- Chapter 5: Building Your User Interface through Widgets
- Technical requirements
- Stateful/stateless widgets
- Stateless widgets
- Stateful widgets
- Inherited widgets
- The widget key property
- Built-in widgets
- Display widgets
- User interaction widgets
- Layouts
- Advanced widgets (gestures, animations, and transformations)
- Summary
- Questions
- Further reading
- Chapter 6: Handling User Input and Gestures
- Technical requirements
- Handling user gestures
- Pointers
- Gestures
- GestureDetector
- Gestures in Material widgets
- A deeper look at the stateful widget life cycle
- Key life cycle states
- Mounted
- Input widgets and forms
- Getting input through the onChanged callback
- Getting input through a controller
- Form and FormField
- Accessing FormField's state
- Form
- Custom input and FormField
- Creating custom inputs
- Custom input widget example
- Summary
- Questions
- Further reading
- Chapter 7: Let's Get Graphical!
- Technical requirements
- Make me pretty
- Using colors
- Text style
- Container decoration
- Buttons
- The Scaffold widget
- Drawer
- Snackbar
- And there's much more.
- Creating elegant content lists
- Understanding image types in Flutter
- Out-of-the-box support
- SVG
- Lottie files
- Slivers
- Lists with navigation
- SliverAppBar
- Summary
- Questions
- Further reading
- Chapter 8: Routing - Navigating between Screens
- Technical requirements
- Understanding the Navigator widget
- Navigator 1.0 and 2.0
- Navigator
- Navigator 1.0
- Navigator 2.0
- Screen transitions
- PageRouteBuilder
- Custom transitions in practice
- Passing data between screens
- Passing state in widget parameters
- InheritedWidget
- BLoC
- Redux
- Other options
- Summary
- Questions
- Further reading
- Part 3: Turning a Simple App into an Awesome App
- Chapter 9: Flutter Plugins - Get Great Functionality for Free!
- Technical requirements
- What is a plugin?
- Benefits
- Drawbacks
- Where can I find plugins?
- How do I add a plugin to my project?
- The pubspec.yaml file
- flutter pub
- Using a plugin in your code
- How do plugins work on iOS and Android?
- MethodChannel
- CocoaPods
- Gradle
- Common issues
- Plugin breaking change
- Plugin not working
- PR not merged
- Inconsistent dependencies
- MissingPluginException
- Summary
- Questions
- Further reading
- Chapter 10: Popular Third-Party Plugins
- Technical requirements
- Exploring Firebase plugins
- Firebase registration
- Connecting the Flutter app to Firebase
- FlutterFire plugins
- Firebase initialization
- Authentication
- Realtime Database
- Firestore
- Analytics and Crashlytics
- Cloud Storage
- AdMob
- Cloud Functions
- ML with Google ML Kit
- Messaging
- Understanding Google Maps and Places
- Exploring mobile device features
- Camera and QR codes
- Opening web pages
- Local storage
- Video
- Payment providers
- In-app purchases
- Opening files
- Plugins to help with your app support
- App version
- Device information
- Summary
- Questions
- Further reading
- Chapter 11: Using Widget Manipulations and Animations
- Technical requirements
- Transforming widgets with the Transform class
- The Transform widget
- Understanding the Matrix4 class
- Exploring the types of transformations
- Introducing animations
- The Animation&T& class
- AnimationController
- CurvedAnimation
- Tween
- Using animations
- Rotate animation
- Scale animation
- Translate animation
- Using AnimatedBuilder
- The AnimatedBuilder class
- Revisiting our animation
- Implicitly animated widgets
- AnimatedContainer
- AnimatedFoo
- Summary
- Questions
- Further reading
- Part 4: Testing and Releasing Your App
- Chapter 12: Testing and Debugging
- Technical requirements
- Unit testing
- The Dart test package
- Writing unit tests
- Unit test mocking
- Widget testing
- The WidgetTester class
- Widget test example
- Running a widget test
- Debugging your app
- Debugging in the IDE
- Additional debugging features
- DevTools
- The widget inspector
- Profile mode
- Summary
- Questions
- Further reading
- Chapter 13: Releasing Your App to the World
- Technical requirements
- Preparing your app for deployment
- Preparing the stores
- Preparing for the web
- Releasing your app on Android
- AndroidManifest and build.gradle
- Building and uploading your appbundle
- Releasing your app on iOS
- App Store Connect
- Xcode
- Building and uploading
- Releasing your app on the web
- Firebase hosting
- PWA support
- Tracking app usage and crashes
- Crashlytics
- Google Analytics
- Summary
- Questions
- Further reading
- Index
- About Packt
- Other Books You May Enjoy
System requirements
File format: ePUB
Copy protection: Adobe-DRM (Digital Rights Management)
System requirements:
- Computer (Windows; MacOS X; Linux): Install the free reader Adobe Digital Editions prior to download (see eBook Help).
- Tablet/smartphone (Android; iOS): Install the free app Adobe Digital Editions or the app PocketBook before downloading (see eBook Help).
- E-reader: Bookeen, Kobo, Pocketbook, Sony, Tolino and many more (not Kindle).
The file format ePub works well for novels and non-fiction books – i.e., „flowing” text without complex layout. On an e-reader or smartphone, line and page breaks automatically adjust to fit the small displays.
This eBook uses Adobe-DRM, a „hard” copy protection. If the necessary requirements are not met, unfortunately you will not be able to open the eBook. You will therefore need to prepare your reading hardware before downloading.
Please note: We strongly recommend that you authorise using your personal Adobe ID after installation of any reading software.
For more information, see our ebook Help page.
File format: ePUB
Copy protection: without DRM (Digital Rights Management)
System requirements:
- Computer (Windows; MacOS X; Linux): Use a reader that can handle the file format ePUB, such as Adobe Digital Editions or FBReader – both free (see eBook Help).
- Tablet/Smartphone (Android; iOS): Install the free app Adobe Digital Editions or the app PocketBook (see eBook Help).
- E-reader: Bookeen, Kobo, Pocketbook, Sony, Tolino and many more (not Kindle).
The file format ePUB works well for novels and non-fiction books – i.e., 'flowing' text without complex layout. On an e-reader or smartphone, line and page breaks automatically adjust to fit the small displays.
This eBook does not use copy protection or Digital Rights Management
For more information, see our eBook Help page.