Book Image

Flutter Projects

By : Simone Alessandria
Book Image

Flutter Projects

By: Simone Alessandria

Overview of this book

Flutter is a modern reactive mobile framework that removes a lot of the complexity found in building native mobile apps for iOS and Android. With Flutter, developers can now build fast and native mobile apps from a single codebase. This book is packed with 11 projects that will help you build your own mobile applications using Flutter. It begins with an introduction to Dart programming and explains how it can be used with the Flutter SDK to customize mobile apps. Each chapter contains instructions on how to build an independent app from scratch, and each project focuses on important Flutter features.From building Flutter Widgets and applying animations to using databases (SQLite and sembast) and Firebase, you'll build on your knowledge through the chapters. As you progress, you’ll learn how to connect to remote services, integrate maps, and even use Flare to create apps and games in Flutter. Gradually, you’ll be able to create apps and games that are ready to be published on the Google Play Store and the App Store. In the concluding chapters, you’ll learn how to use the BLoC pattern and various best practices related to creating enterprise apps with Flutter. By the end of this book, you will have the skills you need to write and deliver fully functional mobile apps using Flutter.
Table of Contents (15 chapters)
12
Assessment

What this book covers

Chapter 1, Hello Flutter!, is an introductory chapter, where you'll build "Hello Flutter," an app that shows the presentation screen of a fictitious travel agent. The project will focus on how to create a very basic app with Dart and Flutter and give you the foundation necessary for the rest of the book.

Chapter 2, Miles or Kilometers? Using Stateful Widgets, shows how to build a Measures Conversion App. The main goal of this chapter is to introduce State into a Flutter app, to make it interactive. In this project, you will use TextFields, DropDownButtons, and the setState() method to update the state of a stateful widget.

Chapter 3, My Time – Listening to a Stream of Data, shows a more advanced way of dealing with state: listening to streams of data. In this project, you will create a productivity timer, with an animation based on streams. This chapter will introduce asynchronous programming in Flutter and several core concepts, such as navigation, using libraries, and storing data.

Chapter 4, Pong Game – 2D Animations and Gestures, is about making a simple two-dimension animated game, where a ball will move across the screen, and the player will need to prevent the ball from "falling" out of the screen. The main topics of this chapter include using animations, detecting gestures with the Gesture Detector, and generating random numbers.

Chapter 5, Let's Go to the Movies – Getting Data from the Web, deals with the creation of an app that shows a list of movies taken from a web service. The main topics include using ListViews, parsing JSON data, connecting to remote services through the HTTP protocol, and building GET requests to perform searches on the API. Asynchronous programming in Dart is used throughout the chapter.

Chapter 6, Store That Data - Using Sq(F)Lite to Store Data in a Local Database, shows how to create a shopping list that will be built in this project. The main concepts in this project include using SQLite in Flutter; creating model classes; performing Create, Read, Update, and Delete (CRUD) actions; and using the singleton model.

Chapter 7, Firing Up the App – Integrating Firebase into a Flutter App, shows how to create a full-stack application, designing both the frontend UI and the backend in record time, leveraging Firebase.

Chapter 8, The Treasure Mapp – Integrating Maps and Using Your Device Camera, builds an app that allows users to mark places on a map and add some data and a picture over it. Pictures will be created by using the camera. This project covers two important features of mobile programming: geolocation and using a device's camera.

Chapter 9, Let’s Play Dice: Knockout – Creating an Animation with Flare, focuses on a project where you'll build a dice game in Flutter, using Flare, an online tool that makes it easy to create beautiful animations and include them directly in Flutter.

Chapter 10, ToDo App – Leveraging the BLoC Pattern and Sembast, shows how to leverage the BLoC (Business Logic Component) pattern to manage app state. You'll also see how to use the Simple Embedded Application Store database to store data in your device.

Chapter 11, Building a Flutter Web App, shows how to build a Flutter app that runs on a browser and how to create responsive user interfaces.