Beginning App Development with Flutter: Create Cross-Platform Mobile Apps

Author:   Rap Payne
Publisher:   APress
Edition:   1st ed.
ISBN:  

9781484251805


Pages:   309
Publication Date:   05 December 2019
Format:   Paperback
Availability:   Manufactured on demand   Availability explained
We will order this item for you from a manufactured on demand supplier.

Our Price $54.99 Quantity:  
Add to Cart

Share |

Beginning App Development with Flutter: Create Cross-Platform Mobile Apps


Add your own review!

Overview

Full Product Details

Author:   Rap Payne
Publisher:   APress
Imprint:   APress
Edition:   1st ed.
Weight:   0.516kg
ISBN:  

9781484251805


ISBN 10:   1484251806
Pages:   309
Publication Date:   05 December 2019
Audience:   Professional and scholarly ,  Professional & Vocational
Format:   Paperback
Publisher's Status:   Active
Availability:   Manufactured on demand   Availability explained
We will order this item for you from a manufactured on demand supplier.

Table of Contents

"Section: Introduction to Flutter   1.     Hello Flutter Chapter Synopsis: Setting the stage for the book. Give the reader a feel for why they're here. What problems does Flutter solve? Why the boss would choose Flutter versus some other solution. What is covered in this book Brief chapter overview and roadmap What is notcovered and where to find answers to your questions The Dart language itself - There's an overview and cheatsheet in the Appendix Deploying to a store Device-specific programming Who is this book for? Who's a good fit and who is not Where to go to satisfy the prerequisites What is Flutter? Problems it solves Where it came from - Brief history and origins Competitors to Flutter What other options are available? What might you use if not Flutter? Advantages and disadvantages of Flutter vs the other options React Native Progressive Web Apps WebView solutions (Ionic, etc.) Truly native coding (Swift, Objective-C, Java, Kotlin) Characteristics of Flutter  - Big picture things to keep in mind to successfully code in Flutter This ain't the web! Imperative UI You're writing using Dart Everything is a widget (Define widgets and explain the big win of widgets) Widgets composition You have to watch state   2.     How do I develop in Flutter? Chapter synopsis: Flutter has a unique set of tools but it isn't always straightforward what each tool does and how to use it. This chapter guides the reader through the process of write-debug-test-run. Installing Flutter tooling - A very brief and high-level coverage of where to get the tools. It should be brief because the details are likely to change regularly. Overview of each tool The emulators iOS simulator through XCode Android emulator through Android Studio The IDE - Visual Studio Code Alternatives: Android Studio, Atom, jBoss, etc. The Flutter CLI How to check and repair your toolchain through Flutter doctor How to scaffold a new app How to run in an emulator When errors occur How to debug print() statement Flutter inspector or DartCode VS Code plugin Watch mode   Section: Foundational Flutter   3.     Everything is widgets Chapter Synopsis: Widgets are super-important to Flutter since they're the building blocks of every Flutter app. We show why and provide the motivation and basic tools to create widgets. Reminder about widgets Composition Define composition Provide real-world examples Why it is such a win Comparison with Web Components, React, Angular, and Vue The categories of Flutter UI widgets For each category, we'll explain why we'd use them, what they have in common, and give one or two examples of the most fundamental and needed widgets in each category. Value Widgets Example: Text widget Style Widgets Example: Center widget Composition Widgets Example: Container widget Navigation Widgets Example: AppBar widget Bringing the chapter together: Composing them in a custom widget Stateful vs. Stateless widgets What is state? How to create a custom stateless widget (Note: creating a stateful widget is complex so we're saving it for the State chapter).   4.     Value Widgets Chapter Synopsis: Deep dive into widgets that hold a value, especially user-input fields What's the pubspec.yaml file? Text widget ListView widget ListView for a small list ListTitle Using a ListView.builder() for memory efficiency Image widget Input widgets TextField widget Form widget TextFormField widget (Yes, it's different) CheckBox widget RadioButton widget DropDownButton and DropDownMenuItem widgets Validating input data   5.     Responding to Gestures Chapter Synopsis: How to make your program do things in response to user actions like taps, swiping, pinching, and the like The button family RaisedButton widget FlatButton widget IconButton widget FloatingActionButton widget CupertinoButton Custom gestures on custom widgets Step 1 - Decide on your gestures Step 2 - Create your custom widget Step 3 - Add a GestureDetector widget Step 4 - Associate your gesture with a method Example - LongPress Example - Pinching Example - Swiping Competing gestures The GestureArena and conflict resolution   6.     Laying out your widgets Chapter Synopsis: How to lay out a view, controlling how widgets are placed side-by-side and/or above-and-below, defining the amount of space between widgets, and aligning them vertically and horizontally How sizing widgets works Box constraints Box size vs widget size What's the difference and when each apply Width, height, minwidth, maxwidth, minheight, maxheight Layout properties that apply to most widgets Margin Border Padding EdgeInsets.all(), EdgeInsets.only() Position Alignment How to apply these things to widgets that don't support them Laying out the whole scene MaterialApp and Scaffold widgets AppBar widget SnackBar widget SnackBarAction Widgets that hold multiple children Row and Column widgets Aligning inside them ScrollView widgets To make view scrollable Expanded widget For when the contents are larger than the screen GridView widget For children across and then down. Like Pinterest Stack widget For allowing widgets to overlay each other in the z-direction Widgets that hold a single child Container widget Expanded widget Center widget SafeArea widget Card widget   7.     Navigation with widgets Chapter Synopsis: Making the app ""hide"" one widget and ""show"" another in response to user actions. This makes them feel like they're moving from one view to another. Dialog widget AlertDialog widget and showDialog method Why navigation? Why do we need routes? Named routes The Navigator widget Pushing and popping routes Setting up navigation MaterialPageRoute Types of navigation Tab navigation Stack navigation Dialogs and modals Passing context between routes Drawer widget Tab widget Stack widget Hamburger icon and dropdown navigation BottomSheet widget BottomNavigation widget   8.     Styling your widgets Chapter Synopsis: How to control each widget's position, color, spacing, and other presentational characteristics. We handled light styling as we introduced each widget above but this is where we answer all the questions needed to get a real-world app looking good. This is not CSS Styles don't get inherited What is Material Design? Some widgets take a style parameter. Text TextStyle letterSpacing, fontWeight, color textScaleFactor, fontSize textOverflow, maxlines Underline, overline, strikethrough Using custom fonts Google Fonts pubspec.yaml Selecting, downloading, applying BoxDecoration BorderRadius Widget BoxShadow Widget BoxShape enum (.circle, etc) Themes Applying a theme to the entire app Applying styles from the current theme   9.     Maintaining State Chapter Synopsis: How to get data from one widget to another and how to change that data. Reminder of stateful vs. stateless widgets When to choose each How to create a custom stateful widget Extend StatefulWidget with createState() Extend State with build() Call setState() to trigger a re-render Passing data from host to inner Passing data from inner to host Sharing data between siblings and cousins   Section: Above and Beyond    10.  Talking to other computers Chapter Synopsis: How to read from and write to a server. This is where we show how to make Ajax calls. Why would we want to talk to a server? RESTful APIs are amazing! Definition of REST Structure of REST Get a feel for the API we'll be using in the Firebase appendix How to read a single record How to read a list of records How to add a new record How to delete an existing record How to update an existing record   11.  Including external libraries Chapter Synopsis: How to find, install, and use 3rd-party components and libraries in your Flutter app Locating libraries Installing libraries Integrating in your Flutter app   12.  Using the camera and other device resources Chapter Synopsis: How Flutter allows us to programmatically use the phone's native hardware Taking pictures and video with the camera Making phone calls Sending SMS/text messages Using the GPS and geolocation to know where you are Reading sensors -- thermometer, brightness, proximity, air pressure, accelerometer and gyroscope Battery Power monitor   Section: Appendices   Dart language intro Chapter Synopsis: A brief introduction to the Dart language. More of a cheat sheet Flutter procedural code is written in Dart Why did Google choose Dart? Advantages and Disadvantages of Dart Sort of a compromise between JavaScript and Java Statically-typed like Java Truly object-oriented like Java Dart vs. JavaScript Dart vs. Java/C# Features of Dart we need for Flutter   Firebase Chapter Synopsis: Firebase is the Google service we'll be using to host our RESTful data. This appendix is a high-level explanation, just enough for the reader to understand the server-side tools. Demystifying the backend enough so the reader isn't distracted. Answers the question, ""What parts are done in Flutter and what parts are done by something else?"" Firebase functions Firebase Firestore  Firebase authentication  "

Reviews

Author Information

Rap Payne has focused on mobile development since he started Agile Gadgets, a mobile app development company in 2003. He is a consultant, trainer, and entrepreneur who has written apps, mentored developers, and taught software development classes for Fortune 500 companies like Boeing, Walmart, Coca-Cola, Wells Fargo, Honda,CVS, GE, Chase, HP, Lockheed, Exxon-Mobil, Lowe's, Nike, J.C. Penney, USAA, Walgreen's, and government agencies like the US Air Force, Navy, Army, NASA, Britain's GCHQ, Canada's postal service, and several provincial governments, to name a few. As a professional mentor and trainer, Rap has developed a talent for communicating highly complex ideas in easy-to-understand ways. And as a real-world developer, he understands the need to teach these topics using practical and realistic examples and exercises.

Tab Content 6

Author Website:  

Customer Reviews

Recent Reviews

No review item found!

Add your own review!

Countries Available

All regions
Latest Reading Guide

wl

Shopping Cart
Your cart is empty
Shopping cart
Mailing List