Mobile App Dev: 3 Trends That Will Shake Up Your Strategy
Industry analyst Peter Crocker outlines three emerging technology trends that will have you rethinking your organization's mobile development strategy.
8 DevOps Lessons IT Can Teach The Enterprise
8 DevOps Lessons IT Can Teach The Enterprise (Click image for larger view and slideshow.)
The way mobile apps are built and maintained is undergoing a major shift this year. In my work as an industry analyst, I'm seeing technologies and architectures coming to market simultaneously that will support modular apps and flexible, speedy, collaborative development processes.
Whether you're building mobile apps for your enterprise users or for your company's external customers, it is an iterative process. Waterfall development practices that lead to monolithic apps are increasingly unable to support the demand on developers to create and update apps to meet the requirements of modern mobile users. Platforms are supporting increased flexibility though granular, componentized, and agile architectures and practices.
It's my recommendation that CIOs and others involved in DevOps think about how to divide systems into smaller pieces so they can be independently and quickly updated. This will help your organization keep up with the constantly accelerating pace of change.
Adopting a modular approach to building mobile experiences will create a number of opportunities for efficiency. Adjusting development organizations to easily move development talent across projects will help better utilize scarce developer talent. Collaboration among developers, designers, and marketers will also lead to a more streamlined operation.
[Which languages are worth considering for your mobile development? Read 6 Top Programming Languages for Mobile Development.]
So, where do you begin? Here are three emerging technology trends that will get your mobile app development teams headed in the right direction.
Microservices
The use of microservices in the backend enables mobile app development teams to operate efficiently and create flexible apps. Microservices are not really a specific technology so much as an architecture that supports faster iteration. They are a pattern for architecting small backend services that can be developed independently of each other, and then connected together via APIs.
Each microservice can be built to complete a certain function and combine with other microservices to create a unique, full-featured service. For example, a flight reservation app might contain a number of microservices such as:
creating customer profiles
checking flight availability
calculating fares
processing transactions
allocating seats
adjusting inventory
Because microservices are glued together with APIs, there are no dependencies for developers to track. Consequently, dynamic development organizations are possible, as different developers can work independently on various microservices. This also makes apps easier to maintain and scale.
Cards and Deep Links
In the front end, the idea of a standalone mobile app is also beginning to splinter as card-based UIs gain traction. Popularized by Pinterest, cards present data and images in rectangular shapes on the home screen and can be layered and moved. Most dating sites have copied Tinder's card-based user interfaces, in which each potential match is represented in a unique card.
The flexibility of this layout enables brands to experiment with different ways to present the information that is most relevant to the user and device. Much like microservices, each card is focused on a specific thought or action. However, instead of connecting components with APIs the way microservices do, deep links can be used to connect cards to each other or connect to specific pages in a completely different app.
These developments will change the mobile experience for the end-user, as walls between apps become porous and eventually disappear. In this scenario, the days of apps with well thought out user interfaces and menus give way to a collection of UI widgets or cards.
Native JavaScript Frameworks
The concept of component-based architecture is being leveraged in new Native JavaScript frameworks as well. Mobile operating system vendors have opened up access to the JavaScript engines in their platforms. With this access, using these frameworks (like NativeScript from Telerik or React Native from Facebook), developers can call native UI features and APIs with JavaScript.
These bits of native code are componentized or wrapped with declarative language, so they can operate without dependencies and be easily incorporated into apps. Developers can also build custom native components in native languages that can be accessed through the JavaScript frameworks.
This approach is a step beyond WebViews, since apps built this way are developed in JavaScript but run natively. This means that apps are easier to build than pure native apps, but perform better than hybrid architectures and have a native and consistent look and feel.
The emergence of JavaScript frameworks may negate the debate between native and Web. Developers may no longer have to choose between performance and ease of development. As a result, developers and users win with flexible apps that offer improved performance.
Flexible technologies will enable increased experimentation. It's important that your teams test and measure every aspect of user experience and tweak UIs in order to drive app engagement and retention. This will be how brands compete in the mobile ecosystem going forward.
The bottom line? Your mobile app is never done. So build your dev infrastructure and strategy around this assumption.
Are you an IT Hero? Do you know someone who is? Submit your entry now for InformationWeek's IT Hero Award. Full details and a submission form can be found here.
About the Author
You May Also Like