With smartphone sales predicted to reach 1.4 billion units in 2016, there has never been a better time to get into mobile app development. Ever since the iPhone launched in 2007, mobile apps have become a huge industry with a lot of money being thrown around.
In the years since, there have been many other challengers to Apple’s throne, most notably Android. Together, these two platforms account for over 90% of the mobile market, and as of 2015, there were 2.6 billion active smartphones and nearly 3 million apps in existence.
Whatever your reason for getting involved, there’s one important decision you have to make before diving in: which programming language are you going to use? Fortunately, we have you covered. Here are the best programming languages to master if you want to get started.
In 2015, when Java marked its 20th birthday, there were many reasons to celebrate. Java is one of the most widely used programming languages in the world with an estimated 9 million developers.
Google’s Android operating system uses Java as the basis for all Android apps. While Android Java isn’t quite the same as regular Java, it’s pretty close — so learning Java of any kind will put you in good stead for picking up Android app development.
Android currently runs on a staggering 60% of the world’s mobile devices, meaning that if you want a coding language with the largest potential, then Java should be your weapon of choice.
- Runs on nearly all platforms.
- Object Orientated Language.
- Rich Application Programming Interfaces (APIs) allow for tools for every imaginable task.
- Open Source Libraries.
- Strong community support for Java and Android.
- Easy to learn.
- Easy to read.
- Powerful Integrated Development Environments (IDE) reduces errors and gives clear explanations and suggestions.
What You Need
Install an IDE:
- The most commonly used are Eclipse and Android Studio.
- Android Studio is currently Google’s recommended IDE.
Install the Android Software Development Kit (SDK):
- The Android SDK contains the source code, libraries, development tools and emulator for you to create Android Applications.
For most of its life, iOS apps have been written using the Objective C language. In an attempt to simplify the learning curve and workflow for developers, Apple released their own programming language for iOS and OS X called Swift.
Not only has Swift been designed to provide the best conditions for iOS and OS X app development, but the focus on simplicity makes Swift easier to get to grips with.
As it’s a newer programming language with a lot of growing hype around it, Swift could be one of the most valuable languages you can learn and will make you an in-demand developer. This is great news if you are are looking for a career in iOS or OS X development.
- Currently only compatible with iOS and OS X.
- Simplified form of Objective C.
- “Sugar” syntax allows for simplified code that’s easier to read and reduces errors.
- It’s the future of Apple’s development framework.
- Easy to extend and maintain with Dynamic Libraries.
What You Need
- Mac OS X Mavericks or later (10.9+).
- Install the XCode 7 IDE.
- Apple Developer’s Website
- Swift Essentials (Udemy, $30)
- Learn Swift 2: The Basics (Lynda, $25 per month)
HTML5 app development can be preferable to building native apps because you usually only have to code the app once, then you can bundle the code in different ways: whether for iOS devices, Android devices, desktop computers, etc. This is pretty neat as it means a reduction in development time and maintenance costs.
- Device agnostic.
- Can be used for apps and Web pages.
- Responsive design to fit any device or screen size.
- Built-in media playback that requires no third-party tools.
- Offline caching, which allows certain elements to be accessed offline.
However, even with these benefits, there is a trade-off in performance. Native applications have access to the entire operating system’s development framework, which is optimized to give the best performance. HTML5 apps might be great for flexibility and cross-platform feasibility, it can result in below-average app performance.
If your app needs access to hardware on the device, like the camera, this can also be difficult using HTML5.
There is a way around this, which is to use the best-of-both-worlds approach of creating a “hybrid app”, which is an HTML5 app inside a native app wrapper. This allows for the flexibility and lower maintenance requirements of HTML5, while wrapping the app to provide operating system functionality and interface elements to make the experience more native and intuitive to the user.
What You Need
Install software for writing HTML. You only have to pick one:
- Get Started With HTML5
- Learn HTML5 From Scratch (Udemy, Free)
- HTML5 and CSS3 Fundamentals: Development for Absolute Beginners (Channel9, Free)
Which Language Will You Go With?
As with all programming endeavors, there is no right or wrong answer. Each language has its own use in the software world and its own benefits. If you are looking to develop for the two major mobile operating systems, then Java and Swift are both great places to start.
Learning to code is much like any other skill and will take time. You will make mistakes, but you will poke around and learn from your mistakes and it will make you a better developer. Sometimes just making the language stick in your brain can be difficult. Make sure you take full advantage of all the free resources out there. Most of all though, have fun!
Which language do you want to learn? Would you add any languages to this list? Have you learned a language and made your own mobile apps? Let us know in the comments below.