Software design

Two apps for one project… or not?

This year marks the tenth anniversary of the launch of the App Store and the iPhone SDK, which have brought a radical change in the paradigm of the development and use of software applications. Nowadays, in fact, any business cannot refrain from creating its own  app in order to increase the chances of reaching its target audience through their smartphones.

Creating an app is not as simple as it might seem at a first glance: stores, overflowing with apps, convey a false message about the easiness of their development, but most of them are way below the minimum quality standards in terms of performance and user experience.

In fact, the development of a good quality app requires significant resources due to the smartphone current market scenario, which is almost totally dominated by Apple and Google: the respective iOS and Android platforms are completely different on a technical point of view and this prevents  any elementary synergistic action in the implementation of an app for both systems.

Therefore, in order to develop an app it is necessary to ... develop two apps. The business need is to allocate specialized resources in two different development teams that, in parallel, will proceed with the implementation of the app for each platform.  This entails a significant impact on the business, not only in terms of overall development costs, but also other factors such as TTM (time to market) and TCO (total cost of ownership).

However, the ICT sector is constantly evolving with new technologies  being created almost on daily basis in every field and, of course,  the development of the apps does not make exception.  In fact, in order to meet the developer’s needs, some frameworks which allow the creation of so-called hybrid apps have recently emerged.  In particular, these new frameworks follow the rule "write once, run everywhere" and therefore are able to work both on iOS and on Android starting from a single development.

In the past, these frameworks were rather immature and the apps created through them were not able to reach the quality standards of the so-called native apps. Today, however, the scenario has radically changed, thanks to the huge resources invested by big players such as Facebook, Google, Microsoft, Adobe and by emerging players such as Ionic, AppCelerator, Progress.

The available frameworks differ from each other in the architecture adopted and, consequently, the results that can be obtained are different in several aspects. Depending on the choices made by each vendor, it is possible to highlight the strengths and weaknesses of each framework, which are fundamental for choosing the solution which better fits with the main features of that particular project.

This is a crucial step, as the experience and skills of the assessments makers are decisive for the outcome of the project, since usually, the effects of an incorrect choice show themselves too late, when a change of the project would result in unsustainable additional costs.

Once again, technology comes to us to facilitate the business: thanks to the framework for the development of hybrid apps, we have solutions that allow us to contain the costs of a project without compromising the quality of the result and that are beneficial for the ROI (return of investment) of the business. In order for all of this to become real, as always, it is important to entrust the project to someone with adequate skills in the field and with a sole interest that of maximizing the success of the project.