In this post, I will share with you my humble opinion about using Flutter in large, scalable and maintainable projects. There is a lot of articles that are hyping Flutter. Unfortunately, there is not many articles about the possible problems that you can have. Here you can find few words against.

Why I would not recommend Flutter for building the best app in the world? With Flutter we will have to be more careful on every aspect of the development. It is still not mature enough. Of course, the title is a bite, I think that Flutter is an overall…

As a developer, I had many opportunities to take part in a lot of technical interviews, sitting on both sides of the table. I was the interviewee and interviewer. I’ve been interviewing candidates for companies where I work and helped other companies as part of consulting services.
So now you know a little about my background but what are these questions?

The Questions

  1. Tell me about your ideal app architecture and your current app architecture?
    This can be a really deep question and it can develop into anything. Everyone knows what is architecture. This can be obvious how it should look, but…

Maybe you got used to using Snackbar on views with List and Floating Action Button. You wrapped everything with CooridnatorLayout and watched shiny animation where FAB was moved up when Snackbar was shown. This looked good, and you were happy. But not anymore!

Some time ago Google changed how Snackbar and FAB should behave together. Now Snacbar should be shown above FAB!

You care about your user’s data and you encrypt them. Android provides you Android Keystore to make it easier — great! You also want to help your user migrate the data when he changes the phone or wipes out data. Here also you can use built-in Android Auto Backup for you — amazing!

Both things come directly from the framework and Google encourages us to use them by default. Could be something better? Anything could go wrong? Unfortunately everything.

You have to remember that Android Auto Backup will fail if you use Android Keystore to encrypt the data. Think about…

In programming, there is an open discussion as to whether you should only have one return statement.
You can use these two options (or more with variations or more arguments):

// Single return 
fun function1(argA: Any?) {
if(argA != null){
//do the magic return }
//Multiple return
fun function2(argA: Any?) {
if(argA == null) return
//do the magic return

I prefer the second option, to have more than one return statement. I see it as more readable, but I only use it for validation and these returns should be on the top of the function. …

Here you can find some quick tips that will allow you to make your app much safer without adding much work. This should be a standard for every, even the simplest one, app.

1. Use HTTPS

Nowadays this is standard and crucial to every communication over the Internet. This doesn’t impact performance but highly boost security thanks to encryption of your data communication.

2. Use Certificate Pinning

Certificate Pinning allows you to tell your app to trust this domain only if it shows a certificate that is embedded inside your app. …

Lately, in my current project, we had a discussion about the approach to update dependencies. New versions are released — some bugs are fixed, some newly created, sometimes we have breaking changes, sometimes it doesn’t’ change nothing. What, when and how to update? In the ideal world, everything would be automated, but does everything should be updated periodically? Do we want to update also major or only minor version? Maybe just patches?

TL;DR Real automation failed, but I use tools to have a semi-automated process that I go thought periodically. …

So you thought that your keys generated with an Android Keystore are securely stored in some hardware magic box? Not even close. You can find them on your drive.

The headline above is something of a clickbait, but there is a lot of truth in it as well. TL;DR Your generated keys, on most of the devices, are really stored on your drive besides other files. You CAN’T store anything inside your Keystore. Even generated keys. But you can feel safe about them.
Use Keystore to encrypt the data and be happy.

Now we can take a closer look. You…

What is Kotlin? Lately, we hear more often that name. I’m pretty sure that you’ve seen a lot of articles about it. If you haven’t tried it yet, you can find some basics about it here.†

JetBrains programmers were the opinion that most of the languages don’t have features that they need. There is scala, but, in comparison to Java, it simply compiles too slow. They’ve decided to create their own language, that will fully cooperate with Java and it will provide similar efficiency. This is how was Kotlin created, presented for the first time in 2011. This statically typed…

Artur Latoszewski

Mobile Tech Lead @ HSBC . . .🚀👨‍🚀📱 On a mission to build great mobile products.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store