logo
logo
Sign in

Approaches to Mobile App Development

avatar
Brooke Campbell
Approaches to Mobile App Development

Selecting the platform for your next mobile app development project is not straight-forward. There are a variety of valid approaches each with its own trade-offs. While no single approach has yet to establish itself as the overwhelming choice in the industry there is a clear trend with strong backing from not only Entrance Consulting but also any major software consulting firms. There are three main paths down which your development team can go:

  1. Hybrid application
  2. Cross—compilation
  3. Native application

 

HYBRID APPLICATION

The hybrid application development approach leverages the latest in web development technologies, led by HTM L5, CSS3 and JavaScript, to develop applications that seamlessly work across a wide swath of mobile devices. These applications are deployed in a native app "container" so that the user experience is equivalent to a fully native app. Advances in modern web browser technology, such as local storage, enable web apps that can truly replace native apps — all while providing the end user a native app experience that they cannot distinguish from a true native app. Typically, the end user has no reason to believe they are not using a fully native app.

Gartner also agrees that this approach leads the way as the best forward-looking technical approach: "Today, hybrid application development tools are the best option for midmarket organizations that have to operate within specific financial and resource bounds. These hybrid tools enable application teams to leverage existing Web skills and components. They also provide the widest deployment across devices. Native development tools should be the last choice for midmarket organizations today because of higher development costs."*

 

The leading framework for development of hybrid apps is Apache Cordova which started from the PhoneGap project (which is also still available as a separate platform variation that includes other tools). Cordova provides JavaScript APIs that allow native interaction with mobile devices thus bridging the gap between your HTML5-based app and the various devices to which it is deployed. The APIs cover things you would expect such as interaction with a device's camera, accelerometer, etc. The open source community also brings to the table a wide variety of plug-ins for Cordova that further extend its capabilities.

Today, hybrid application development tools are the best option tor midmarket organizations that have to operate within specific financial and resource bounds.

CROSS—COMPILATION

Cross—compilation ranks as a strong second place choice among mobile development options. Frameworks such as Xamarin give your team the ability to write code once while compiling to multiple native apps. This is a valid approach if you must have a native app product. However, it is important to realize that the 80/20 rule tends to apply here — you may write 80% of the code generically across devices but still need to write 20% of the code as device—specific implementations. Do not assume that you will get 100% of what need for all devices with just your write—once generic code.

NATIVE DEVELOPMENT

Native development, while still very popular today, does not leverage the advances provided by either hybrid app development or cross—compilation tools. As Gartner notes, this leads to higher development costs in the long term as you are forced to implement the same things multiple times to get them to market on all desired devices. Duplication of code always increases maintenance costs over time and is always avoided by the best software developers. Furthermore, native app development requires a separate unique developer skillset for each device platform that you wish to support!

It is also important to remember that the desktop is not dead yet and typically there is still a use case for desktop-enabled browser support in app development. Being web browser-friendly gives you additional compatibility with desktops and other devices that you do not natively support but that do have a web browser client available. The key thing of which to take note is the convergence of native apps and web apps. The line is already very well blurred. Microsoft has embraced this approach full-force, beginning with Windows 8 and further reinforced it with Windows 10.

The idea of HTML5- based apps deployed via an "app store" model is aggressively moving into the desktop environment, resulting in native apps becoming obsolete even on the desktop. Microsoft's approach converges all Windows—based device development to a single "Universal Windows Platform" that allows one app to reach all Windows 10 devices and is centered around HTML5 as the common delivery vehicle. A clear theme is emerging in modern app development. HTML and JavaScript are not just for the web anymore!

When working in software consulting company it is natural to believe that the future of mobile development is in hybrid applications development. At the same time, we recognize and support alternative approaches where there is a business case that makes sense. As a general rule though, we actively develop new solutions using a modern framework based on the HTML5/CSS3/ JavaScript stack that is mobile-ready from the start. By going with a cutting-edge web-based approach, you can easily keep all of your bases covered.

 

*Gartner, "Critical Inflection Points for Midmarket Mobility Initiatives," July ll, 2014.

collect
0
avatar
Brooke Campbell
guide
Zupyak is the world’s largest content marketing community, with over 400 000 members and 3 million articles. Explore and get your content discovered.
Read more