Details

Beginning Flutter


Beginning Flutter

A Hands On Guide to App Development
1. Aufl.

von: Marco L. Napoli

25,99 €

Verlag: Wiley
Format: EPUB
Veröffentl.: 17.09.2019
ISBN/EAN: 9781119550853
Sprache: englisch
Anzahl Seiten: 528

DRM-geschütztes eBook, Sie benötigen z.B. Adobe Digital Editions und eine Adobe ID zum Lesen.

Beschreibungen

<p><b>Build your first app in Flutter—no experience necessary!</b></p> <p><i>Beginning Flutter: A Hands-On Guide to App Development </i>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.</p> <p>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.</p> <ul> <li>Focus on providing quality content by eliminating the need to switch between multiple coding languages</li> <li>Learn the ins and outs of Flutter, including all the frameworks, widgets, and tools available to developers</li> <li>Accelerate your app development pace, keeping all the code for your cross-platform app in a single code base</li> </ul> <ul> <li>Leapfrog barriers to entry to the mobile software market, creating your first app with no experience necessary</li> </ul> <p>The Flutter community is growing rapidly and transforming the way Android and iOS apps get made. <i>Beginning Flutter</i> allows you to get on board with the latest app development technology, giving your mobile development career a big head start.</p>
<p>Introduction xxi</p> <p><b>Part I: The Foundations of Flutter Programming</b></p> <p><b>Chapter 1: Introducing Flutter and Getting Started 3</b></p> <p>Introducing Flutter 4</p> <p>Defining Widgets and Elements 5</p> <p>Understanding Widget Lifecycle Events 5</p> <p>The StatelessWidget Lifecycle 6</p> <p>The StatefulWidget Lifecycle 6</p> <p>Understanding the Widget Tree and the Element Tree 8</p> <p>Stateless Widget and Element Trees 9</p> <p>Stateful Widget and Element Trees 10</p> <p>Installing the Flutter SDK 13</p> <p>Installing on macOS 13</p> <p>System Requirements 13</p> <p>Get the Flutter SDK 13</p> <p>Check for Dependencies 14</p> <p>iOS Setup: Install Xcode 14</p> <p>Android Setup: Install Android Studio 14</p> <p>Set Up the Android Emulator 15</p> <p>Installing on Windows 15</p> <p>System Requirements 15</p> <p>Get the Flutter SDK 16</p> <p>Check for Dependencies 16</p> <p>Install Android Studio 16</p> <p>Set Up the Android Emulator 17</p> <p>Installing on Linux 17</p> <p>System Requirements 17</p> <p>Get the Flutter SDK 18</p> <p>Check for Dependencies 19</p> <p>Install Android Studio 19</p> <p>Set Up the Android Emulator 19</p> <p>Configuring the Android Studio Editor 20</p> <p>Summary 20</p> <p><b>Chapter 2: Creating a Hello World App 25</b></p> <p>Setting Up the Project 25</p> <p>Using Hot Reload 30</p> <p>Using Themes to Style Your App 33</p> <p>Using a Global App Theme 33</p> <p>Using a Theme for Part of an App 35</p> <p>Understanding Stateless and Stateful Widgets 37</p> <p>Using External Packages 38</p> <p>Searching for Packages 39</p> <p>Using Packages 40</p> <p>Summary 41</p> <p><b>Chapter 3: Learning Dart Basics 43</b></p> <p>Why Use Dart? 43</p> <p>Commenting Code 44</p> <p>Running the main() Entry Point 45</p> <p>Referencing Variables 45</p> <p>Declaring Variables 46</p> <p>Numbers 47</p> <p>Strings 47</p> <p>Booleans 47</p> <p>Lists 47</p> <p>Maps 48</p> <p>Runes 48</p> <p>Using Operators 49</p> <p>Using Flow Statements 51</p> <p>if and else 51</p> <p>ternary operator 52</p> <p>for Loops 52</p> <p>while and do-while 53</p> <p>while and break 54</p> <p>continue 54</p> <p>switch and case 55</p> <p>Using Functions 55</p> <p>Import Packages 57</p> <p>Using Classes 57</p> <p>Class Inheritance 60</p> <p>Class Mixins 60</p> <p>Implementing Asynchronous Programming 61</p> <p>Summary 62</p> <p><b>Chapter 4: Creating a Starter Project Template 65</b></p> <p>Creating and Organizing Folders and Files 65</p> <p>Structuring Widgets 69</p> <p>Summary 74</p> <p><b>Chapter 5: Understanding the Widget Tree 77</b></p> <p>Introduction to Widgets 77</p> <p>Building the Full Widget Tree 79</p> <p>Building a Shallow Widget Tree 85</p> <p>Refactoring with a Constant 86</p> <p>Refactoring with a Method 86</p> <p>Refactoring with a Widget Class 91</p> <p>Summary 99</p> <p><b>Part II: Intermediate Flutter: Fleshing Out an App</b></p> <p><b>Chapter 6: Using Common Widgets 103</b></p> <p>Using Basic Widgets 103</p> <p>SafeArea 107</p> <p>Container 108</p> <p>Text 112</p> <p>RichText 112</p> <p>Column 114</p> <p>Row 115</p> <p>Column and Row Nesting 115</p> <p>Buttons 119</p> <p>FloatingActionButton 119</p> <p>FlatButton 121</p> <p>RaisedButton 121</p> <p>IconButton 122</p> <p>PopupMenuButton 123</p> <p>ButtonBar 126</p> <p>Using Images and Icons 130</p> <p>AssetBundle 130</p> <p>Image 131</p> <p>Icon 132</p> <p>Using Decorators 135</p> <p>Using the Form Widget to Validate Text Fields 139</p> <p>Checking Orientation 143</p> <p>Summary 149</p> <p><b>Chapter 7: Adding Animation to an App 151</b></p> <p>Using AnimatedContainer 152</p> <p>Using AnimatedCrossFade 155</p> <p>Using AnimatedOpacity 160</p> <p>Using AnimationController 164</p> <p>Using Staggered Animations 170</p> <p>Summary 175</p> <p><b>Chapter 8: Creating an App’s Navigation 177</b></p> <p>Using the Navigator 178</p> <p>Using the Named Navigator Route 188</p> <p>Using Hero Animation 188</p> <p>Using the BottomNavigationBar 193</p> <p>Using the BottomAppBar 199</p> <p>Using the TabBar and TabBarView 203</p> <p>Using the Drawer and ListView 207</p> <p>Summary 217</p> <p><b>Chapter 9: Creating Scrolling Lists and Effects 221</b></p> <p>Using the Card 222</p> <p>Using the ListView and ListTile 223</p> <p>Using the GridView 230</p> <p>Using the GridView.count 230</p> <p>Using the GridView.extent 232</p> <p>Using the GridView.builder 233</p> <p>Using the Stack 237</p> <p>Customizing the CustomScrollView with Slivers 243</p> <p>Summary 250</p> <p><b>Chapter 10: Building Layouts 253</b></p> <p>A High-Level View of the Layout 253</p> <p>Weather Section Layout 256</p> <p>Tags Layout 256</p> <p>Footer Images Layout 257</p> <p>Final Layout 257</p> <p>Creating the Layout 257</p> <p>Summary 265</p> <p><b>Chapter 11: Applying Interactivity 267</b></p> <p>Setting Up GestureDetector: The Basics 267</p> <p>Implementing the Draggable and Dragtarget Widgets 275</p> <p>Using the GestureDetector for Moving and Scaling 278</p> <p>Using the InkWell and InkResponse Gestures 289</p> <p>Using the Dismissible Widget 296</p> <p>Summary 303</p> <p><b>Chapter 12: Writing Platform-Native Code 307</b></p> <p>Understanding Platform Channels 307</p> <p>Implementing the Client Platform Channel App 309</p> <p>Implementing the iOS Host Platform Channel 313</p> <p>Implementing the Android Host Platform Channel 318</p> <p>Summary 322</p> <p><b>Part III: Creating Production-Ready Apps</b></p> <p><b>Chapter 13: Saving Data with Local Persistence 327</b></p> <p>Understanding the JSON Format 328</p> <p>Using Database Classes to Write, Read, and Serialize JSON 330</p> <p>Formatting Dates 331</p> <p>Sorting a List of Dates 332</p> <p>Retrieving Data with the FutureBuilder 333</p> <p>Building the Journal App 335</p> <p>Adding the Journal Database Classes 339</p> <p>Adding the Journal Entry Page 344</p> <p>Finishing the Journal Home Page 359</p> <p>Summary 371</p> <p><b>Chapter 14: Adding The Firebase and Firestore Backend 375</b></p> <p>What are Firebase and Cloud Firestore? 376</p> <p>Structuring and Data Modeling Cloud Firestore 377</p> <p>Viewing Firebase Authentication Capabilities 380</p> <p>Viewing Cloud Firestore Security Rules 381</p> <p>Configuring the Firebase Project 383</p> <p>Adding a Cloud Firestore Database and Implementing Security 391</p> <p>Building the Client Journal App 395</p> <p>Adding Authentication and Cloud Firestore Packages to the Client App 395</p> <p>Adding Basic Layout to the Client App 403</p> <p>Adding Classes to the Client App 406</p> <p>Summary 409</p> <p><b>Chapter 15: Adding State Management to the Firestore Client App 411</b></p> <p>Implementing State Management 412</p> <p>Implementing an Abstract Class 414</p> <p>Implementing the InheritedWidget 415</p> <p>Implementing the Model Class 416</p> <p>Implementing the Service Class 417</p> <p>Implementing the BLoC Pattern 417</p> <p>Implementing StreamController, Streams, Sinks, and StreamBuilder 419</p> <p>Building State Management 421</p> <p>Adding the Journal Model Class 422</p> <p>Adding the Service Classes 424</p> <p>Adding the Validators Class 430</p> <p>Adding the BLoC Pattern 432</p> <p>Adding the AuthenticationBloc 432</p> <p>Adding the AuthenticationBlocProvider 435</p> <p>Adding the LoginBloc 436</p> <p>Adding the HomeBloc 441</p> <p>Adding the HomeBlocProvider 443</p> <p>Adding the JournalEditBloc 444</p> <p>Adding the JournalEditBlocProvider 447</p> <p>Summary 449</p> <p><b>Chapter 16: Adding Blocs to Firestore Client App Pages 453</b></p> <p>Adding the Login Page 454</p> <p>Modifying the Main Page 460</p> <p>Modifying the Home Page 465</p> <p>Adding the Edit Journal Page 472</p> <p>Summary 484</p> <p>Index 489</p>
<p>About the author <p><b>Marco L. Napoli </b>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.
<p><b>Build your first app in Flutter— no experience necessary!</b> <p>Flutter gives new and experienced developers the ability to build beautiful mobile apps. With no previous Dart or mobile programming experience needed, Beginning Flutter helps with app creation using an accessible, teach-by-example approach. Build dynamic native mobile apps for Android and iOS at an accelerated pace by using a single code base. The single code is accessible on both platforms and avoids going through a complex series of codes for each operating system. Discover Beginning Flutter's hands-on approach and why so many developers find this language to be essential for building apps. <p><i>Beginning Flutter: A Hands On Guide To App Development:</i> <ul> <li><b>Explains</b> the ins and outs of Flutter, including all the framework, widgets, and tools available to developers</li> <li><b>Leapfrog</b> barriers to enter the mobile software market, creating your first app with no experience necessary</li> <li><b>Shares</b> how flutter gives you fast modern ways to develop with hot reload, expressive flexible UI, performance and smooth animation</li> <li><b>Uncovers</b> tips for accelerating app development by keeping all the code for cross-platform app in a single code base</li> <li><b>Features</b> helpful examples, as well as resourceful ways to handle common problems</li> </ul> <p><b>Wrox Professional guides</b> are planned and written by working programmers to meet the real-world needs of programmers, developers, and IT professionals. Focused and relevant, they address the issues technology professionals face every day. They provide examples, practical solutions, and expert education in new technologies, all designed to help programmers do a better job.

Diese Produkte könnten Sie auch interessieren:

AutoCAD 2013 For Dummies
AutoCAD 2013 For Dummies
von: Bill Fane, David Byrnes
PDF ebook
23,99 €
IBM Workplace Services Express For Dummies
IBM Workplace Services Express For Dummies
von: Stephen R. Londergan, Michael Loria
PDF ebook
16,99 €
Building Flash Web Sites For Dummies
Building Flash Web Sites For Dummies
von: Doug Sahlin
PDF ebook
18,99 €