Which programming language should I learn to make apps?

Mobile apps can be divided into three groups, and which one you choose will determine what programming language you’ll need to learn: native apps, hybrid apps, and web apps.

Native apps
With native apps, you use the native programming language for that device, such as Objective-C or Swift for Apple devices, or Java or Google Flutter for Android devices. What you code for one device cannot be used on the other device. However, their strength is that, with best code practices, you’ll get the smoothest and fastest apps that have the look and feel of the native environment. You’ll work with different software development kits (SDKs) for each environment (such as Xcode for Apple and Eclipse for Android) to create the final product (such as an apk file for Android). Android apps can be built on PCs and Macs; Apple apps need a Mac machine to compile the final product that is uploaded to the App Store.

Hybrid apps
Hybrid apps use a combination of HTML, CSS, and Javascript to create the apps, then they are packaged with a wrapper like Apache Cordova or PhoneGap, which ties in the code with the device. With Cordova, one may use plugins to access the various phone functions like camera. Hybrid apps (which include Google Flutter and Nativescript) are generally slower and not as smooth as their native counterpart. Although you can program this kind of app on any computer, you’ll still need a Mac to compile the final iOS product, and you’ll still need the SDK for each device you create apps for.

You’ll find web sites devoted to app creation by simply filling in some fields, or drag-and-drop software that lets you create a variety of different apps. But whether they’ll get accepted into the Apple Store is another matter; their generalized nature usually disqualifies them.

Web apps
Web apps are simply web pages hosted on normal web servers, but sized to fit comfortably in smartphones. They are coded with any number of web technologies, including PWA, PHP/MySQL and other database technologies, since they are web sites at heart. They are accessed by smartphones the same way as any other web site; but with a little extra coding, you can provide a custom icon that will reside on the home screen of the device if the user chooses to save your site to the home screen.

Web apps are uploaded to web servers just like any other web site content. Web apps should work well in any device, since they are viewed as any other web page is viewed: in a browser on the device. Nowadays, web designers are creating web apps through Responsive Web Design techniques, which uses media queries and other techniques that allows the content to fit into a wide array of device screen widths.

Since I came from a web design background, it was natural for me to choose to go the Hybrid app route, which allows me to create one HTML/CSS/Javascript code base with skills I already possess and deploy it, with some variations, to the Apple and Android platforms.

5 thoughts on “Which programming language should I learn to make apps?

  1. Pingback: What programming language should you learn if you want to make apps? | iPhone Dev Log

  2. I wish to devolope a web application for java mobile.what all softwares are required for that???what all programming languages i should know.pls give me instructions.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.