It's time to understand hybrid mobile better and choose technology solution wisely

ideaintech — article illustration

As a software development services provider we always looking for the most optimal chain of technologies to meet customer business requirements. It’s pretty often trade-off among not only technical factors. Along the way partnering with our customers we as a team of developers and analytics finding ourself in one of the following general situation:

  • Business requirements analysis and composing for new project, idea or concept
  • Early stage development or MVP development
  • Middle phase development and iterative process integration
  • Legacy systems supporting and transformation

Each specific business situation has its own nuances that are influencing on technology fit and incorporation into business process lifecycle.

Initially as an early native mobile application developers we were adepts of platform native front-end implementation. But while technology ecosystems grow its becoming very important to meet conditions of fast growing markets and choose the right tools for the specific business stage and rhythm.

Currently developers can use pretty wide range of mobile development technologies characterized as “cross-platform”. In our opinion that’s very technical term and not always easily adopted for business understanding. So what does really “cross-platfrom” mean and why it should be considered wisely and carefully with correlation to development roadmap and business plan?

One of our first cross-platform approach development project began in times of Simbian and PalmOS (yeah we have some history behind) and had pretty interesting transformations.

First of all “cross-platfrom” is a result of architecture pattern that brings essential level of abstraction between different layers of the engineering system. The most effective cross-platform expressions possible to build only with good engineering abstractions. In fact layers and abstractions are very important qualities of advanced architectures. Abstraction is one of the basic principle of software design and development. It roots in the basic computer science and still very beneficial to the popular frameworks and technology. As a system architects we can distinguish 3 following sign of abstraction: encapsulation (details hiding), simplification and generalization. Thanks to power of that concepts — very natural to build structured and layered systems. Let’s take a look at possible technical stack representation:

1 User interface

2 High-level language (Python, Java, JavaScript)

3 Low-level language (C)

4 Machine language

5 Architecture (registers, memory, arithmetic unit…)

6 Circuit elements (logic gates)

7 Transistors

8 Solid-state physics

9 Quantum mechanics

In most of the cases user interested only in User Interface — it’s the highest level of technical abstraction and the closest to the business domain. It also takes pretty much part of development efforts and resources to build robust, intuitive, friendly and highly efficient interfaces, especially in mobile world. One of the best technical abstraction for building that kind of interface layer is declarative approach. It was utilized by many companies including Microsoft and Facebook. From technical point of view it’s always based on declarative descriptions and meta with underlying run time processing engine. The most bright example of that practice is web technologies. It’s hard to over estimate meaning of Web browser abstraction for global internet emerging. Technically it’s run-time engine for descriptive domain level language. So why don’t apply that stack for general mobile application and get “cross-platfrom” benefits from it. There are significant number of framework now declaring “cross-platfrom” approach. And most of them based on web browser module (engine) residing inside app — developers call that module web view. While native mobile development approaches lean on platforms specific tools, frameworks and IDE’s, the concept of one unified code and pipeline for several platforms “by one shoot” mostly based on web tools and languages. That idea become very attractive for many developers and companies.

As you know there is nothing ideal in our world, especially engineering world. And we need to pay our price for each additional concept layer. But don’t worry, frameworks passing their evolution path very fast. Case in point Ionic 1.0 was released in 2014 and in 2019 we already have very capable Ionic 4.0 version. Usually each major release brings the bunch of new concepts and organize the whole framework deeply. For now it is very good balanced and with right performance approach in mind.

And still we need to think ahead to make the right choice for business evolution. On base of our experience and vision we can highlight following conditions for using hybrid mobile approaches:

  • MVP and beta version of the product
  • B2B and service marketplaces
  • mature e-commerce and m-commerce
ideaintech — article illustration

Awesome example of world leading hybrid mobile app Alibaba B2B Trade App with millions of downloads and positive feedback. Their technology stack based on very advanced and experimental crosss-paltfrom framework weex (it’s now Apache incubator project). Its render time almost the same as native components. Product details page are pretty much detailed but still mobile friendly. In short very fresh and high performant impression from using their mobile product.

Among our team expertise MEAN, Vue.js, Firebase, Ionic/Cordova, React Native, Flutter. Feel free to contact and get professional development technology consultation.

See you onboard!


This article was originally published on the ideaintech Medium blog on 2019-12-16.

Read the original on Medium View on Medium