Technology

There are many technologies that can be used to develop mobile applications platform-independently.

Mobile Websites

Every Smartphone has a browser in order to view mobile websites. This is usually a simple variant of the conventional website. Only the presentation gets optimized to display it on a smaller screen.

The benefits of this variant lie in the low price and the high availability of web developers. The disadvantages still outweigh:

  • Especially the exciting new features of modern devices, like position sensors or cameras, cannot be utilised.
  • Mobile Websites are pretty hard to find. In contrast to genuine apps, which are distributed over an App Store, the sites must first be found over a browser and then stored as bookmarks.
  • Depending on the available connectivity quality and bandwidth, mobile websites requiring a permanent internet connection can be very slow.

Hybrid apps

With Hybrid apps, a genuine app is created for multiple platforms. Technically acting as a kind of “mini-browser”, representing the web-content. The app can also be developed with web-technologies and offered as a genuine app, along with its own logo on the home screen of the device and possibility to charge for contents with costs. Thanks to some technical tricks, special features of the phone can be accessed. 

However, since there are still only websites behind it, the problems with speed remain. Additionally the user expects a genuine app which also looks like an app. The effort is significant, however often usually in vain. To emulate the “Look & Feel” of the respective platform with web-technology is possible, but the user still “smells a rat”.

Interpreter approach

With interpreter approaches, a base app is uniquely implemented for the respective platform. Concepts like list boxes, display screen, text elements and so forth will be developed in their respective programming language. With the help of a configuration language, the actual logic of the app will be detached and thus developed as being platform independent.

The results are real apps that look and feel as desired by the customer. The results are at the very least admittedly slower than specifically designed apps. In practice, there is no noticeable difference with simple applications.

The main disadvantage of this approach lies in the dependence to the base app. It can only use the features that are provided by the interpreter. New features, like the high-definition display of the iPhone 4, are only available if the interpreter has been adapted.

Model-Driven Software Development

The generative approaches of Model-Driven Software Development (MDSD) produce genuine apps for the respective platform from a single source. To accomplish this, they use a model which describes the app, and generate the desired program in a translation process for the respective programming language. The programs created in this way are indistinguishable from manually written apps of the respective platform and can be expanded if special abilities become available for the respective operating system.

Conclusion: Generative approaches are the best way forward for apps when it comes to addressing the subject strategically. The developer can take into account the various operating systems and device variants and respond quickly to developments. In order to perform changes, the developer just needs to adjust the model, the rest happens at the touch of a button. 

Advantages and disadvantages at a glance

  Mobile websites Hybrid app Interpreter MDSD native
Advantages
Availability of developers ++ + 0 0
Usability of specific device features + + ++ ++
Traceability ++ ++ ++ ++
Usability + + ++

Disadvantages
(Cross platform-) Development ++ + 0 + −−
Initial cost ++ + −− 0

We have expertise in all types of mobile development. Please feel free to contact us – we will gladly support you in your projects!


Contact

Jens Trompeter
Board member

Phone: +49 231 9860-606

E-mail: