If you already have a bit of experience as a programmer, i.e. have at least developed a website or a small program, then you have surely passed the idea of programming an app.
There is the same problem with apps for mobile devices as with personal computers, because there are different platforms that support different programming languages.
This article will teach you how to use the power of web development and the Apache Cordova Framework to solve this problem.
Why is app development still an issue?
After the iPhone was introduced in 2007, the age of apps was born. Since then, programmers have been looking for simple ways to bring apps to all platforms. Unfortunately that is still a challenge today. But why is it supposedly so time-consuming to create apps? Let’s take a little trip and it’ll be a little clearer.
The computer: processors, operating systems, programming languages
Before we go to mobile devices like smartphones and tablets, let’s take a look at the big brother, the personal computer. Regardless of whether it is a desktop computer or a laptop, here alone we see different processors and operating systems.
One swears by Intel, the other by AMD. One cannot do without Windows, the other likes to buy MacBooks and the next only works with Linux on principle.
And the software developers are allowed to write tons of code for these respective situations.
Back then it was still like this: separate code was written for each processor. Then tools were developed that make the programmer’s work easier.
A compiler can be used to generate machine code for Intel and AMD. Then there are the operating systems, Windows, Mac and various Linux distributions.
Here, too, there are now opportunities to compile code for the different systems using frameworks. Java is probably the best known example of this, but there is also Qt for C ++ and even .NET is partially capable. Web-based solutions are for example Node.Js and Electron, which are very popular.
The best-known link, however, is the Internet. Initially intended for the exchange of information, so-called web applications are now being developed that can be accessed via a URL on the Internet and easily executed in the browser.
Regardless of the processor and operating system: Where a modern browser with the Internet is running, a web application can also be started. In the beginning these were still a bit sluggish because the internet speed and the program execution in the browser were not yet as efficient.
In the meantime, almost every task can be solved using a web application and there are frameworks such as Electron that allow web apps to be started in a browser-like environment without the application looking like a browser but also being able to be run offline. You will soon find out why these facts are so interesting for app development.
Mobile devices: manufacturers, platforms, programming languages
Now let’s switch to the actual devices. As with the PC, there are similar requirements here, but these are still a bit stricter today. The manufacturers are very embarrassed about which software comes into their app stores, and throw out the apps that don’t adhere to the rules. All the more annoying when you have developed an app precisely for one platform and this is then banned, even if the risk for it is low.
You then develop the same app for each platform with a different programming language. Double and triple the effort and even more if you also want to offer a web app for the browser. Isn’t there also a browser on the mobile devices? Why can’t you just use the web app on your mobile device?
We have found that we can create web applications with browser technologies and that there are frameworks that make it easy. The web apps then look like real desktop applications.
It is clear that there are also such frameworks in the app area. Frameworks like Apache Cordova, React Native or Xamarin promise exactly what has been working on the personal computer for a long time. And with Apache Cordova we also have a framework that relies on web technologies, such as Electron and Node.js. It’s worth a look.
The idea: Build a web app for your mobile device
Create a web app that is optimized for your smartphone and then Apache Cordova is used. If you don’t have a webapp yet, you can of course create one directly in Cordova, but that’s not so important now. The idea with the web app remains.
Was macht Apache Cordova?
Apache Cordova provides framework apps for the respective platforms. These frame apps then start your web app in a web view. No browser fuss around it, but a real look’n’feel like in an app.
The mandatory app button can also be added to the home screen and yes, the apps can be uploaded to the AppStores. Cordova supports all common platforms, from Android to iOS to Windows Phone.
In addition, you can also use the functions of the devices by using plugins or browser technologies. You can use functions that other developers have also needed before, for example the excellent Local Notification Plugin .
Performance of Cordova apps and plugins
On the other hand, you have to be a bit careful with the performance, because here you are on a mobile device that does not have the full computing power of a notebook. But this also applies to other frameworks. Last but not least, Apache Cordova is an open source project, which means that every developer can contribute and develop there.
This also applies to the plugins. Is Apache Cordova too slow for you or are you missing a plugin? Then you can expand Apache Cordova and don’t have to do without anything.
Especially in the initial phase of an app, when you have absolutely no idea who the target group is and which platform it is on, it is worth taking a look at Apache Cordova.
4 steps to your app with Apache Cordova
It doesn’t matter whether you want to realize your app idea or don’t even know what your own app should look like later. Familiarization with Apache Cordova is a must for every future app developer. The following are the 4 steps you have to take to program your first own app with Cordova:
- Setup: Now you need a working development environment with Node.js. Then you can install Apache Cordova and start developing.
- Development: For development you have to deal with Apache Cordova and its plugins, the documentation is your best friend. Courses & eBooks help you to acquire the necessary knowledge faster and to gain more experience. Once you have mastered Cordova, you develop your web app and can test it as an app.
- Test & Release: For testing and release, you have to install the respective software packages for the platforms for which you want to offer your app. For Android, for example, this is the Android Studio and the Android SDK. For the release itself you then have to register for the respective AppStores, you have to be careful here, because some app stores charge a developer fee once (Google Play Store) or annually (Apple App Store).
Taking these steps on your own is a challenge, even if you already have some experience. It is recommended to obtain external information here.
If you want to publish your own app, you should be ready to invest some time and money. Time for training and money for suitable devices as well as the developer fee in the stores. You are happy to take any helpful abbreviation with you. Have you already created an app with Cordova?
I would be happy to see it and would like to write about it here.
If you want to program an app and don’t want to limit yourself to one platform. I wish you success!