Find Web Developers
Find Web Developers

Is Multiplatform The Future Of Mobile Development?

Based on a report contributed by MobiDev at CeBIT 2014.

Where Can Multiplatform Development Be Applied?

If you are sure about devices and operating systems, which are used by your target audience, you don’t have to encompass everyone. But if your business requires a huge audience with many device types, you should think how it will influence your business. Such apps may include:

– promotional apps – when a brand is integrated in the content of a useful or interesting app;

– entertainment apps – include all media, apps for presenting products and services, m-commerce;

– business apps for internal use – when a business starts considering mobile technologies as business advantages and an important direction for investments.

In the first two cases, the main advantage of multiplatform development is encompassing a bigger audience with lower costs. In the third case, it is the opportunity to create an app for every employee, without considering personal preferences in devices.

Here we can say that the BYOD trend (Bring Your Own Device) has reached the critical mass among employees. New and non-standard devices, which are brought by employees, may be incompatible with the app you are planning to create. Technologies develop faster than standards. Companies that apply mobile technologies need to find the optimal balance between preferences of employees and costs for app development, and they need to provide access to them.

Making employees mobile is just a part of the whole picture. The line between work and home environments gets blurred. This means that employees who work with information, expect that their enterprises will rid of the standard way of building IT. This means work in preferred OS and apps, as well as personalization of work technologies. In order to use the advantages of mobile technologies, it’s quite logical to build flexible, employee-oriented solutions.

Fragmentation Of The Mobile Market

There are many mobile platforms on the market, but only three obvious leaders. According to worldwide marketshare stats (Q4 2013), the leader on the smartphone market is Android (69%); the second place belongs to iOS (19%); the third place belongs to Windows – 10%, BlackBerry has about 2%.

As for tablets, the situation is different. A part of Android’s share (62%) is taken by iOS (33%). Windows and BlackBerry have 5% and 0,2% respectively. And of course, the number of devices and operating systems will grow.

What Else Do You Lose Developing For One Platform?

If we consider the big growth of Android, the risks of development for one platform are obvious. You don’t know which platform will succeed. What if tomorrow there won’t be three leaders? What if they will be replaced? Does it mean you have to build another app, or is there another solution?

Consider the fact that app development is not cheap, and the app will be used for several years. You will need to understand what to do, if the market or preferences of employees change.

Undoubtedly, the future of mobile development concerns multiplatform support. These technologies are getting more important, and there are such HTML/JS solutions as RAD-js, which help make cross-platform apps with native responsiveness.

Many clients and developers still use native SDK to build apps. It’s natural. But it’s the reason why there is poor diversity in mobile apps. They are all similar, because SDKs are limited. An app that stands out, costs a lot, and doesn’t always pay for itself.

Why Is It Hard To Create Uniqueness With Native SDK?

Each OS has an SDK. It allows to create standard interfaces relatively easy. And you should consider two factors while working with native SDK:

– Native SDK cannot do everything;

– Uniqueness takes time and efforts.

If your app is okay with that, this SDK is enough. But if you want something non-standard, what happens next?

– either developer tries to persuade you to stick to standards (as a rule, it’s explained with interaction patterns);

– or you insist on making a unique interface and have to pay great amounts of money, because non-standard elements take lots of extra efforts.

But the solutions to these problems were invented long ago – in Web. Your developer only has to optimize them for mobile devices, and everything will be ready. What’s more, most of the standard native objects can be easily implemented with HTML/JS. Some elements should be implemented as native ones, to save time. Thus, HTML/JS elements enter the development environment. They divide all apps into three parts: native apps, HTML/JS apps, and hybrid apps.

Where Can HTML Be A Better Solution Than Native?

There are no native methods of implementation of such objects. In HTML it’s done with CSS. The area of response is also hexagonal, which is almost impossible for native SDK.

It’s a simple solution that allows to create unique products.

Text formatting is a very hard task for native development, but it’s very simple and natural for HTML. Ask your native developers, how much time it will take to create a text which wraps an image, with elements in bold and italic. Then ask your Web developers the same thing. You’ll be surprised by the difference.

Things are even more interesting with non-standard UI patterns.

The side menu from Android is very frequent for iOS apps, but it’s not included in the SDK. Same goes for Windows Phone Tiles, which are absent in Android and iOS. These elements are hard to create, both in native and multiplatform development, but if you create them one, you will be able to use them on any platform, including Web.

There are many visual effects that are very expensive and hard to create from scratch natively. But if you use ready JS libraries, lots of time and money can be saved.

Why ‘Hybrid Apps Often Fail’ Is A Statement Of The Past

Of course, HTML/JS development cannot solve every problem. Because of use of JavaScript, it can’t be used to create apps with complex mathematical calculations or analytics on the client side. But there’s no better solution than HTML/JS, when you need to create something non-standard, when the visual part is more important than business logic (data calculation and analysis).

But if a part of business logic is crucial, data processing can be moved to the server side or native chunk. Thus we get a hybrid app, designed with HTML/JS.

‘How will it help me?’ – you’d ask.

If we properly analyze the requirements of the future app and divide it into elements, we’ll point out the most crucial for the success of the product. We’ll define the goals of the product, the business purposes of the product, target audience and interaction patterns. Then it will be possible to effectively distribute the implementation, using the advantages of HTML/JS and native SDK. The more elements are written with HTML/JS, the more multiplatform capabilities are there in the app.

In other words, all the examples of failed apps, often provided by developers, are caused by bad understanding of strengths and weaknesses of different programming approaches. For example, when HTML apps received unnatural mathematical logic; or when was applied the logic, which is natural for desktop web with its powerful hardware.

A good example is an app for Facebook, which moved to native code because of the slow speed of the HTML app, and which was properly remade by SENCHA. It became a fully responsive HTML-app. Unfortunately, on weak devices and on Android version 2.2 it lags.

The future of mobile development concerns multiplatform solutions – fast, attractive and highly responsive. One of these solutions is RAD-js – a toolkit for speeding up multiplatform apps. It was developed by our team, considering our experience in multiplatform development. It provides a set of development tools, which can be used either separately, or along with other HTML/JS frameworks. Thus developers can create responsive apps, which run consistently on several platforms, and thus helps software owners encompass as much target audience as possible. If your planned app fits in the picture described above, maybe hybrid software is the solution for you.

Comments are closed.