Before we delve into breaking down the technical aspects of a mobile app, I want to go over the four platforms for building Android applications: Android Studio, NativeScript, Kivy, and Ruby-on-Rails(ROR). Each platform has a mission to provide developers with options to make high caliber native apps. In addition, each platform has a dynamic volunteer community that supports and advocates for its status as the “best” platform. Online, and in some cities, in real life resources abound. Most importantly, each platform allows you to develop Android apps using free, open-sourced technology.
There are numerous differences between building an Android app to an iOS app. A simple google query will produce pages of responses, so I won’t bother repeating. However, I will name a few that I feel make my case for Android. For me the advantage of building Android apps begins with its open-sourced nature. Since its debut in 2009 Android has acquired over two billion users internationally. A high percentage of those users are in developing country’s, which speaks volumes considering there are few things from developed countries that translate well into developing countries culture. In addition, aside from phones and tablets, Android is available in cars, wearables, televisions, and computers. Its ability to be anywhere and do anything along with the backing of a vibrant and passionate google community make Android my number one pick for building mobile applications.
Ruby / Ruby On Rails
Developed by Yukihiro “Matz” Matsumoto and released in 1995, Ruby is an object-oriented, general purpose, multi-paradigm, programming language. Ruby was designed to “optimize the programmer’s happiness” (Hansson, n.d.) in this way the code is flexible and forgiving, unlike its contemporaries Java or even Python. Since Ruby’s syntax shares similarities to C++, Python, Perl to name a few it is possible that anyone coming from another language will find commonalities.
After reading The Rails Doctrine, it becomes evident that for David Heinemeier Hansson Ruby on Rails is a passion project. Released in 2005, ROR was designed to continue Matz philosophy of simplicity, Convention Over Configuration, and Don’t Repeat Yourself. (Wikipedia, 2017) The framework is web-based and uses a model view controller. HTML, CSS, and JavaScript libraries are key parts of the environment. I strongly encourage you to read “The Rails Doctrine” as it shines a poetic light on the heart of Ruby on Rails. To learn more about using ROR visit the website or GitHub where volunteers are welcome to make contributions.
Notable apps: AirBnB and Hulu.
Android / Android Studio
Java was developed by James Gosling as a general purpose, multi-paradigm, object orientated computer program language. Hansson describes it as a language meant to protect the programmers. (Hansson, n.d.) Built on C, Java was created to be concurrent, class-based, and to have “as few implementation dependencies”. (Wikipedia, 2017) Another feature was “WORA, write once, run anywhere”, any code complied can run on all platforms that support Java. Perhaps that is part of the reason that since its release in 1995, Java has become the most popular programming language. (Wikipedia, 2017)
Android was developed by Android Inc and eventually became a mobile operating system for touchscreens. In 2005, Google acquired Android Inc but it wasn’t until 2008 that Android (operating language) made its public appearance on Nexus devices. Based on Linux Kernel Android uses Java for the UI and C for the Core. (Wikipedia, 2017) The Android code is run in a Java runtime environment. The Android Studio IDE was released in 2015, before that Eclipse was the default platform. Like NativeScript, Android is backed by a company which maintains the language and built the IDE. Online communities on GitHub create additional libraries that extend or create features.
Notable apps: Instagram, Uber
Python / Kivy
Python is an open-sourced general purpose, multi-paradigm, programming language. Released in 1991, it was designed by Guido van Rossum to be highly readable focusing on using space instead of brackets for syntax. “It is designed to have an uncluttered visual layout, often using English keywords where other languages use punctuation”. (Wikipedia, 2017)
Kivy, is the framework for building mobile applications using Python and Cython. Released in 2011 Kivy was developed and maintained by the Kivy Organization. Online resources for the app can be found on GitHub, the blog- Kivy Planet, and the user forum all found through the website.
JavaScript / NativeScript
While JavaScript might sound like Java, that is where the similarities end. JavaScript is a general purpose, multi-paradigm programming language created by Brendan Eich and released in 1995. (Wikipedia, 2017) Over the last two decades, JavaScript has become a dominate programming language for web development. And along with HTML and CSS, it has become one of the core technologies for web development. Initially, JavaScript apps ran in a WebView using hybrid-mobile technology, but they provided limited functionality for the user, so an improved platform was designed- enter stage right NativeScript.
NativeScript is an open-sourced framework released in 2015 by Telerik for creating mobile applications using JavaScript, Angular, and TypeScript. The platform uses runtime environments to give mobile applications the performance necessary to be competitive. For Android apps, JavaScript code is run using the V8 virtual machine. (NativeScript, 2017) NativeScript.org is a great source for getting an overview of the language and the type of apps that NativeScript can produce. NativeScript’s suggested online resources include GitHub and the online discussion forum on the NativeScript.org website.
Notable apps: Southwest and Cigna
Now we know there are four different platforms (Android Studio, Kivy, Ruby on Rails, and NativeScript) and languages (Android, Ruby, Python, and JavaScript) to create a mobile application. While each language varies in difficulty, each language will produce a useable Android application. But the question remains, which language is the best to use? Which language is the easiest to use? Which language should I (you) use? I don’t believe there is one answer. Programmers know more than one language and if you don’t know more than one eventually you will. I suggest using a language you are comfortable with. And if you are not sure, that’s okay too. Thanks to Codeacademy, it is easy to get an introduction with a few clicks.
Alright, now go find your language. If you are already a programmer, what is your favorite language?
Bibliography
Hansson, D. H. (n.d.). The Rails Doctrine. Retrieved from Ruby On Rails: http://rubyonrails.org/doctrine/
NativeScript. (2017, September 16). Frequently Asked Questions. Retrieved from NativeScript: https://www.nativescript.org/faq
Wikipedia. (2017, September). Android_(operating_system). Retrieved from Wikipedia: https://en.wikipedia.org/wiki/Android_(operating_system)
Wikipedia. (2017). General-purpose programming language. Retrieved from Wikipedia: https://en.wikipedia.org/wiki/General-purpose_programming_language
Wikipedia. (2017, September). Java. Retrieved from Wikipedia: https://en.wikipedia.org/wiki/Java_(programming_language)
Wikipedia. (2017, September 16). JavaScript. Retrieved from Wikipedia: https://en.wikipedia.org/wiki/JavaScript
Wikipedia. (2017). Programming paradigm. Retrieved from Wikipedia: https://en.wikipedia.org/wiki/Programming_paradigm#Multi-paradigm
Wikipedia. (2017, September). Python. Retrieved from Wikipedia: https://en.wikipedia.org/wiki/Python_%28programming_language%29
Wikipedia. (2017, September). Ruby on Rails. Retrieved from Wikipedia: https://en.wikipedia.org/wiki/Ruby_on_Rails
#Technology Crash Course: 4 Languages and 4 Platforms To Build Awesome Apps // The District Nerd – The Black Lion Journal
October 16, 2017[…] Article By A.E. Hellar Of The District Nerd | The Black Lion is a humble interdisciplinary journal that values your voice. For contribution opportunities, visit the Opportunities page; to learn more about submitting to the journal’s creative magazine, visit the The Wire’s Dream Magazine: Submit. | Copyright Policy […]
Why you should love Kotlin - The District Nerd
December 4, 2017[…] of Python and Ruby’s creation developers were looking for an improved language. Developers at JetBrains, a Russian company and […]