Developer Types | Mobile Applications Developer | Part I

Developer Types | Mobile Applications Developer | Part I

pikisuperstar — Freepik

This is the second developer type from the ‘Developer Types’ series.

Now, the job role itself might be pretty self-explanatory, but let’s dive deeper to see what a Mobile Developer is, what does he do, what are the types of Mobile Developers, and the requirements of landing a job as any of the 2 types of Mobile Developer in the first part of the Mobile Application Developer Showcase, as listing all the subcategories that differ by technologies would make this article much more lengthier.

What Is A Mobile Applications Developer?

A mobile applications developer is the type of developer specialized in building mobile applications for various platforms for various reasons. These platforms might be Android, iOS, Blackberry OS, Windows Mobile, etc. The choice of platforms will also, more or less, play a crucial role in becoming either one of the 2mobile developer types that we’ll now list below:

The Android Mobile Developer

This type of developer is tasked with building mobile applications on top of the Android Operating System. Now, for the tech stack of developing applications we will have the following:

  • Programming Languages: Java or Kotlin
  • Android Development Tools: Android Studio or Visual Studio Code with some integration done alongside Android Studio, Android SDK, ARCode
  • User Interface Frameworks: Jetpack Compose or Android UI
  • Technologies: Classic Bluetooth, OAuth 2.0, Amazon S3, NFC
  • Google Services: Google Maps, Cloud Firestore, ML Kit, Push Notifications, Firebase Analytics
  • Database: SQLite, MongoDB, Firebase, MySQL etc.

Now that we’ve defined the tech stack components that an Android Application includes, let’s dive deeper and see what this all means, from programming languages down to the database choice.

Programming Languages

When it comes to the programming languages used in Android Development, we have 2 choices:

Java

This is arguably the most popular language for building an Android app. Thanks to its usage by major companies, the language is well-supported and has great scalability. You’ll have a wide option of tools and libraries to choose from, plus they’re mostly open-source.

Kotlin

Since its launch in 2011, Kotlin has become a favorite amongst app developers and, more so, declared the second official Android development language by Google. You’ll get a cleaner code with Kotlin, and it saves roughly 30% off code space compared to Jave. Besides, Kotlin is 100% compatible with JVM, which means you can still use Java frameworks for developing the app.

Android Development Tools

This refers to what we use to enjoy a great development experience when working with the Android Development Ecosystem. When we talk about Development Tools for Android, the first thing that comes to mind would be the one and only Android Studio, the preferred IDE when developing applications on this platform. A great advantage of this tool would be the seamless integration with Android SDKs, as well as the Android Virtual Device (AVD for short), which is pretty powerful.

User Interface Frameworks

User Interface is referring to what the user sees at any time when using our application/s, or the interface that is shown to the user. Mobile Development in general is using components when it comes to developing interfaces. Such components would be a Blog Post, a container containing multiple blog posts, a comment section for a blog, a comment, an user avatar for the comment, etc.

Due to this way of structuring the interface and splitting it up into components, we have various UI kits/frameworks which provide us with various visual pieces that we can seamlessly integrate into our applications to extend its use and beautify its design.

Requirements of being an Android Developer:

As seen in the snapshots above, a mobile applications developer working on Android Apps will need to have some basic knowledge of a handful of technologies and concepts such as APIs, RESTful / SOAP APIs, experience working with either a SQL or NoSQL Database System, knowledge about mobile-specific concepts such as Bluetooth, connectivity, wifi, notifications, either one of the 2 programming languages specific to Android Development, etc.

Apart from the job requirements about Android Development, you can also check the great and insightful roadmap done by the people at roadmap.sh which you can check out in greater detail here.

https://roadmap.sh/android

Average Annual Salary For A Android Developer Around The World According To Glassdoor

United States

Germany

India

The iOS Mobile Developer

On the other hand, we have the iOS Mobile Developer, who is tasked with the development of applications on the iOS Operating System, using a bit of a different tech stack than what the Android Developer uses. The tech stack used for developing iOS Applications would be the following:

  • Programming Languages: Objective C or Swift
  • iOS Development Tools: Xcode, Visual Studio Code
  • Frameworks: Apple App Frameworks and App Core Services, Socket.IO, WebRTC, Stripe, Fabric, XMPPFramework, etc
  • User Interface Frameworks: UIKit, SwiftUI
  • Technologies: Apple Services (Maps, Cloud, Calls, Media, AR, etc.), Google Services(Google Maps, Cloud Firestore, ML Kit, Push Notifications, Firebase Analytics, etc.), In-App Purchases, NFC, WebSockets, OpenCV, OAuth, etc.
  • Database: SQLite, MongoDB, Firebase, MySQL etc.

Since we’ve defined the tech stack for an iOS Application, let’s dive in deeper and see what is it all about, and match up the differences between these 2 tech stacks so far.

Programming Languages

When talking about iOS development, we are talking about 2 specific programming languages, which would be:

Objective C

It’s the original language used to build the iOS app, and Apple is still providing support for it. Nevertheless, building an app with Objective-C isn’t easy, and developers are prone to make mistakes with it.

Swift

Swift is a relatively newer language introduced in 2014, and developers are favoring it over Objective-C. Thanks to its safer syntax, fewer mistakes are committed and apps are developed in much less time. It’s also easier to find developers adept in Swift as it’s easier to learn and master.

iOS Development Tools

XCode

It’s the official development tool by Apple, and it’s your go-to platform whether you’re using Swift or Objective-C. It has all the features needed to build a native iOS mobile app, including a visual interface builder.

Visual Studio Code

Visual Studio Code (VSCode) is a cross-platform text and source code editor from Microsoft. It’s one of the most exciting open-source projects today, with regular updates from hundreds of contributors. VSCode was among the first tools to support Language Server Protocol (LSP), which has played a large part in providing a great developer experience, in a variety of languages and technologies.

Frameworks

Here we’ll have the Apple App Frameworks and App Core Services and XMPPFramework.

According to apple.developer:

The technologies in the Core Services layer are called core services because they provide essential services to apps but have no direct bearing on the app’s user interface. In general, these technologies are dependent on frameworks and technologies in the two lowest layers of OS X — that is, the Core OS layer and the Kernel and Device Drivers layer.

As for the XMPPFramework:

XMPPFramework provides a core implementation of RFC-3920 (the XMPP standard), along with the tools needed to read & write XML. It comes with multiple popular extensions (XEP’s), all built atop a modular architecture, allowing you to plug-in any code needed for the job. Additionally the framework is massively parallel and thread-safe. Structured using GCD, this framework performs well regardless of whether it’s being run on an old iPhone, or on a 12-core Mac Pro. (And it won’t block the main thread… at all)

Requirements of being an iOS Developer

After some research, I found a reliable roadmap, since the people at roadmap.sh don’t have one available at the moment at which this article was written, which might help you on the journey of becoming an iOS developer, or you can just check out of curiosity right here.

https://github.com/BohdanOrlov/iOS-Developer-Roadmap

Average Annual Salary For An iOS Developer Around The World According To Glassdoor

United States

Germany

India

Conclusion

In this article I tried to give out some insightful information to fellow developers and beginners who are to looking to either change careers or become a Mobile Developer.

I tried to cover as much useful information in as few paragraphs as I could, although I am still thinking about doing an individual article for each of these 2 ‘subcategories’ of a Mobile Developer, so let me know how you see this idea as well.

All in all, I hope you found this article useful, and be sure to check out the rest of my articles as well, as I’m trying to reach out to fellow developers and help everyone as much as I can with these stories by providing as much useful information as I can.

Here you can check the first article of the “Developer Types” to get you up to date with the series:

Developer Types | The Web Developer

If you want to learn more about my journey as a Web Developer who started working at 17 be sure to check this story:

My Roadmap of becoming a Web Developer at 17

Did you find this article valuable?

Support Vlad Mihet by becoming a sponsor. Any amount is appreciated!