Muutke küpsiste eelistusi

E-raamat: Flutter in Action

  • Formaat: 368 pages
  • Ilmumisaeg: 07-Jan-2020
  • Kirjastus: Manning Publications
  • Keel: eng
  • ISBN-13: 9781638356431
  • Formaat - EPUB+DRM
  • Hind: 43,42 €*
  • * hind on lõplik, st. muud allahindlused enam ei rakendu
  • Lisa ostukorvi
  • Lisa soovinimekirja
  • See e-raamat on mõeldud ainult isiklikuks kasutamiseks. E-raamatuid ei saa tagastada.
  • Formaat: 368 pages
  • Ilmumisaeg: 07-Jan-2020
  • Kirjastus: Manning Publications
  • Keel: eng
  • ISBN-13: 9781638356431

DRM piirangud

  • Kopeerimine (copy/paste):

    ei ole lubatud

  • Printimine:

    ei ole lubatud

  • Kasutamine:

    Digitaalõiguste kaitse (DRM)
    Kirjastus on väljastanud selle e-raamatu krüpteeritud kujul, mis tähendab, et selle lugemiseks peate installeerima spetsiaalse tarkvara. Samuti peate looma endale  Adobe ID Rohkem infot siin. E-raamatut saab lugeda 1 kasutaja ning alla laadida kuni 6'de seadmesse (kõik autoriseeritud sama Adobe ID-ga).

    Vajalik tarkvara
    Mobiilsetes seadmetes (telefon või tahvelarvuti) lugemiseks peate installeerima selle tasuta rakenduse: PocketBook Reader (iOS / Android)

    PC või Mac seadmes lugemiseks peate installima Adobe Digital Editionsi (Seeon tasuta rakendus spetsiaalselt e-raamatute lugemiseks. Seda ei tohi segamini ajada Adober Reader'iga, mis tõenäoliselt on juba teie arvutisse installeeritud )

    Seda e-raamatut ei saa lugeda Amazon Kindle's. 

In 2017, consumers downloaded 178 billion apps, and analysts predict growth to 258 billion by 2022. Mobile customers are demanding more-and better-apps, and it's up to developers like you to write them! Flutter, a revolutionary new cross-platform software development kit created by Google, makes it easier than ever to write secure, high-performance native apps for iOS and Android.

Flutter in Action teaches you to build awesome, full-featured mobile applications with Flutter. Author Eric Windmill walks with you every step of the way as you build apps that get you coding as you learn. With the engaging hands-on examples, you'll create a basic user interface, learn about state management, and integrate a database with a Dart web app.

Purchase of the print book includes a free eBook in PDF, Kindle, and ePub formats from Manning Publications.



Summary

In 2017, consumers downloaded 178 billion apps, and analysts predict growth to 258 billion by 2022. Mobile customers are demanding more&;and better&;apps, and it&;s up to developers like you to write them! Flutter, a revolutionary new cross-platform software development kit created by Google, makes it easier than ever to write secure, high-performance native apps for iOS and Android. Flutter apps are blazingly fast because this open source solution compiles your Dart code to platform-specific programs with no JavaScript bridge! Flutter also supports hot reloading to update changes instantly. And thanks to its built-in widgets and rich motion APIs, Flutter&;s apps are not just highly responsive, they&;re stunning!

Purchase of the print book includes a free eBook in PDF, Kindle, and ePub formats from Manning Publications.

About the technology

With Flutter, you can build mobile applications using a single, feature-rich SDK that includes everything from a rendering engine to a testing environment. Flutter compiles programs written in Google&;s intuitive Dart language to platform-specific code so your iOS and Android games, utilities, and shopping platforms all run like native Java or Swift apps.

About the book

Flutter in Action teaches you to build professional-quality mobile applications using the Flutter SDK and the Dart programming language. You&;ll begin with a quick tour of Dart essentials and then dive into engaging, well-described techniques for building beautiful user interfaces using Flutter&;s huge collection of built-in widgets. The combination of diagrams, code examples, and annotations makes learning a snap. As you go, you&;ll appreciate how the author makes easy reading of complex topics like routing, state management, and async programming.

What's inside

    Understanding the Flutter approach to the UI
    All the Dart you need to get started
    Creating custom animations
    Testing and debugging

About the reader

You&;ll need basic web or mobile app development skills.

About the author

Eric Windmill is a professional Dart developer and a contributor to open-source Flutter projects. His work is featured on the Flutter Showcase page.

Table of Contents:

PART 1 - MEET FLUTTER

1 ¦ Meet Flutter

2 ¦ A brief intro to Dart

3 ¦ Breaking into Flutter

PART 2 - FLUTTER USER INTERACTION, STYLES, AND ANIMATIONS

4 ¦ Flutter UI: Important widgets, themes, and layout

5 ¦ User interaction: Forms and gestures

6 ¦ Pushing pixels: Flutter animations and using the canvas

PART 3 - STATE MANAGEMENT AND ASYNCHRONOUS DART

7 ¦ Flutter routing in depth

8 ¦ Flutter state management

9 ¦ Async Dart and Flutter and infinite scrolling

PART 4 - BEYOND FOUNDATIONS

10 ¦ Working with data: HTTP, Firestore, and JSON

11 ¦ Testing Flutter apps
Foreword xv
Preface xvii
Acknowledgments xix
About This Book xxi
About The Author xxiv
About The Cover Illustration xxv
Part 1 Meet Flutter 1(94)
1 Meet Flutter
3(21)
1.1 Why does Flutter use Dart?
4(1)
1.2 On Dart
5(1)
1.3 Who uses Flutter?
6(1)
1.4 Who should be using Flutter?
6(2)
Teams, project leads, and CTOs
6(1)
Individual developers
7(1)
Code school students and recent CS grads
7(1)
Open source developers
7(1)
People who value speed
7(1)
People who are lazy
7(1)
People who value control
7(1)
1.5 Who this book is for
8(1)
1.6 Other mobile development options
8(2)
Native development (iOS and Android)
8(1)
Cross-platform JavaScript options
8(2)
1.7 The immediate benefits of Flutter
10(2)
No JavaScript bridge
10(1)
Compile time
10(1)
Write once, test once, deploy everywhere
10(1)
Code sharing
11(1)
Productivity and collaboration
11(1)
Code maintenance
11(1)
The bottom line: Is Flutter for you?
11(1)
1.8 Future benefits of Flutter: Web apps and desktop apps
12(1)
1.9 A brief intro to how Flutter works
12(6)
Everything is a widget
14(1)
Composing UI with widgets
15(1)
Widget types
16(2)
1.10 Flutter rendering: Under the hood
18(4)
Composing the widget tree and layout
20(1)
Compositing step
21(1)
Paint to the screen
22(1)
1.11 Final note
22(2)
2 A brief intro to Dart
24(30)
2.1 Hello, Dart!
25(4)
Anatomy of a Dart program
26(1)
Adding more greetings
26(2)
I/O and Dart libraries
28(1)
2.2 Common programming concepts in Dart
29(7)
Intro to Dart's type system
30(2)
Comments
32(1)
Variables and assignment
33(1)
Operators
34(1)
Null-aware operators
34(2)
2.3 Control flow
36(5)
if and else
37(1)
switch and case
37(1)
Advanced switch usage
38(2)
Loops
40(1)
2.4 Functions
41(4)
Anatomy of a Dart function
41(1)
Parameters
42(1)
Default parameter values
43(1)
Advanced function concepts
43(2)
Lexical scope
45(1)
2.5 Object-oriented programming (in Dart)
45(9)
Classes
46(2)
Constructors
48(1)
Inheritance
49(1)
Factories and named constructors
50(1)
Enumerators
51(3)
3 Breaking into Flutter
54(41)
3.1 Intro to the counter app
55(5)
Flutter project structure
56(1)
Anatomy of a Flutter app
56(1)
Again, everything is a widget
57(1)
The build method
58(1)
The new and const constructors in Flutter
59(1)
Hot reload
59(1)
3.2 Widgets: The widget tree, widget types, and the State object
60(7)
Stateless widgets
61(1)
Stateful widgets
62(2)
setState
64(2)
initState
66(1)
3.3 BuildContext
67(1)
3.4 Enhancing the counter app with the most important widgets
68(1)
RaisedButton
68(1)
3.5 Favor composition in Flutter (over inheritance)
69(3)
What is composition?
69(2)
An example of composition in Flutter
71(1)
3.6 Intro to layout in Flutter
72(11)
Row and Column
72(2)
Layout constraints in Flutter
74(1)
RenderObject
74(1)
RenderObject and constraints
75(1)
RenderBoxes and layout errors
75(1)
Multi-child widgets
76(2)
Icons and the FloatingActionButton
78(2)
Images
80(1)
Container widget
81(2)
3.7 The element tree
83(9)
Elements and widgets
85(1)
Exploring the element tree with an example
86(2)
The element tree and State objects
88(2)
Widget keys
90(2)
3.8 A final note
92(3)
Part 2 Flutter User Interaction, Styles, And Animations 95(94)
4 Flutter UI: Important widgets, themes, and layout
97(32)
4.1 Setting up and configuring a Flutter app
99(3)
Configuration: pubspec.yaml and main.dart
99(2)
SystemChrome
101(1)
4.2 Structural widgets and more configuration
102(6)
MaterialApp widget
102(2)
The Scaffold widget
104(2)
AppBar widget
106(2)
4.3 Styling and themes in Flutter
108(4)
Theme widget
108(2)
Media Query and the of method
110(1)
ScreenAwareSize method
111(1)
4.4 Common layout and UI widgets
112(14)
Stack widget
112(4)
Table widget
116(6)
TabBar widget
122(4)
4.5 ListView and builders
126(3)
5 User interaction: Forms and gestures
129(29)
5.1 User interaction and gestures
130(6)
The GestureDetector widget
130(1)
GestureDetector in practice
131(3)
The Dismissible widget
134(2)
5.2 Flutter forms
136(5)
The Form widget
137(1)
GlobalKey<FormState>
138(1)
The structure of the AddCityPage form
138(2)
Implementing the form in the weather app
140(1)
5.3 FormField widgets
141(6)
The TextFormField widget
142(1)
The DropdownFormButton widget
143(3)
Generic form fields
146(1)
5.4 Form UI and working with focus nodes
147(4)
InputDecoration
147(2)
Improving the UI with FocusNodes
149(2)
5.5 Managing form state with form methods
151(7)
Form.onChange
152(1)
FormState.save
153(2)
Form.onWillPop
155(3)
6 Pushing pixels: Flutter animations and using the canvas
158(31)
6.1 Introducing Flutter animations
159(13)
Tweens
160(1)
Animation curves
161(1)
Ticker providers
162(1)
AnimationController
162(1)
Animated Widget
163(3)
Implementing the animation controller and tween for the background
166(6)
6.2 CustomPainter and the canvas
172(7)
The shapes used to make up the clouds
173(1)
Defining the CustomPainter and the Paint object
173(2)
The CustomPainter paint method
175(4)
6.3 Staggered animations, TweenSequence, and built-in animations
179(8)
Creating a custom animation state class
179(3)
Built-in animation widgets: SlideTransition
182(2)
Building animations for the Clouds widget
184(1)
TweenSequence
185(2)
6.4 Reusable custom color transition widgets
187(2)
Part 3 State Management And Asynchronous Dart 189(76)
7 Flutter routing in depth
191(21)
7.1 Routing in Flutter
192(1)
The Farmers Market app
192(1)
The app source code
193(1)
7.2 Declarative routing and named routes
193(11)
Declaring routes
194(1)
Navigating to named routes
195(2)
MaterialDrawer widget and the full menu
197(1)
Menu items and the appropriate widgets: List View and Listltems
198(3)
NavigatorObserver: Highlighting the active route with RouteAware
201(3)
7.3 Routing on the fly
204(5)
MaterialRouteBuilder
204(1)
showSnackBar, showBottomSheet, and the like
205(4)
7.4 Routing animations
209(3)
8 Flutter state management
212(24)
8.1 Deep dive into StatefulWidgets
213(3)
The widget tree and the element tree
213(1)
The StatefulWidget lifecycle and when to do what
214(2)
8.2 Pure Flutter state management: The InheritedWidget
216(9)
Creating a Central Store wth an InheritedWidget/StatefulWidget team
218(1)
The inheritFromWidget0fExactType and of methods
218(4)
Use the of method to lift up state
222(2)
State management patterns beyond Flutter
224(1)
8.3 Blocs: Business Logic Components
225(11)
How do blocs work?
227(1)
Implementing the bloc architecture
228(3)
Intro to streams and async Dart
231(1)
Implementing streams in the CartBloc
232(4)
9 Async Dart and Flutter and infinite scrolling
236(29)
9.1 Async Dart
237(5)
Future recap
237(2)
The async/await keywords
239(1)
Catching errors with futures
240(1)
Catching errors with try and catch
241(1)
9.2 Sinks and streams (and StreamControllers)
242(8)
Anatomy of the observer pattern with Dart streams
243(1)
Implementing streams
243(2)
Broadcasting streams
245(2)
Higher-order streams
247(3)
9.3 Using streams in blocs
250(4)
Blocs use inputs and outputs
250(3)
Implementing a bloc input
253(1)
9.4 Async Flutter: StreamBuilder
254(1)
9.5 Infinite and custom scrollable widgets
255(12)
CustomScrollView and slivers
256(1)
Catalog widget scroll view
256(4)
The SliverGrid widget
260(1)
Delegates
260(1)
Custom slivers
261(4)
Part 4 Beyond Foundations 265(48)
10 Working with data: HTTP, Firestore, and JSON
267(25)
10.1 HTTP and Flutter
268(2)
HTTP package
269(1)
GET requests
269(1)
10.2 JSON serialization
270(11)
Manual serialization
271(4)
Auto-generated JSON serialization
275(1)
Updating the Todo class
275(2)
Bringing it all together in the UI
277(4)
10.3 Working with Firebase in Flutter
281(7)
Installing Firestore
282(1)
Create a Firestore project
283(1)
Configure your app
283(3)
Add Firebase to your pubspec
286(1)
Using Firestore
286(2)
10.4 Dependency injection
288(4)
11 Testing Flutter apps
292(21)
11.1 Tests in Flutter
293(17)
Dart unit tests
293(4)
Using mockito to test methods that need external dependencies
297(3)
Flutter widget tests
300(3)
Flutter integration tests
303(4)
Performance profiling integration tests
307(3)
11.2 Accessibility with the semantics widgets
310(1)
11.3 Next steps with Flutter
311(2)
Appendix A Installation: Dart2 313 (5)
Appendix B The Pub package manager 318 (3)
Appendix C Rutter for web developers 321 (3)
Appendix D Rutter for iOS developers 324 (4)
Appendix E Flutter for Android developers 328(3)
Index 331
Eric Windmill is a professional Dart developer, a contributor to opensource Flutter projects, and the author of FlutterByExample.com. His work is featured on Flutters own showcase page, https://flutter.io/showcase.