Muutke küpsiste eelistusi

E-raamat: Beginning Flutter - A Hands On Guide To App Development: A Hands On Guide to App Development [Wiley Online]

  • Formaat: 528 pages
  • Ilmumisaeg: 15-Nov-2019
  • Kirjastus: Wrox Press
  • ISBN-10: 1119550866
  • ISBN-13: 9781119550860
  • Wiley Online
  • Hind: 42,29 €*
  • * hind, mis tagab piiramatu üheaegsete kasutajate arvuga ligipääsu piiramatuks ajaks
  • Formaat: 528 pages
  • Ilmumisaeg: 15-Nov-2019
  • Kirjastus: Wrox Press
  • ISBN-10: 1119550866
  • ISBN-13: 9781119550860
Offers an essential resource for both experienced and novice developers interested in getting started with Flutter—the powerful new mobile-software-development kit. Original.

Build your first app in Flutter—no experience necessary!

Beginning Flutter: A Hands-On Guide to App Development is the essential resource for both experienced and novice developers interested in getting started with Flutter—the powerful new mobile software development kit. With Flutter, you can quickly and easily develop beautiful, powerful apps for both Android and iOS, without the need to learn multiple programming languages or juggle more than one code base. This book walks you through the process step by step.

In Flutter, you’ll be working with Dart, the programming language of choice for top app developers. Even if you’re just starting out in your development career, you can learn Dart quickly, eliminating the barrier to entry for building apps. This is a more efficient way to develop and maintain cross-platform mobile apps, and this book makes the process even easier with a teach-by-example approach.

  • Focus on providing quality content by eliminating the need to switch between multiple coding languages
  • Learn the ins and outs of Flutter, including all the frameworks, widgets, and tools available to developers
  • Accelerate your app development pace, keeping all the code for your cross-platform app in a single code base
  • Leapfrog barriers to entry to the mobile software market, creating your first app with no experience necessary

The Flutter community is growing rapidly and transforming the way Android and iOS apps get made. Beginning Flutter allows you to get on board with the latest app development technology, giving your mobile development career a big head start.

Introduction xxi
PART I THE FOUNDATIONS OF FLUTTER PROGRAMMING
Chapter 1 Introducing Flutter And Getting Started
3(22)
Introducing Flutter
4(1)
Defining Widgets and Elements
5(1)
Understanding Widget Lifecycle Events
5(3)
The Stateless Widget Lifecycle
6(1)
The Stateful Widget Lifecycle
6(2)
Understanding the Widget Tree and the Element Tree
8(5)
Stateless Widget and Element Trees
9(1)
Stateful Widget and Element Trees
10(3)
Installing the Flutter SDK
13(7)
Installing on macOS
13(1)
System Requirements
13(1)
Get the Flutter SDK
13(1)
Check for Dependencies
14(1)
iOS Setup: Install Xcode
14(1)
Android Setup: Install Android Studio
14(1)
Set Up the Android Emulator
15(1)
Installing on Windows
15(1)
System Requirements
15(1)
Get the Flutter SDK
16(1)
Check for Dependencies
16(1)
Install Android Studio
16(1)
Set Up the Android Emulator
17(1)
Installing on Linux
17(1)
System Requirements
17(1)
Get the Flutter SDK
18(1)
Check for Dependencies
19(1)
Install Android Studio
19(1)
Set Up the Android Emulator
19(1)
Configuring the Android Studio Editor
20(1)
Summary
20(5)
Chapter 2 Creating A Hello World APP
25(18)
Setting Up the Project
25(5)
Using Hot Reload
30(3)
Using Themes to Style Your App
33(4)
Using a Global App Theme
33(2)
Using a Theme for Part of an App
35(2)
Understanding Stateless and Stateful Widgets
37(1)
Using External Packages
38(3)
Searching for Packages
39(1)
Using Packages
40(1)
Summary
41(2)
Chapter 3 Learning Dart Basics
43(22)
Why Use Dart?
43(1)
Commenting Code
44(1)
Running the main() Entry Point
45(1)
Referencing Variables
45(1)
Declaring Variables
46(3)
Numbers
47(1)
Strings
47(1)
Booleans
47(1)
Lists
47(1)
Maps
48(1)
Runes
48(1)
Using Operators
49(2)
Using Flow Statements
51(4)
If and else
51(1)
Ternary operator
52(1)
For Loops
52(1)
While and do-while
53(1)
While and break
54(1)
Continue
54(1)
Switch and case
55(1)
Using Functions
55(2)
Import Packages
57(1)
Using Classes
57(4)
Class Inheritance
60(1)
Class Mixins
60(1)
Implementing Asynchronous Programming
61(1)
Summary
62(3)
Chapter 4 Creating A Starter Project Template
65(12)
Creating and Organizing Folders and Files
65(4)
Structuring Widgets
69(5)
Summary
74(3)
Chapter 5 Understanding The Widget Tree
77(26)
Introduction to Widgets
77(2)
Building the Full Widget Tree
79(6)
Building a Shallow Widget Tree
85(14)
Refactoring with a Constant
86(1)
Refactoring with a Method
86(5)
Refactoring with a Widget Class
91(8)
Summary
99(4)
PART II INTERMEDIATE FLUTTER: FLESHING OUT AN APP
Chapter 6 Using Common Widgets
103(48)
Using Basic Widgets
103(27)
Safe Area
107(1)
Container
108(4)
Text
112(1)
Rich Text
112(2)
Column
114(1)
Row
115(1)
Column and Row Nesting
115(4)
Buttons
119(1)
Floating Action Button
119(2)
FlatButton
121(1)
RaisedButton
121(1)
IconButton
122(1)
PopupMenuButton
123(3)
ButtonBar
126(4)
Using Images and Icons
130(5)
AssetBundle
130(1)
Image
131(1)
Icon
132(3)
Using Decorators
135(4)
Using the Form Widget to Validate Text Fields
139(4)
Checking Orientation
143(6)
Summary
149(2)
Chapter 7 Adding Animation To An APP
151(26)
Using AnimatedContainer
152(3)
Using AnimatedCrossFade
155(5)
Using AnimatedOpacity
160(4)
Using AnimationController
164(11)
Using Staggered Animations
170(5)
Summary
175(2)
Chapter 8 Creating An App's Navigation
177(44)
Using the Navigator
178(10)
Using the Named Navigator Route
188(1)
Using Hero Animation
188(5)
Using the BottomNavigationBar
193(6)
Using the BottomAppBar
199(4)
Using the TabBar and TabBarView
203(4)
Using the Drawer and ListView
207(10)
Summary
217(4)
Chapter 9 Creating Scrolling Lists And Effects
221(32)
Using the Card
222(1)
Using the ListView and ListTile
223(7)
Using the GridView
230(7)
Using the GridView.count
230(2)
Using the GridView.extent
232(1)
Using the GridView.builder
233(4)
Using the Stack
237(6)
Customizing the CustomScrollView with Slivers
243(7)
Summary
250(3)
Chapter 10 Building Layouts
253(14)
A High-Level View of the Layout
253(4)
Weather Section Layout
256(1)
Tags Layout
256(1)
Footer Images Layout
257(1)
Final Layout
257(1)
Creating the Layout
257(8)
Summary
265(2)
Chapter 11 Applying Interactivity
267(40)
Setting Up GestureDetector: The Basics
267(8)
Implementing the Draggable and Dragtarget Widgets
275(3)
Using the GestureDetector for Moving and Scaling
278(11)
Using the InkWell and InkResponse Gestures
289(7)
Using the Dismissible Widget
296(7)
Summary
303(4)
Chapter 12 Writing Platform-Native Code
307(20)
Understanding Platform Channels
307(2)
Implementing the Client Platform Channel App
309(4)
Implementing the iOS Host Platform Channel
313(5)
Implementing the Android Host Platform Channel
318(4)
Summary
322(5)
PART III CREATING PRODUCTION-READY APPS
Chapter 13 Saving Data With Local Persistence
327(48)
Understanding the JSON Format
328(2)
Using Database Classes to Write, Read, and Serialize JSON
330(1)
Formatting Dates
331(1)
Sorting a List of Dates
332(1)
Retrieving Data with the FutureBuilder
333(2)
Building the Journal App
335(36)
Adding the Journal Database Classes
339(5)
Adding the Journal Entry Page
344(15)
Finishing the Journal Home Page
359(12)
Summary
371(4)
Chapter 14 Adding The Firebase And Firestore Backend
375(36)
What Are Firebase and Cloud Firestore?
376(7)
Structuring and Data Modeling Cloud Firestore
377(3)
Viewing Firebase Authentication Capabilities
380(1)
Viewing Cloud Firestore Security Rules
381(2)
Configuring the Firebase Project
383(8)
Adding a Cloud Firestore Database and Implementing Security
391(4)
Building the Client Journal App
395(14)
Adding Authentication and Cloud Firestore Packages to the Client App
395(8)
Adding Basic Layout to the Client App
403(3)
Adding Classes to the Client App
406(3)
Summary
409(2)
Chapter 15 Adding State Management To The Firestore Client APP
411(42)
Implementing State Management
412(9)
Implementing an Abstract Class
414(1)
Implementing the InheritedWidget
415(1)
Implementing the Model Class
416(1)
Implementing the Service Class
417(1)
Implementing the BLoC Pattern
417(2)
Implementing StreamController, Streams, Sinks, and StreamBuilder
419(2)
Building State Management
421(28)
Adding the Journal Model Class
422(2)
Adding the Service Classes
424(6)
Adding the Validators Class
430(2)
Adding the BLoC Pattern
432(1)
Adding the AuthenticationBloc
432(3)
Adding the AuthenticationBlocProvider
435(1)
Adding the LoginBloc
436(5)
Adding the HomeBloc
441(2)
Adding the HomeBlocProvider
443(1)
Adding the JournalEditBloc
444(3)
Adding the JournalEditBlocProvider
447(2)
Summary
449(4)
Chapter 16 Adding Blocs To Firestore Client APP Pages
453(36)
Adding the Login Page
454(6)
Modifying the Main Page
460(5)
Modifying the Home Page
465(7)
Adding the Edit Journal Page
472(12)
Summary
484(5)
Index 489
About the author

Marco L. Napoli is the CEO of Pixolini Inc. and an experienced mobile, web and desktop app developer. He has a strong proven record in developing visually elegant and simple to use systems. His work and published apps can be seen at pixolini.com.