Work in Flutter, a framework designed from the ground up for dual platform development, with support for native Java/Kotlin or Objective-C/Swift methods from Flutter apps. Write your next app in one language and build it for both Android and iOS. Deliver the native look, feel, and performance you and your users expect from an app written with each platform's own tools and languages. Deliver apps fast, doing half the work you were doing before and exploiting powerful new features to speed up development. Write once, run anywhere.
Learn Flutter, Google's multi-platform mobile development framework. Instantly view the changes you make to an app with stateful hot reload and define a declarative UI in the same language as the app logic, without having to use separate XML UI files. You can also reuse existing platform-specific Android and iOS code and interact with it in an efficient and simple way.
Use built-in UI elements - or build your own - to create a simple calculator app. Run native Java/Kotlin or Objective-C/Swift methods from your Flutter apps, and use a Flutter package to make HTTP requests to a Web API or to perform read and write operations on local storage. Apply visual effects to widgets, create transitions and animations, create a chat app using Firebase, and deploy everything on both platforms.
Get native look and feel and performance in your Android and iOS apps, and the ability to build for both platforms from a single code base.
What You Need:
Flutter can be used for Android development on any Linux, Windows or macOS computer, but macOS is needed for iOS development.
Author(s): Carmine Zaccagnino
Series: The Pragmatic Programmers
Edition: 1
Publisher: Pragmatic Bookshelf
Year: 2020
Language: English
Commentary: Vector PDF
Pages: 364
City: Raleigh, NC
Tags: Debugging; iOS; Android; Testing; Mobile Applications; Dart; Flutter; Firebase
Cover
Table of Contents
Acknowledgments
Preface
A Brief History of Flutter
Why Flutter Matters and What We’ll See in This Book
Don’t Know Dart? Don’t Worry About It
Installing the SDK and the IDE Plugins
Where We’re Going Next: Let’s Start Building Apps
Part I— Getting Started with Flutter
1. Making Your First Flutter App
Get Familiar with Dart Syntax and Flutter Classes
Give the App Your Personal Touch
Where We’re Going Next
2. Laying Out More Widgets
Introducing Layout Widgets
Contain and Add Padding to Widgets Using Invisible Layout Widgets
Add Your Own Assets to the App
Displaying Images
Vertical Layout
Horizontal Layout: The Row
Making Grids
The Card
Fill the Space Available in the View Using Expanded
Slivers, Custom Scrollables, and Collapsable App Bars
The Key
Where We’re Going Next
3. Building a Calculator App
Importing Basic Dependencies
Writing main
The Calculator’s Home Page
How the App Will Be Structured
Implement the Basic Layout
Let’s Give the Calculator a Screen
Add the Deletion Row
The Third Row
Why a GridView Wouldn’t Work
Make the App Look and Work Right with Expanded
The Finished Layout
Implement the Calculations
Use the Calculation Inside the App
Wrapping Up the Calculator
What If We Try to Divide by 0?
Where We’re Going Next
4. Beyond the Standard Library: Plugins and Packages
An Introduction to Packages
Package Usage Example
Making Your Own Packages
Publishing a Package to Pub
Packages for Windows, macOS, and Linux
Where We’re Going Next
Part II— Doing More with Flutter
5. Network and Storage I/O and Navigation
The API
The http Package
Writing Methods to Fetch Comics
What You Need to Build the UI: Navigation and the InheritedWidget
Build the App’s Basic UI
Building the Comic Page
Using the CircularProgressIndicator
Making Everything Faster by Caching to Local Storage
Allowing the User to Click the Image and Go to the Website: The url_launcher Package
Adding Comic Selection by Number
Permanent Data I/O in Flutter: Adding “Starred” Comics
Where We’re Going Next
6. Testing and Debugging Flutter Apps
Testing
Testing the XKCD App: Using Mock Objects
Throwing and Catching Exceptions
Assert Statements
Where We’re Going Next
7. Build a Chat App Using Firebase
What Is Firebase?
Animations and Transistions
Custom Shapes and Drawing in Flutter Apps Using Painters
The StreamBuilder
Building the Chat App
Where You’re Going Next
A1. Introduction to Dart
Comments in Dart
Variables and Conditions
Functions
main
Asynchronous Code in Dart: The dart:async Library
Conditional Constructs and Expressions
Loops: while, do while, and for
Classes
Typedef and Callbacks
Mastering import
Conversion Between Native Java/Apple and Dart Data Types
Where You’re Going Next
A2. Apple-Like Look and Additional App Configuration
Cupertino Widgets
pubspec.yaml
Platform-Specific Setup
Index
– SYMBOLS –
– DIGITS –
– A –
– B –
– C –
– D –
– E –
– F –
– G –
– H –
– I –
– J –
– K –
– L –
– M –
– N –
– O –
– P –
– Q –
– R –
– S –
– T –
– U –
– V –
– W –
– X –
– Y –
– Z –