How to Build an App with Flutter – Part 1. Introduction
Discover the most important functionalities of Flutter and dig deeper into its core mechanisms in this new guide from our Flutter development team.
Flutter, Flutter, Flutter. We can find this word all over the internet, somewhere in Twitter feed or recommended videos on Youtube. Flutter is a great tool from Google for creating cross-platform applications which – starting from the newest stable version – can be deployed to the web, desktop, and mobile. Google is promoting Flutter as a simple framework that allows us to create quality maintainable solutions. Easy, it is just the next cross-platform framework.
Flutter launched as a project called Sky which at the beginning worked only on Android. Flutter’s goal is enabling developers to compile for every platform using its own graphic layer rendered by the Skia engine. Here’s a brief presentation of Flutter’s relatively short history.
Flutter – a short history
Flutter is one of the most dynamically developed products for programmers today. That’s mainly because of the huge community Google managed to gather in a very short period of time.
According to Github’s State Of The Octoverse 2019, Flutter occupied the third place when it comes to the number of contributors. Thirteen thousand of contributors is a lot!
Of course, it doesn’t tell much about Flutter’s quality. But it’s definitely a signal that the community wants to participate in developing it. What’s most important, it seems that a lot of developers are willing to use Flutter which I think is a crucial factor for the success of open source projects.
Many people try their hand at Flutter, and plenty of them are beginners who want to launch a career in IT. That’s why you can find so much content about how to write simple Flutter applications. The learning curve of the technology isn’t that steep since it can serve as a cross-platform solution.
Why we decided to write some more about Flutter
But if there’s so much content about Flutter on the web, why do we even write about it? Firstly, because it’s worth to check new things, give them a try, analyze their pros and cons, and draw conclusions for our projects.
We’d like to do the same with Flutter. Secondly, we believe that a lot of content about Flutter lacks depth in its approach to the topic. We can only find simple code samples with a single functionality that don’t even reveal anything about what exactly this mysterious widget is (and not everything in Flutter is actually a widget).
Such blog posts and articles most often focus on implementing one narrow functionality. And we all know that in real-life projects integration is the key. In our opinion, Flutter can definitely help in creating commercial applications that are easy to modify and maintain. But behind every good project stands a well planned architecture.
With this thought at the back of our minds, we decided to start a blog post series where we will:
- show you the most important functionalities of Flutter,
- dig deeper into its core mechanisms,
- and share knowledge about more than just how to create the layout of the Netflix app in half an hour.
We want to create an application that would allow you to get it all and show you the entire process.
We will do it based on an unused application concept with design provided by our designer, Jakub Lorek. Project Smoge is an application that informs about the air quality and advises users about a proper time for bike training or jogging. The completion of all of the app use cases allows us to get through the fundamentals of mobile development with our new shiny framework.
We will start with the available tools for developing in Flutter, setting up our project from scratch and then finish with refining the application in terms of UX.
Stay tuned for the next part of our series about developing apps with Flutter!
And in the meantime, check out these articles we wrote about this technology:
- Flutter in Mobile App Development – Pros & Cons for App Owners
- Flutter vs React Native – what to choose in 2020?