We can say that this is the only programming language that allows you to create full-stack web applications with client-side and server-side support. Node.js has allowed developers to go a step further and create frameworks such as AngularJs, ReactJs or Vue.Js.
Ranking of the most popular programming languages according to the TIOBE Index, March 2018.
But I did not see any chance to translate these solutions into application performance or the ability to write more complex solutions. At that time, my fears were in line with reality. But is it still like this?
Before starting the review of all possible solutions for writing mobile applications by programmers, you need to enter the solution classifications. Three groups of solutions for creating mobile applications can be distinguished.
- full native
Java (Android) and Object-C / Swift (iOS) belong to the first group in the creation of mobile applications, where the source code is compiled to the machine. The main positive is that the solution gives high performance, so when writing games this technology is even indicated. The biggest negative, however, is that the cost of creation and exploitation itself is very high.
Android is an operating system for mobile devices, including smartphones, notebooks and tablets.
The advantages, however, are the lower cost of creation and operation and simplicity compared to the Full native approach.
The creator of solutions allowing to create mobile applications for Android / iOS and Windows Mobile using .Net.
It is not accidental that the applications, which are referred to as native, are usually written at the very end. Considering the fact that this solution combines the above described and at the same time reduces their main drawbacks. The main frameworks for creating native applications are React Native (Facebook) and NativeScript (telerik).
One of the two most popular frameworks for writing applications in a native approach is React Native. It was in it that applications such as Facebook, Instagram and Skype were created. The second most popular, and for me even rising, star is the NativeScript framework.
NativeScript is an open-source framework for creating mobile applications for Apple iOS and Android systems.
The most interesting solution in it is that you can write in pure JavaScripit, TypeScript or Angular (now Vue.Js is also being learned). Plus, we also do not need to program additional components like this can happen with React Native, and thanks to that we have 100% access to the device's API. Of course, it also has a downside (or maybe it is a plus?): Behind ReactNative stands a huge company and huge money, but which also gives more opportunities.
What to choose?
The approaches described above allow briefly to learn about the current technologies of creating mobile applications. Personally, being a Web Developer, I would tend to choose application development in the native approach. In this technology I see the future of mobile application development.