Mobile programming: Native vs HTML 5 vs Titanium

Which platform to choose? Pros and cons, taking into account all aspects of programming.

But what aspects should be considered? This is the simplicity of development, and the re-equipment of the code, and the capabilities and limitations of the platform, and as a result - the quality of the application, its smoothness, appearance.
But you should also take into account the advantages of the finished application: OS compatibility, access to stores, future evolution of mobile devices.

Based on all these factors, it is possible to determine in which application each platform will provide the best support. If we know these technologies a little, then in fact you can guess a little about the trend, but it's good to know exactly what you can expect from everyone.

HTML 5

Works on all devices and systems if JavaScript is not disabled.

Description

HTML 5 is a user interface description language. Data communication takes place in JavaScript with a data server, preferably Node.js. This allows you to interact with native APIs that control device functions. One of the most used is PhoneGap. The design also eases with frameworks like Backbone and Sencha.

Ease

Encoding in HTML 5 can be very difficult. You need to work with a dynamic language, manage offline mode, run sound if necessary, and especially test the application on multiple browsers. For business applications, this can be easier thanks to the numerous frameworks that control the communication of data with the interface.

Durability

If it is based on standards such as the API developed by Mozilla for mobile devices, the application will run there indefinitely (on the computer horizon).

Opportunities

Using the Canvas tag, which provides a drawing or animation surface, all graphics applications are possible. Sound is also available but inefficient. WebGL offers 3D, but it's a nascent technology. APIs provide access to hardware with lower reactivity than native applications.

Compatibility

The program will run on all operating systems and types of computers or mobile devices. It will also run on Metro from Windows 8.
The same code can be reused on the site, local application, mobile application.

Distribution

HTML 5 apps can access the AppStore as well as mobile Facebook. It has an audience advantage over all systems, which is reflected in the wider resonance in the media.

Applications

The application should depend little on features specific to mobile devices, such as sensors and other sensors. This happens with games, but nevertheless it is not the best platform for them. The sound is poor now. There are actually a lot of games at Canvas.
It is most convenient to implement convenient or Internet-related applications or applications for accessing the database.

Nee

Each operating system has its own programming platform. Tizen and webOS use HTML 5 and a low-level framework to access device functions.

Description

Language and programming varies by system. For iOS it is Cocoa and the Objective C language, for Android it is the Dalvik virtual machine and the Java language. We were able to port Dalvik to other systems, with a fairly average user experience .

Ease

The platform ranks second in complexity. There is a development interface, usually based on Eclipse with emulators on the desktop. There is an Android app generator. When you regularly program in native form, it seems easier than in HTML, but for the first application, the opposite is true.

Durability

New OS versions or different devices will be able to make the application obsolete. Therefore, it will need to be updated regularly .

Opportunities

Speed, smoothness, access to native graphics and other system components.

Compatibility

As for Android, fragmentation is important. The Android 4 app won't work on 2.3. Restrict the application to find the common denominator. For each OS, you need to rewrite the application to carry it on another.

Distribution

The iOS app can access Apple's AppStore. It's not guaranteed. After paying the entrance fee, the application may be refused. And if it is accepted, the company will have to return 30% of the proceeds. In turn, the application will have a wide exposure and wider sales for this brand.

Applications

You can get access to all the capabilities of the device, and even more so to the many devices that have been invented to complement the mobile. See the article about mobile applications. Basically, all types of applications can be implemented.

Titan

Allows you to create your own code for each system from one source code. Appcelerator, the publisher, offers Titanium Studio for free using the SDK, but without enterprise extensions. According to him, 300 thousand developers use the platform in 2012.
You need to know that if the tool is free when creating the most free software, then it has a high cost, since it is used for a commercial product. So, read the license carefully before using it. Only the version on GitHub with the compiled SDK itself is free.

Description

Combines Eclipse-based IDE, Titanium Studio, and SDK into JavaScript that can interact with native APIs.

Ease

Since the same code is used for all systems, it is easiest to carry... According to the editor, it is faster to program than with Objective C or Java. In fact, we are surprised to see that fewer lines of code are needed for the same result.
Placement in the AppStore is automatic.

Durability

The future of the platform is connected with the future of the publishing house. If it leaves the trade, then there will be no more system updates. But open-source code can always find a buyer.

Opportunities

Adds cloud services with notifications to applications and statistics service to get information about application usage.

Compatibility

Compatible with all mobile devices, tablets and desktops.

Distribution

Apps are accepted in the AppStore after a policy change by Apple.

Applications

Like native applications, they get access to device functions, but the platform is generic, and therefore not close to any system, it will be less adapted. What it will support is the common denominator of all supported systems. Therefore, it is suitable for a specially mobile application, but not for a specific brand.

Conclusion

There is often confusion between the web application and the HTML application 5. However, the JavaScript section of this site shows that you can use Node.js to create local applications in HTML 5. Apparently, on mobile, this platform is tied to the Internet and therefore imposes an application download deadline. There is no longer such a drawback if you are good at managing offline mode.

Another drawback of HTML 5 is the programming complexity, while Titanium, which also uses JavaScript, would be easier to use than proprietary development. The latter remains a choice if you need all the resources of the device and higher performance. This requires a complete dedication to the operating system.

In the second part, we will see the choice of several actors and why they made this choice.