Becoming a developer for any platform requires a lot of time, dedication, and will, but sometimes it helps to have resources out there to just read and learn from. iOS and Android are two platforms that dominate the industry, so lets take a look at these platforms, and what it takes to develop for them.
To develop for iOS, you MUST have a Mac. Once you have one, you will need to download Xcode, Apple’s development platform. This application lets you develop applications for both iOS and macOS. You will then need to learn a coding language supported by these operating systems. The most popular of these is Swift, but developers can still use Objective-C if that is what they are more interested in. Here are some great resources to get you started with these languages.
- The Swift Programming Guide for Swift 5 on Apple Books
- The Objective-C Programming Language – Apple Developer
iOS development is based on writing code around the user interface and user events. To help with this, Apple has created what are called Storyboards, where you can create each screen of your app graphically. If graphical design isn’t your thing, then you can create all of your app’s user interface objects through code. Each method has its strengths and weaknesses.
Once your app has been written, your assets are ready, and you are ready to test, you should sign up for an Apple Developer account. This account will use your Apple ID, and it will cost you $100 in the US each year.
Once this is done, login to App Store Connect, and set up TestFlight testing which supports public testing now.
If your app is how you like it, send it up to Apple for review. This can take up to 24 to 48 hours. Once this is done, your app will be live in the App Store for anyone to download.
Android App Development
Android app development is very similar to iOS development in some ways but drastically different in others. Here is the process for building an app for Android.
To develop apps on Android, you will first need a program called Android Studio. Android Studio is an Integrated Developer environment similar to Apple’s Xcode. It allows you to build Android apps on multiple platforms. This means that you can build the same app on a Windows computer or on a Mac.
To start developing for Android, you first need to learn an Android supported programming language. There are ways you can build Android apps in Python and or with other programming languages, but Java and Kotlin is the preferred way to go, and is the supported language by Google and Android Studio at this time. Here are some resources to get you started.
- Documentation for Android Developers
With Android Studio, an app is built by programming around user interface elements and events, which is similar to iOS, but Android does not have anything like Storyboards. Instead, you will have to design each screen separately. These screens are called Activities, and the best way to think of this is that each activity is a separate app from other activities in your containing app. You basically just connect each activity together and send data back and forth.
Android Activities are basically a few files. The code files which are written in Java or Kotlin, and the layout files which are written in XML. You can write the layout files by hand, or you can use Android Studio’s visual designer. You will definitely find though that the Android studio visual designer will only get you so far in the process, and some hand writing of the user interface layout files will be needed. You can also opt out of layout files, and just write all of your user interfaces out of Java or Kotlin, but this will take longer unlike iOS development.
Once you write your app its time to test and begin the publication process. You will need to register as an Android developer at developer.android.com which has an initial cost of $20. Once you pay this then you are forever an Android Developer!
Publishing your app is very similar to the App Store Connect portal for iOS. This time, you will use the Google Play Developer console. You will have to have screenshots of your app and a description, and you will need to upload your app with Android Studio.
What Are The Differences?
iOS development and Android development have several things that are similar, but they have some very major differences. Many of these were outlined above, but lets look at everything now.
- iOS development requires you to pay $100 a year to keep your apps in the App Store, whereas Google requires you to pay $20 up front to become an Android Developer for life.
- Apple uses Xcode to build apps, whereas Android uses Android Studio to build apps and services.
- Apple keeps their apps as a walled garden, meaning their access to other apps is limited, where as Android lets your app talk to and see other apps on a device.
- iOS developers use Swift or Objective-C to build apps, whereas Android developers use Java or Kotlin.
- iOS app simulators are bare-bones versions of iOS that run effectively on macOS, where Android simulators are full versions of Android that may tax your machine a bit while debugging apps. This allows you to run Talkback while testing your apps, however. The iOS simulator is unable to run VoiceOver.
- iOS apps may run in the background for certain reasons for a certain amount of time, but Android apps can install services to run indefinitely or until the app is closed.
- iOS apps use storyboards or NIB files to build user interfaces, where Android apps use layout files which are written in pure XML. Android files are easier to edit by hand.
There are still many more differences between these two platforms that we have not had the chance to cover, but this should help any new developer know what they are getting into if they want to transition between either of these platforms.
Reach out to us on our Slack community if you would like to learn more, or email us at email@example.com if you have any developer questions.