Best Android programming language
VTC Academy VTC Academy
Best Android programming language

Best Android programming language

Posted on 17/10/2018

This article is translated from Android Authority

Even if you don’t think we are fully in a Post-PC era, it is clear that mobile platforms play an essential role in many parts of our lives. Whether for fun or for profit, developing Android apps can be rewarding, both personally and financially. Assuming you have a certain level of technical knowledge then it is possible to develop Android apps yourself, but what programming languages do you need to learn?

The official language for Android development is Java. Large parts of Android are written in Java and its APIs are designed to be called primarily from Java. It is possible to develop C and C++ app using the Android Native Development Kit (NDK), however it isn’t something that Google promotes. According to Google, “the NDK will not benefit most apps. As a developer, you need to balance its benefits against its drawbacks. Notably, using native code on Android generally does not result in a noticable performance improvement, but it always increases your app complexity.”

Java

Java is a programming language first released by Sun Microsystems back in 1995. It can be found on many different types of devices from smartphones, to mainframe computers. You can use it on your desktop PC and even on the Raspberry Pi. Java doesn’t compile to native processor code but rather it relies on a “virtual machine” which understands an intermediate format called Java bytecode. Each platform that runs Java needs a virtual machine (VM) implementation. On Android the original VM is called Dalvik. Google has also started previewing its next generation VM called ART. The job of these virtual machines is to interpret the bytecode, which is really just a set of instructions similar to the machine code found in CPUs, and execute the program on the processor. The VMs use a variety of technologies including just-in-time compilation (JIT) and ahead-of-time compilation (AOT) to speed up the processes.

This means you can develop Android applications on Windows, Linux or OS X and the Java compiler will convert that source code into bytecode. They will be executed on the virtual machine of Android. It is different from the model used by iOS which uses a native compiler to convert Objective-C into ARM machine code.

Corona

If you don’t want to learn Java or how to design the user interface in XML, there are alternatives. That is using Corona SDK. Corona is an advanced SDK built on the LUA programming language. LUA is easier to learn than Java and this SDK will minimize difficulties in developing Android applications. A simple application displays a wallpaper of your choice and a text on the screen can be written in just 3 lines of code with Corona.

Corona includes a complex emulator that allows you to run the program immediately without having to compile your code. When you want to create an Android.apk file, you proceed to build through Corona’s online compilers and that application will be saved to your computer.

Corona is designed primarily for game making (but not exclusively) and it includes libraries for sprites, sounds, networking games, and a 2D physics engine. Almost everything in Corona is displayed via OpenGL. This means you can take advantage of the graphics capabilities of the GPU, in addition the default application is a blank canvas, so all you need to do is start drawing!

You can download Corona for free and use it, but if you want features like in-app purchasing or the ability to call native Android APIs, you need to pay a monthly subscription fee.

Phonegap

If you already know HTML, CSS, and most importantly Javascript, then instead of learning Java or LUA, you can build Android applications using the skills you already have. PhoneGap is based on Apache’s Cordova project. Basically it creates a webview that you can manipulate using Javascript. Web applications can interact with different device features like a native application, by referring to the cordova.js file for API binding. PhoneGap native functions include accelerometer, camera, current location, internal storage and many other things.

Other options

Java, LUA and HTML / Javascript are not the only options for developing Android applications. You can use Titanium, another Javascript-based development platform, and Gamesalad, a mobile game creator that lets you create mobile games without programming!

If you have experience using any other Android application development platform, or if you want to introduce an interesting platform, then share it in the comment section below!

Other news
Great resources for Android Developers

Great resources for Android Developers

Posted on 16/10/2018
One of the best parts of a career in Android development is the vibrant community. The Android developer ecosystem is dynamic and symbiotic, with devs sharing tips, tricks, and tutorials across the internet and in real life at hackathons, conferences, meetups, and more.
Where to start Android programming?

Where to start Android programming?

Posted on 15/10/2018
Where to start Android programming is a question that many students are interested in. Today, we find out how to get started with Android programming and the software to prepare to learn it.
VTC Academy organized many activities to learn about Artificial Intelligence (AI) in Ho Chi Minh City in March 2021

VTC Academy organized many activities to learn about Artificial Intelligence (AI) in Ho Chi Minh City in March 2021

Posted on 01/04/2021
As one of the leading technologies of the 21st century, Artificial Intelligence (AI) technology is playing a key role and promises to bring great changes to the future of humanity. With the aim of continuing to contribute to promote the extensive development of the community interested in Artificial Intelligence in Vietnam, in March 2021, VTC Academy Ho Chi Minh organized events in the form of experience & trial study to help attendees get acquainted with this technology. Thereby, discovering its strength in many different fields.
Other news
Great resources for Android Developers

Great resources for Android Developers

Posted on 16/10/2018
One of the best parts of a career in Android development is the vibrant community. The Android developer ecosystem is dynamic and symbiotic, with devs sharing tips, tricks, and tutorials across the internet and in real life at hackathons, conferences, meetups, and more.
Where to start Android programming?

Where to start Android programming?

Posted on 15/10/2018
Where to start Android programming is a question that many students are interested in. Today, we find out how to get started with Android programming and the software to prepare to learn it.
VTC Academy organized many activities to learn about Artificial Intelligence (AI) in Ho Chi Minh City in March 2021

VTC Academy organized many activities to learn about Artificial Intelligence (AI) in Ho Chi Minh City in March 2021

Posted on 01/04/2021
As one of the leading technologies of the 21st century, Artificial Intelligence (AI) technology is playing a key role and promises to bring great changes to the future of humanity. With the aim of continuing to contribute to promote the extensive development of the community interested in Artificial Intelligence in Vietnam, in March 2021, VTC Academy Ho Chi Minh organized events in the form of experience & trial study to help attendees get acquainted with this technology. Thereby, discovering its strength in many different fields.
Contact VTC Academy

  • Ho Chi Minh City: 0818 799 299
  • Hanoi: 0981 114 757