You learned in part 1 of this course that websites sometimes look and behave differently depending on the device you're using. Mobile devices like smartphones or tablets might show a simplified version of a website that looks better on small screen sizes, for example.
Front-end and back-end developers rarely write code for iOS (iPhone, iPad, etc.) and Android apps themselves. In this chapter, we'll talk about a highly specialized type of coder that works specifically on mobile experiences: the mobile developer.
Of course, there are other types of mobile developers beyond just people that build iOS and Android apps. The market is so saturated in these two areas though that, for the sake of brevity, we'll focus on those. Let's start with iOS developers.
Who here has an iPhone or iPad? Raise your hand! If so, congratulations: you've used a device that has apps on it created by iOS developers. iOS is Apple's operating system, which is why Apple devices like iPhones and iPads run on it.
A language called Swift is used to create iOS applications. If you've had an idea of an iPhone app that you've wanted to make, why don't you check out our introductory course on Swift to see if it interests you?
Android is the other big player in the mobile device universe. Android smartphones are everywhere, and it represents the largest mobile market in the entire world.
People that make apps for Android can be called Android developers. They often code in a language called Java or, more recently, a language called Kotlin.
Let's say you own a bakery that allows customers to order cakes online. You want to offer your customers an app as well that lets them do this easily from their smartphones.
If you couldn't already tell, paying two different developers (or more) to build two separate apps (one for iOS, one for Android) is a pain -- not to mention expensive! That's why there are a few cross-platform solutions out there that allow developers to build "apps" that work on both operating systems.
Ionic is an example of a cross-platform solution. It's not ideal because it's hard for cross-platform solutions to perfectly take advantage of platform-specific stuff like subtle gestures or transitions on iPhone that may not exist on Android. However, they do save time and money. Choosing a way to get an app out into the world really depends on your needs and budget.
Regardless of the particular system that you have (maybe you're on iPhone, maybe you're on Android, or maybe you're on something else entirely!), it's clear that mobile experiences are a key part of the web today. Luckily, we have all those great mobile devs working on them!