Apps are big, screens are small and life as we know it is on its head again. Mobile apps play a vital role in a world that’s increasingly social and open, and have changed from the focus from what’s on the Web, to the apps on our mobile devices. Mobile apps are no longer an option, they are imperative.
In the current world scenario, mobile apps can be created using a number of ways, today we are going to explore some of the best approaches to build a mobile app, each of them have their own advantages.
Mobile app development can be classified in two basic categories, Native Apps and Cross Platform Apps.
Native refers to building an app in a device’s native programing language. For iOS devices this means Objective-C and Swift and for Android it’s Java. Native apps are typically fast, reliable & can access all the device’s hardware. To get started with native app development here are the five best resources for developers, in my eye.
For creating iOS Native App
- Xcode – The primary iOS app development IDE: https://developer.apple.com/xcode/
- Xcode + Swift learning resources: https://developer.apple.com/swift/resources/
- iOS 11 apps with swift tutorial series, from Stanford: https://itunes.apple.com/in/course/developing-ios-11-apps-with-swift/id1309275316
- For game developers, Unity: https://docs.unity3d.com/Manual/iphone-GettingStarted.html
- Awesome iOS: A curated list of awesome iOS frameworks, libraries, tutorials, Xcode extensions and plugins, components and much more. https://github.com/vsouza/awesome-ios
For creating Android Native App
- Android Studio – The primary Android app development IDE: https://developer.android.com/studio/
- Android API references: https://developer.android.com/reference/
- Android App development, from Stanford: https://web.stanford.edu/class/cs193a/videos.shtml
- For game developers, Unity: https://docs.unity3d.com/Manual/android-GettingStarted.html
- Android Guides: Extensive Open-Source Guides for Android Developers: https://github.com/codepath/android_guides
Cross-platform mobile development is the creation of app that are compatible with multiple mobile operating systems.
Today it is easier for programmers to develop cross platform apps. Newer approaches to cross-platform development includes:
Hybrid App development:
A hybrid app is built using web technologies, and then wrapped in a platform-specific shell that allows it to be installed just like a native app. Thus, it is sold/accessed through the device’s app store.
The hybrid frameworks typically have APIs as well, that allow you to access the device’s hardware and features that are locked out from the browser. Top five popular resources for building Hybrid Apps are:
- Ionic Framework, it’s a free and open source mobile SDK for developing hybrid and progressive web apps (PWA), https://ionicframework.com/framework
- Documentation for building hybrid apps using ionic: https://ionicframework.com/docs/
- Ionic resources on github: https://github.com/ionic-team/ionic
- Getting started with ionic: https://ionicframework.com/getting-started/
When it comes to Xamarin, it is probably by far the best cross-platform native application development framework and environment (it’s based on popular Mono framework). Xamarin compiles the code into real native binary code meaning it’s a true native application. Using Xamarin, developers can target Android, iOS and Windows (Mobile) 10, using a single industry standard language, C#.
Here are some of the resources for building apps using Xamarin:
- XF applications can be developed using Microsoft Visual Studio https://www.visualstudio.com/vs/mac/
- Getting started with Xamarin: https://docs.microsoft.com/en-us/xamarin/xamarin-forms/get-started/index
- Xamarin Documentation: https://docs.microsoft.com/en-us/xamarin/
- Xamarin Components on Github: https://github.com/xamarin/XamarinComponents
- Xamarin for game developers: https://docs.microsoft.com/en-us/xamarin/graphics-games/game-development/
Apart for these, there is one more very popular way to build cross platform apps using React-Native, it’s currently at initial state & undergoing heavy development. Visit this link to get started with creating apps using React-Native https://facebook.github.io/react-native/
Hope you will find these helpful to get started with Mobile app development & now let’s see how do the experts get started with Mobile App development. Today I would like to invite one of our best iOS native app developer seriyvolk83 to share his experience.
hi4sandy : How did you get started with iOS development?
seriyvolk83: Being Java developer I was always dreaming to move to mobile development because the percent of mobile clients to web sites reached 60% (5-6 years ago). iOS platform was chosen due to couple factors:
– hard start – for iOS development you need OS X and at least iPhone;
– best mobile OS – being familiar with Java I found J2ME to be imperfect and the provided tools were very poor in contrast to Apple software;
– and the final factor was the answer to the following question “What cell phone I want, iPhone 🚀 or something badly assembled with Android 🤖 inside ”.
It’s funny, but the latter still makes sense 😄.
I bought MacBook and less than a year has passed when I made my first Hello iPhone app 😆.
If seriously, I was studying Objective-C. And once Swift was released I threw my previous job and here I’m 👨🏻💻.