1 Welcome

 

In this chapter:

  • What is Flutter?
  • What is Dart?
  • When is Flutter the right tool?
  • Why does Flutter use Dart?
  • The benefits of Flutter
  • Who uses Flutter

Flutter is a mobile sdk that, at its core, is fundamentally about empowering everyone to build beautiful mobile apps. Whether you come from the world of web development or native mobile development, Flutter makes it easier than ever to create mobile apps in a familiar, simplified way — without ever giving up control to the framework.

In fact, that’s how I’ve found myself here, writing this book. I had to learn Flutter because of my job, and I loved it from the moment I started. I effectively became a mobile developer overnight, because Flutter felt so familiar to my web development background. (The Flutter team has stated that they were influced by ReactJS.)

Flutter isn’t only about being easy, though. It’s also about control, and that’s where ‘interested, but skeptical’ turns into 'excited'. You can build exceptional mobile apps using Flutter with a shallow knowledge of the framework. But, you can also create incredible and unique features, if you so choose, because Flutter exposes everything to the developer.

This is a book about writing a (relatively) small amount of code and getting back a fully featured mobile app. In the grand scheme, mobile app development is new. It can be a pain point for developers and companies alike. I believe Flutter has changed that. (And, that’s a hill I’m willing to die on.)

1.1  On Dart

1.2  Why Does Flutter Use Dart?

1.3  Who Uses Flutter?

1.3.1  Teams, Project Leads, and CTOs

1.3.2  Individual Developers

1.3.3  Code School Students and Recent CS Grads

1.3.4  Open Source Developers

1.3.5  People Who Value Speed

1.3.6  People Who Are Lazy

1.3.7  People Who Value Control

1.4  Who is This Book For?

1.5  Other Mobile Development Options

1.5.1  Native Development (iOS and Android)

1.5.2  Cross-Platform JavaScript Options

1.6  The Immediate Benefits of Flutter

1.6.1  No JavaScript Bridge

1.6.2  Compile Time

1.6.4  Code Sharing