Mobile app development is probably one of the hottest industries now and will remain so for some time. To understand what lies ahead in 2018 and beyond, we must look back at what happened in 2017. In my opinion the following developments during the past year will have a significant impact on how we develop mobile applications in the future.

The rise of neural networks APIand Neural Processing Units

The appeal of Artificial Intelligence lies in its ability to detect patterns, learn from them, and take some decisions on our behalf. Since the mobile is the de-facto tool of choice for accomplishing a sizable portion of daily tasks, the implementation of AI would tremendously benefit its users. Current AI implementations use cloud technology. But 2017 saw this trend changing in favor of dedicated Neural Processing Units (NPU) in smartphones and for good reason.

You see, AI requires computers to calculate too many things too fast in a short span of time – something that regular CPUs aren’t designed to do. A Neural Processing Unit (NPU), in the form of dedicated processors that are a part of a larger System on Chip (SoC), helps fasten offline processing of machine learning tasks. This approach also ensures better security because most tasks become self-contained in the device.

In 2017 Google announced the lite version of TensorFlow – its open source machine intelligence software library. While Google’s Pixel devices feature NPUs that use TensorFlow for image processing, its new APIs for Android devices has begun standardizing some experiences on mobile devices.  Huawei’s Mate 10 also packs an NPU. Apple developers will only have to update their apps once with the company’s core ML framework. All this is very exciting. Watch this space for more!

Augmented Reality still growing in popularity

Trust everybody to remember the craze for Pokémon Go when it was first released in the summer of 2016. Since then, the appeal of Augmented Reality – the superimposition of computer generated images on real world pictures – has multiplied tenfold. Now there is SnapChat, Ink Hunter, WallaMe, and scores of other apps with innovative uses for AR. Even BAFTA has launched dedicated VR awards for the first time.

Clearly, in 2017, the craze for Augmented Reality (AR) only increased. Evans Data Corporation surveyed 600 mobile developers in 2017 and discovered that 44% of mobile developers are incorporating some form of augmented reality (AR) into apps. The other 30% are assessing or testing the technology in their projects.

The report further states: “Although AR has numerous uses and adoption is steadily climbing, developers complain about awareness as being a major challenge in developing or piloting an augmented reality app.” Building awareness takes time. And in my opinion, the time is now ripe for Augmented Reality to come into its own.

Freemium Model is here to stay

When it comes to monetizing apps, the ‘freemium’ model has turned out to be the winner. A survey by Clutch, a leading research and review platform for business services, revealed that 61% of app developers recommend a ‘freemium’ model for mobile app monetization. This comes close at heels of a report by Sensor Tower which states that the overall app revenue has only increased in recent years, growing by 35 per cent year-on-year to $60 billion in 2017.

Clearly, users prefer to download the app for free and choose to make in-app purchases as per their judgment. Moreover, with 82% of all app revenue being from gaming apps, people would naturally like to try out a game to see if it is worth the money!

Developments in Ionic

In 2017, the Ionic framework reinforced its position as one of the topmost frameworks for mobile app development. For those who want a bit of a background, Ionic Framework describes it as, “an open source SDK that enables developers to build performant, high-quality mobile apps using familiar web technologies (HTML, CSS, and JavaScript). Ionic is focused mainly on the look and feel, or the UI interaction, of an app. This means that it’s not a replacement for Cordova or your favorite JavaScript framework. Instead, Ionic fits in well with these projects, in order to simplify one big part of your app development process: the front-end.

Ionic View is akin to a mobile app portfolio. It enables users to share, view, and test the apps they are developing across devices. In 2017, updates were made to improve the experience. The Ionic Blog states: “We’ve added a number of features to make it easy to share builds of your app with a lot of external testers and clients, including doing A/B testing and sharing different versions to different people. We’ve also added a ton of new native plugins to it.”

Likewise, in 2017, Ionic Cloud was deprecated and replaced with Ionic Pro – a powerful suite of tools and services, focused on development and testing. It automatically tracks runtime errors, makes it possible to update the app without app store submissions, and several other features. The Ionic Blog states: “As of February 1, 2018, we will no longer provide Push and Auth services. Anyone with an existing Cloud account can continue using Push and Auth through January 2018. After that, you’ll need to find an alternative provider.”

All good things come to an end, and so has the Ionic Cloud. Fortunately, Ionic Pro is a worthy successor.

Kotlin – Significant Leaps

In 2017, Kotlin witnessed several significant developments. With the release of Kotlin 1.1 in March, the JavaScript support was moved out of the experimental phase while experimental co-routines were introduced. The Kotlin Blog states: “The key feature of Kotlin’s design is that the implementation of coroutine execution is part of the libraries, not the language, so you aren’t bound to any specific programming paradigm or concurrency library.”

In May, the Android team announced dedicated support for the Kotlin programming language. In addition, they also announced a collaboration with JetBrains, that developed Kotlin and IntelliJ, to move Kotlin into a non-profit foundation. Explaining the decision of the Android community to provide support for Kotlin, Mike Cleron, Director, Android Platform has stated: “…it was because we think Kotlin is a great language that will make writing Android apps easier and more enjoyable. Kotlin is also a great match for the existing Android ecosystem. It is 100% compatible with the Java programming language. You can add as little or as much Kotlin into your existing codebase as you want and mix the two languages freely within the same project.”

Later in 2017, Kotlin 1.2 was also released. It introduced the option to reuse the code between the JVM and JavaScript. The Kotlin Blog explains: “Now you can write the business logic of your application once, and reuse it across all tiers of your application – the backend, the browser frontend and the Android mobile app. We’re also working on libraries to help you reuse more of the code, such as a cross-platform serialization library.”

It can be safely said that in 2017, Kotlin has established itself as one of the topmost choices for mobile app development.

Developments in React Native

If you want to build native apps using just JavaScript, you need to check out React Native – Facebook’s open source framework. The Facebook GitHub for React Native states: “With React Native, you don’t build a “mobile web app”, an “HTML5 app”, or a “hybrid app”. You build a real mobile app that’s indistinguishable from an app built using Objective-C or Java.”

Open sourced in 2015, React Native already has an impressive user base including Airbnb, Skype, Instagram, Facebook, Facebook Ads Manager, Tesla, Walmart, and a host of exciting startups. In August, Microsoft shared that they have built the new Skype on top of React Native “to facilitate sharing as much code between platforms as possible”. React Native enabled them to power both – iOS and Android – Skype apps from the common codebase. They used ReactXP – an open sourced thin layer on top of react Native – to power the web app.

In September, GeekyAnts lowered the entry barrier for developers wanting to use React Native by announcing – a design tool that works with JavaScript files to generate readable and editable code. Around the same time Microsoft released Code Signing feature for CodePush, enabling React Native developers to sign their application bundles in CodePush. Several more updates through 2017 positioned React Native as one of the top choices for mobile app developers.

Sunsetting the past

Developers who still use the older versions of Android and iOS should prepare for a future minus support. For example, Android 4.x series is being used by very few devices. Similarly, devices using iOS versions other than 10 and 11 are just 7%. Naturally, providing support for these versions is turning into a challenge. If I were you, I’d say a heartfelt goodbye and move on.