Fluttercon 2023. Notes. DAY 2

Oleksandr Tilnyi
5 min readJul 6, 2023

--

Hello there! Attending the Fluttercon conference has been an amazing experience so far. It was the second day of the conference, and it was as great as the first day.

Today I’ve finally fought myself and I had the chance to talk to other developers who are also interested in Flutter. It was inspiring to see how different people are using Flutter to create amazing apps and tools for others, and how they are pushing the boundaries of what is possible.

Speaking with people at Fluttercon inspired me to develop myself in public speaking and improve my personal brand. I realized that I had been stuck a little and that there were many ways to approach self-improvement and networking.

Leaving the Nest: the next 10 Years of Flutter by Eric Seidel

That was very nice to attend Eric’s speech, he is an ex-Googler and the presentation was really pushing the limits. He presented his project, named Shorebird.

Shorebird is an innovative technology that enables developers to push code updates to their apps without requiring the need for app store approval. This means that developers can continuously improve their app with new features, bug fixes, or any other kind of update, and users can receive these updates in real time, similarly to how web applications work.

One of the key features of Shorebird is its custom Dart interpreter which enables it to push code updates dynamically. This makes it an ideal solution for developers who want to make quick updates to their app without having to go through the lengthy app store approval process.

Using Shorebird, developers can push updates to their apps as frequently as they want, without worrying about their updates getting rejected by the app store due to policy violations. This eliminates the main fear associated with this technology and gives developers much more flexibility in updating their apps.

All these features make Shorebird a great tool for developers who want to provide the best possible experience for their app users.

Building a large-scale Flutter mobile banking application with 25 Flutter Devs by Mateusz Wojtczak & Albert Wolszon

The main reason why people rejected Flutter at its very beginning was the question, “How can it live in the enterprise world?” Mateusz Wojtczak and Albert Wolszon from Lean Code showed how it works from the inside.

The most interesting part of their presentation for me was how the banking app architecture looks from the inside. Honestly, it is more or less what you can see in small/medium scale applications, but of course not without modifications. The architecture is feature-based, meaning you have a different package for every feature, and inside it has its business logic, and UI (widgets and screens). The interesting solution they had is how communication between different features works. It evaluates the Facade design pattern, which I have not thought about at this scale. It means that there was a main feature package and a feature public package, which was made only for exposing the API for other packages — only things that were required to get, without giving other packages any context of the inside kitchen.

Also, the guys talked about the design system they created for the application, which covered custom and unified text styles, color schemes, and spacings. That was more of a refreshing guide which I definitely want to use in my projects because the design system, for me personally, is a topic that was partially covered by a secret.

Healthy Code: A guide to Flutter App audit by Daria Orlova

Honestly, I was thrilled to attend this speech. For me, Daria Orlova is a person from whose blog I found out that Flutter started being used in production apps back in 2020 when my mobile developer journey began. I would call her my ‘developer-soul-mentor’ 😀

The well-structured presentation shows the bullet points of how to provide a health check for the app’s codebase. I have struggled when encountering such things but never actually figured out how to deal with them properly.

So there are four different perspectives through which you should perceive the codebase:

  • Developer perspective. Firstly, it stands on the overall developer’s satisfaction with working on the codebase (documentation, all required data to run the app locally, API keys). The second part is about overall details — is the used architecture pattern built well, is it scalable, are the data layer and models designed well, is there any design system that is clear to use and modify, is the code itself understandable from the ‘meaning’ point of view?
  • User perspective. As the name suggests, it stays on overall user satisfaction with the app. As a developer, you always need to think about user feelings when the app is used, whether the UI runs smoothly, whether there are any UX bad practices (i.e. not showing any status bar when a fatal error occurs), and whether the UI state is clear to the user. All of the checkpoints for this perspective stand on ‘what will the user feel using your application.’
  • Production perspective. Everyone wants to ship their product as fast as they can, but you also need to pay attention to a production-ready app’s health. This means any CI/CD process is stabilized, app bundle size is approvable by the stores, any 3rd party tools cost-efficiency (if they are used), do app permissions satisfy the stores’ policies.
  • Security perspective. In my previous Day 1 note, there was mention that hackers are the guys who want to breach in. So this check stands on how well your app is prepared for that. How and what type of authentication is used, is the app’s code obfuscated, does it have any real-time security for reverse engineering or rooted devices? It is worth mentioning that I was not convinced about that much until I have seen the presentations partially or fully about app security.

Taking advantage of this health check, in my opinion, can drastically improve the code quality, app scalability, maintenance process, and of course, developing new features. I would also underline that these should be the rules of a well-organized project.

Summary

Attending today’s presentations was for me a refreshing guide that I will definitely will or try to use in my own projects. Guys provided me with valuable insights into how to improve code quality, app scalability, and maintenance, which will help to overcome problems I already met and to avoid some of them in the future.

See you asap!

You can reach me by mail or on LinkedIn

--

--