Skip to main content
main-content

Über dieses Buch

Create iOS and Android apps with Flutter using just one codebase. App development on multiple platforms has historically been difficult and complex. This book breaks down complex concepts and tasks into easily digestible segments with examples, pictures, and hands-on labs with starters and solutions.

In doing so, you'll develop a basic understanding of the Dart programming language; the entire Flutter development toolchain; the differences between stateful and stateless widgets; and a working knowledge of the architecture of apps. All the most important parts of app development with Flutter are covered in this book. Work with themes and styles. Develop custom widgets. Teach your app to respond to gestures like taps, swipes, and pinches. Design, create and control the layout of your app. Create tools to handle form data entry from users. And ultimately create killer multiscreen apps with navigation, menus, and tabs.

Flutter is Google's new framework for creating mobile apps that run on iOS and Android phones both.You had to be a super-developer to write apps for iOS or Android alone. But writing for both? Forget about it! You had to be familiar with Swift, Java/Kotlin, Xcode, Eclipse, and a bunch of other technologies simultaneously. Beginning App Development with Flutter simplifies the entire process.

What You'll Learn

Get the most out of great Flutter widgets

Create custom widgets, both stateless and statefulExercise expert control over your Flutter layoutsMake your app respond to gestures like swiping, pinching and tappingInitiate async Ajax calls to RESTful APIs — including Google Firebase!

Who This Book Is ForDevelopers who have coded in Java, C#, C++, or any similar language. It brings app development within the reach of younger developers, so STEM groups are likely to pick up the technology. Managers, product owners, and business analysts need to understand Flutter's capabilities.

Inhaltsverzeichnis

Frontmatter

Introduction to Flutter

Frontmatter

Chapter 1. Hello Flutter

Abstract
Picture this in your mind’s eye. You are the superintelligent and capable CEO of a new business. Obviously your mission is to maximize sales while minimizing expenses. “Hmmm.”, you think. “I can really increase sales if I make our products available on the Web.” So you ask your friends how to create a web app and they say ...
Rap Payne

Chapter 2. Developing in Flutter

Abstract
As we saw in the last chapter, Flutter enables us to create apps that run on the Web, on desktop computers, and on mobile devices (which seems to be the main draw). But wait a second, how exactly do we create these apps? What editor should we use? What is needed in the Flutter project? How do you compile the Dart source code? Do we need any other tools to support the project? How do you get it into a browser or on a device in order to test it out? Good questions, right?
Rap Payne

Foundational Flutter

Frontmatter

Chapter 3. Everything Is Widgets

Abstract
Let’s pretend that you are an insanely talented Lego nerd and got offered one of the few coveted jobs as a Lego Master Builder. Congrats! Let’s also say that your first assignment is to build a six-foot-tall Thor made from 26,000 Legos (Figure 3-1).
Rap Payne

Chapter 4. Value Widgets

Abstract
We learned in the last chapter that everything is a widget. Everything you create is a widget and everything that Flutter provides us is a widget. Sure, there are exceptions to that, but it never hurts to think of it this way, especially as you’re getting started in Flutter. In this chapter we’re going to drill down into the most fundamental group of widgets that Flutter provides us – the ones that hold a value. We’ll talk about the Text widget, the Icon widget, and the Image widget, all of which display exactly what their names imply. Then we’ll dive into the input widgets – ones designed to get input from the user.
Rap Payne

Chapter 5. Responding to Gestures

Abstract
We’ve made great progress so far! You now know what Flutter is all about. You’re well-versed in how the development and debugging process works. You know why we use widgets and are pretty darn familiar with the value widgets from the last chapter. Heck, you can even create your own stateless widgets. But we’re still missing a major fundamental feature: event handling.
Rap Payne

Chapter 6. Laying Out Your Widgets

Abstract
Now that we’re familiar with some widgets that hold a value and how to make them respond to gestures, we are ready to make them lay out properly. In this chapter, we’re going to deal with the major techniques of getting your widgets to appear on the screen in various relations to one another and to manage the space between them. Notice that I said “major techniques” not “all techniques.” This is because Flutter has dozens of widgets for laying things out, many of which overlap in functionality with others. This is great if you enjoy lots of choices, but the more choices you have, the more complex a subject is.1 So to spare you the confusion, we’re not going to cover 100% of the widgets or the options. Instead we’re going to focus on the ones that will get the job done in the real world without overwhelming you. We suggest that you learn the techniques in this chapter to get you 90% of what you’ll ever need for layouts. Then, when you run across a situation that you can’t solve with these techniques, you can do some research or call for help.
Rap Payne

Chapter 7. Navigation and Routing

Abstract
All apps have the concept of moving from one screen to another. The user clicks the cart button, and we go to the card screen. The user clicks “continue shopping” button, and we get to browse for more products to buy. Some app developers call it routing. Others call it navigation. Whatever you want to call it, this is one area that Flutter makes really easy because there are only four ways of navigating:
Rap Payne

Chapter 8. Styling Your Widgets

Abstract
Styling your widgets isn’t entirely new to you. We’ve touched on some minor styling features in prior chapters, and you’ve seen styling techniques in our code samples. But this is the chapter where we’ll take a deep dive on styling. Finally! We get to make our widgets look great in addition to merely working great.
Rap Payne

Chapter 9. Managing State

Abstract
We kind of telegraphed this topic since the first chapter because we’ve been writing classes that extend a StatelessWidget. Now if Flutter has a StatelessWidget, then you’d think it also has a StatefulWidget. And you’d be right.
Rap Payne

Above and Beyond

Frontmatter

Chapter 10. Your Flutter App Can Work with Files

Abstract
At this point in our journey, you’ve learned how to create a Flutter app and precisely control how it looks and lays out in any orientation and on any device. That’s pretty cool! You know how to have it maintain data with Form fields. But how do we get it to save that data? How do we get it to read that data in the first place?
Rap Payne

Chapter 11. Making RESTful API Calls with HTTP

Abstract
Now we know how to create a Flutter app, use external libraries and asynchronously read and write data in JSON format. That actually puts us in a great position to go just one small step forward and exchange data with an API server, something that is absolutely essential if we are going to write real-world apps. Here’s what we need to know:
Rap Payne

Chapter 12. Using Firebase with Flutter

Abstract
As an entrepreneur/mentor, I’ve been pitched a ton of great ideas for business apps. Without exception every one that had any worth has involved a server storing data. So if we care about the real-world use of Flutter, it would be criminal to ignore talking to a production-ready server.
Rap Payne

Backmatter

Weitere Informationen

Premium Partner

    Bildnachweise