SitePoint
Blog
Forum
Library
Login
Join Premium
Toggle sidebar
Beginning Flutter
Toggle community discussions
Close
Content
Bookmarks
Preface
Beginning Flutter ® : A Hands On Guide To App Development
ABOUT THE AUTHOR
ABOUT THE TECHNICAL EDITOR
ACKNOWLEDGMENTS
WILEY END USER LICENSE AGREEMENT
INTRODUCTION
WHO THIS BOOK IS FOR
WHAT THIS BOOK COVERS
HOW THIS BOOK IS STRUCTURED
WHAT YOU NEED TO USE THIS BOOK
CONVENTIONS
ERRATA
1
Introducing Flutter and Getting Started
INTRODUCING FLUTTER
UNDERSTANDING WIDGET LIFECYCLE EVENTS
UNDERSTANDING THE WIDGET TREE AND THE ELEMENT TREE
INSTALLING THE FLUTTER SDK
CONFIGURING THE ANDROID STUDIO EDITOR
SUMMARY
Creating a Hello World App
SETTING UP THE PROJECT
USING HOT RELOAD
USING THEMES TO STYLE YOUR APP
UNDERSTANDING STATELESS AND STATEFUL WIDGETS
USING EXTERNAL PACKAGES
SUMMARY
Learning Dart Basics
WHY USE DART?
COMMENTING CODE
RUNNING THE MAIN() ENTRY POINT
REFERENCING VARIABLES
DECLARING VARIABLES
USING OPERATORS
USING FLOW STATEMENTS
USING FUNCTIONS
IMPORT PACKAGES
USING CLASSES
IMPLEMENTING ASYNCHRONOUS PROGRAMMING
SUMMARY
Creating a Starter Project Template
CREATING AND ORGANIZING FOLDERS AND FILES
STRUCTURING WIDGETS
SUMMARY
Understanding the Widget Tree
INTRODUCTION TO WIDGETS
BUILDING THE FULL WIDGET TREE
BUILDING A SHALLOW WIDGET TREE
SUMMARY
Using Common Widgets
USING BASIC WIDGETS
USING IMAGES AND ICONS
USING DECORATORS
USING THE FORM WIDGET TO VALIDATE TEXT FIELDS
CHECKING ORIENTATION
SUMMARY
Using Common Widgets
USING ANIMATEDCONTAINER
USING ANIMATEDCROSSFADE
USING ANIMATEDOPACITY
USING ANIMATIONCONTROLLER
SUMMARY
Creating an App's Navigation
USING THE NAVIGATOR
USING HERO ANIMATION
USING THE BOTTOMNAVIGATIONBAR
USING THE BOTTOMAPPBAR
USING THE TABBAR AND TABBARVIEW
USING THE DRAWER AND LISTVIEW
SUMMARY
Creating an App's Navigation
USING THE CARD
USING THE LISTVIEW AND LISTTILE
USING THE GRIDVIEW
USING THE STACK
CUSTOMIZING THE CUSTOMSCROLLVIEW WITH SLIVERS
SUMMARY
Building Layouts
A HIGH‐LEVEL VIEW OF THE LAYOUT
CREATING THE LAYOUT
SUMMARY
Applying Interactivity
SETTING UP GESTUREDETECTOR: THE BASICS
IMPLEMENTING THE DRAGGABLE AND DRAGTARGET WIDGETS
USING THE GESTUREDETECTOR FOR MOVING AND SCALING
USING THE INKWELL AND INKRESPONSE GESTURES
USING THE DISMISSIBLE WIDGET
SUMMARY
Writing Platform‐Native Code
UNDERSTANDING PLATFORM CHANNELS
IMPLEMENTING THE CLIENT PLATFORM CHANNEL APP
IMPLEMENTING THE iOS HOST PLATFORM CHANNEL
IMPLEMENTING THE ANDROID HOST PLATFORM CHANNEL
SUMMARY
Saving Data with Local Persistence
UNDERSTANDING THE JSON FORMAT
USING DATABASE CLASSES TO WRITE, READ, AND SERIALIZE JSON
FORMATTING DATES
SORTING A LIST OF DATES
RETRIEVING DATA WITH THE FUTUREBUILDER
BUILDING THE JOURNAL APP
OVERVIEW OF JOURNAL APP
SUMMARY
Adding the Firebase and Firestore Backend
WHAT ARE FIREBASE AND CLOUD FIRESTORE?
CONFIGURING THE FIREBASE PROJECT
ADDING A CLOUD FIRESTORE DATABASE AND IMPLEMENTING SECURITY
BUILDING THE CLIENT JOURNAL APP
SUMMARY
Adding State Management to the Firestore Client App
IMPLEMENTING STATE MANAGEMENT
BUILDING STATE MANAGEMENT
SUMMARY
Adding BLoCs to Firestore Client App Pages
ADDING THE LOGIN PAGE
MODIFYING THE MAIN PAGE
MODIFYING THE HOME PAGE
ADDING THE EDIT JOURNAL PAGE
SUMMARY
INDEX
Open text modal
Community Questions
Close