What are the key trends in application development?
6 min read
05 August 2014
Having recently attended Enterprise Apps World, I thought I would share my key takeaways from the show. It’s clear that most organisations are looking at the implications of going mobile and are considering how enterprise apps will work within their mobile strategy.
IT teams are working to increase the productivity of their developers to build enterprise apps faster and more cost effectively, ensuring that they are multi-channel and that they are built for mobile. As a result, Agile development is now a reality and as an industry we have started to move away from the old ‘waterfall’ development days when very big projects included long delivery times. Businesses are now looking for rapid response to change and incremental releases as well as a time boxed development approach.
There was also quite a lot of discussion around how you achieve an Agile approach and whether high-productivity tools and platforms can help complement or accelerate an Agile methodology. In the past, the challenge with Agile has been connecting enterprise apps to multiple systems and a large and complex infrastructure. For complex systems to integrate and work seamlessly together, careful planning is needed and IT teams from various parts of the business all need to co-operate. More recently, however, this has changed with new tools and platforms that allow developers to build enterprise software faster, tackling it in smaller chunks.
The traditional way of building software required time to be spent on what we call the ‘plumbing’, creating lots of underlying infrastructure before a developer can get to the useful part of the software, which needs to be extracted so developers can work on the real business functionality. There are two ways of doing this. One is by using a high-productivity platform that does all the plumbing for you and lets you focus on creating business functionality. The other way is the organisation builds its own platform. However in my experience this is rare, very resource intensive, and expensive.
So how does the debate around development methodology translate for organisations looking to go mobile? Analysts firms currently estimate that approximately 50 per cent of enterprise apps today can benefit from going mobile. But when enterprise apps are taken mobile, their numbers multiply by a factor of five to ten times. Current mobile app development approaches, whether that be hand-coding and/or waterfall, simply will not scale to this magnitude.
It is apparent that there is broad consensus around which approach and tools are most appropriate for the different methods of mobile application development. For example, you could go down the native route by taking a web-based (HTML5) approach, or you could take a hybrid approach. Here is where and how the industry believes these tools and methodologies should be applied:
When building highly specialised consumer apps, the native approach is generally the one that organisations believe they should take. Native apps are mobile applications that are written in the sometimes-proprietary language(s) prescribed or allowed by the mobile OS manufacturer. Usually these apps provide a very rich user experience, because they are built specifically for a particular device’s hardware. On the downside, for each device to be supported, you’ll need to build a specific version of your app. This approach tends to carry with it specific teams dedicated to each platform because of the uniqueness of each language and device or outsourcing to companies that specialise in this.
Mobile web applications
For enterprises whose aim is to rapidly build apps that increase staff and business productivity, utilising a web-based (HTML5) development approach helps. HTML5 is not device specific and you can develop once and deploy across multiple platforms – so it is great for mobile. HTML5 is also good for developing enterprise applications where changes need to be made often and immediately. Rapid advances in HTML5 mean that web apps can now do most of the things that native apps can do with much less overhead in terms of development and maintenance resources. The web app approach enables IT teams to use what they already have, as opposed to the native approach, which requires new skills to be learnt.
The main goal of a hybrid application is to leverage the power of native and the simplicity of mobile web. This is achieved by building a thin native shell around a mobile web application or applications. Companies frequently use this technique to get the mobile app listed on a variety of app stores or do device-level integrations. Hybrid is becoming very popular when you need to combine elements from the native approach but you want all the benefits of web.
It is quite likely that the approach you ultimately take in mobile won’t be native, mobile web, OR hybrid – it will be native, mobile web, AND hybrid. A recent Forrester report addresses the growing need for new low-code development platforms that accelerate app delivery and help enterprise organisations deliver mobile and multi-channel apps.
There is no doubt that mobile app development is a key priority for organisations going forward and the faster IT teams can accommodate new mobile projects into their workload, the more responsive IT will be to meeting business needs.
Andrew Burgess is solutions engineer at OutSystems UK.