Screenmedia’s mobile team have recently completed training in Google’s Flutter cross-platform mobile development framework, so what’s our hands-on thoughts on it?
Since its launch Flutter has been lauded in the mobile app development space which makes it hard to ignore. We began looking into Flutter last year, and it left an immediate impression on us. 6 months on and our enthusiasm hasn’t been dampened, with our mobile developers Gordon, Iain and myself having now completed training courses in the framework.
In this blog we’ll discuss how and why we decided to train ourselves in Flutter and why it’s become a feasible option for new cross-platform apps.
Personally, I’m not the type of person that spends hours reading books and documentation before trying to build an app; visual learning is what works best for most of our team members and I, and Udemy is the platform of choice for my learning style. Luckily they host a great choice of Flutter courses with good variety of content and quality.
Coming from native iOS app development with Swift, and having dabbled with Apple’s new UI framework SwiftUI, I found Flutter and its language Dart very easy to pick up and learn. Dart is made to make developers’ lives a breeze and is in some ways similar to Swift. Flutter uses a declarative style when creating user interfaces, and at first the mind shift from the imperative style used by many other UI frameworks may feel a little uncomfortable to work with, but after spending some time with it, it starts to feel natural to work that way.
When learning Flutter, any previous knowledge of native app development using Kotlin/Java for Android or Swift/Objective-C for iOS is not a requirement but it does feel advantageous when facing platform specific problems or having to work with device-specific features. One common issue I’ve come across in the Flutter community is developers not understanding the signing and deployment process of apps, and on iOS specifically this could become a blocker if you don’t know what you are doing.
You could say the ‘F’ in Flutter stand for ‘Fast’ 😊 Compared with other cross-platform frameworks it does feel really fast, and the hot reload feature is a dream to mobile app developers. When working on the UI, being able to see the result in milliseconds pushes you to work in a feedback-driven development process; instead of trying to guess the outcome, you can get feedback immediately without waiting for the app to rebuild.
If you want to be best friends with your UI designers, Flutter’s a must, as there's often a trade off with beautiful design when using other cross platform frameworks. Being able to control every pixel on the screen gives you unlimited powers to execute on your designer’s wildest dreams. Also making the app look the same on Android and iOS is no longer a problem as the UI code is 100% shared, but you can still make the app look platform-specific by adapting only the parts that should be different.
If you feared animations in your apps before, Flutter’s out of the box features let you make quick work of them without having to solve all sorts of maths problems, giving your app a more fluid and responsive feel. If you feel brave you can also add custom animations to any UI elements or widgets, and it will work on Android and iOS from the same single codebase.
The aspect of Flutter that I like most is that it focuses you on putting the end user first, without being so distracted by the technical problems and limitations that often take the majority of the time spent developing mobile apps.
It is not a secret that Flutter’s community is growing rapidly every week and has already overtaken many of its competitors. The size of the community and the quality of the content that is shared daily makes the Flutter community feel active and alive. Having attended Flutter Scotland’s offline event and numerous online events by Flutter Warsaw, Flutter Berlin & FlutterLDN really gives you the confidence that Flutter is ubiquitous and you’re not alone, and that everyone in the mobile development industry is watching this space.
Just by looking at the list of successful apps that companies are building with Flutter and the contribution of their developers to the Flutter community, it really shows that the framework is backed not only by Google, but also by many other major players in the software industry.
Flutter is developer friendly and allows you to focus on what’s most important; building an amazing app for the end user to enjoy no matter what platform they are on. The speed of development, the satisfaction of knowing that you can do anything you want, without having to compromise on performance or worry about blockers, really makes Flutter a strong consideration when building a new mobile app.
We’ve got plenty more exploring to do with Flutter, and are excited to introduce it to our clients amid our suite of mobile, web and cloud development services. If you’re looking for a way to improve your mobile apps, or are considering launching a new app project, get in touch and we’d love to see if Flutter is the right approach for you!