Being a Mobile Developer in 2019 and beyond

What you need to do to stay updated as a developer in this ever-changing industry

The world of technology and software is ever-changing and that means you need to stay on top of the news in order to avoid being caught out only being able to work with outdated technologies and frameworks.

We’re still in the app “bubble” apparently

Good news: yes, it looks like the biggest market for software development is still the mobile app market.

More and more people are doing more of their computing on mobile devices and using their desktop computers less, so the need for a mobile-specific experience, so you don’t need to worry about

But it’s not the same as it was a few years ago: the tools you use for it have radically changed.

The iOS side of things

The Swift logo is a trademark of Apple Inc.

iOS an ever-shrinking, but relevant, section of the mobile market, since iOS users still tend to spend more money to buy apps that most Android users would, and it is still not very far from having half of the market share, especially in the United States.

It’s a shrinking market but it has also gotten easier to developer for over the years in many aspects.

First off, Objective-C is dying off, last year its successor Swift surpassed it in terms of popularity in the entire professional development market, so learning Objective-C now would be rather counter-productive unless it’s a specific requirement for something you need to do.

Also, Swift is a lot simpler to pick up than Objective-C and it has a much simpler and concise syntax, making it more readable and maintainable after the code has been written.

The macOS requirement is still there and will probably stay there since it looks like it isn’t enough to deter most developers from building apps for iOS.

The Android side

“The Android robot is reproduced or modified from work created and shared by Google and used according to terms described in the Creative Commons 3.0 Attribution License.”

Over here the revolution hasn’t happened yet, but that doesn’t mean Java is still unchallenged in the Android world.

On the Android side, things aren’t quite as clear as in the iOS: Java is still alive and well (at least mostly) and Kotlin is really new and isn’t nearly as popular as Swift is on the other side: Kotlin might be hot for start-ups and independent/freelance developers, but the established companies are still relying on Java to do the job.

Also, Google doesn’t actually look like they’re too interested in pushing Kotlin for too much longer as they seem to be intent on moving people over to their own new Flutter framework, perhaps to help with making moving from Android to Fuchsia smoother, as Flutter is natively compatible with Fuchsia.

Fuchsia

Fuchsia is the (rather funny coloured) elephant in the room.

Google is working on a new operating system called Fuchsia running on a Google-developed kernel (ditching Linux) to replace both Android and Chrome OS to give better performance and an unified experience, which might sound great until you think about how terrible app compatibility might end up being for a brand new platform.

There are many rumors about it: while it is probable that it will also support Android applications and some think it may support apps written in the Swift language, the only thing that’s certain is that it will natively support apps written using Flutter.

This gives us a great chance to talk about just that: let’s talk about Flutter!

Flutter

“The Flutter logo is reproduced or modified from work created and shared by Google and used according to terms described in the Creative Commons 3.0 Attribution License.”

Flutter reached 1.0 in December and I have repeatedly shown excitement and interest in its developments, especially because it has been developed by Google themselves and officially supported by Apple too.

Flutter is here right now and you can build apps that work on both iOS and Android without having to write the same app twice and without having to rely on web-based tools like Microsoft’s Xamarin or Facebook’s React Native.

You can run Java/Kotlin and Swift/Obj-C code effortlessly within Flutter apps to run lower-level or legacy code, but you can easily get away with just using standard Flutter and the great collection of third-party (but also first-party) libraries already available for it.

If you are as excited about Flutter as I am, make sure to follow me on Twitter @carminezacc and check out my Medium profile for more mobile and web development advice and information from yours truly.