The demand for intuitive and functional mobile applications has been higher than ever, driving innovation in the mobile development industry. Digital sales continue to increase year on year. People are spending more time on their personal handheld devices and offline content is in huge demand. In 2017 we saw big commitments from the world’s largest investors in the mobile development environment: Google, Apple, and Microsoft. Google announced in May that Kotlin would become one of their new official programming languages, strengthening their developer base. Apple made a play for the AR/VR market with the impressive AR Kit API developed for use with their latest handset devices, allowing developers to create some truly fantastic applications breaking the limits of how we imagine the way that mobile apps interact with the 3D spaces around us. Microsoft pushed some of their cognitive services out of preview and into azure properly, continuing their investments in driving cloud technology as a fast, all-encompassing back end solution for mobile applications. 2018 will be no different, if you’ve not been under a rock lately you’ll already be aware of some of this year’s buzzwords and hot topics.
- Faster mobile development processes to match demand.
- Cloud technology behind every mobile platform.
- PWA (Progressive Web Apps).
- Cross platform apps.
- AI and chatbots.
As a cross platform mobile developer, I can tell you that seeing the continued investments by the big three in to cross platform solutions makes me very excited to see how far 2018 will take us. Google have already confirmed Android Things 1.0 for the IoT developers to help them build and maintain at scale. Not to mention Android Jetpack to reduce the number of libraries required to keep your applications back compatibility compliant. Apple continue to add more and more to their AR Kit ready for the release of iOS 12. Microsoft announced more improvements to their fluent design principles for UWP applications, not to mention a reduction in the amount of money they take from application sales, putting more money into developer’s pockets!
So what are a couple of the big hitters for the rest of this year I hear you ask, well let’s look at two of the ones that I’m most excited in for 2018.
Progressive Web Apps
Progressive web apps are certainly one of the louder buzzwords for 2018. The ability to code once, create one set of UIs and be able to reach every person on every mobile device. Cross platform development leveraging the power of the modern web browser is essentially the bottom line of what PWAs will be doing. But what are the key strengths of this technology I hear you ask, well lets list a few:
- Progressive — These apps work for every user, regardless of the browser that you are using or even where you are situated in the world!
- Responsive — Fit any device! Be it a desktop, a mobile, a tablet.
- App look and feel — Same feel and flow as a normal application might have.
- Secure — Utilising HTTPS ensures a secure experience between the user and the PWA.
- Connectivity disconnect— Utilising service workers, PWAs can work on low-quality networks and also offline.
- Discoverable — The W3C manifest states that PWAs are classed as standard applications. Service worker registration scope allows search engines to index them and improves discoverability.
- Installation — Users can ‘install’ PWAs to their desktops, be that on phone, PC, or tablet.
- Linkable — PWAs are linkable apps, only requiring the URL be shared, they need no complex installation in order to be used on a device
- Interaction and Engagement — PWA support push notifications.
As a Xamarin developer myself, I’d like to point out a little side note that, through the use of a great little framework called Ooui.Wasm that leverages WebAssembly we can now convert Xamarin.Forms projects to progressive web apps. It’s still in its early stages but it’s a promising concept. It essentially lets you run compiled code in your browser. Mono was brought to WebAssembly originally with mono-wasm that gives us the ability to run C# within WebAssembly. Ooui.Wasm uses this as its foundation.
All of this means that progressive web apps are worth keeping an eye on this year, increasing the bridge between the browser and user’s hardware is what will define the long-term feasibility of the technology. But it’s definitely an exciting and promising innovation.
Any developer that’s been in the industry for the last few years will know that the use of AI within applications has gained a lot more traction, likely thanks to increased accessibility to predefined and easy to integrate AI technologies. As I mentioned earlier a lot of Microsofts cognitive services have come out of preview and are now integrable properly with the azure cloud environment. Of course, Microsoft aren’t the only ones supplying artificial intelligence services, but they certainly have some of the easier integrable services. Here are some of the more popular AI integrations currently available to mobile developers:
Googles Firebase ML Kit:
The ML Kit documentation page sates:
“We want the entire device experience to be smarter, not just the OS, so we’re bringing the power of Google’s machine learning to app developers with the launch of ML Kit, a new set of cross-platform APIs available through Firebase.”
ML Kit offers developers on-device APIs for text recognition, face detection, image labelling and more.
Apples Core ML2:
“Core ML 2 lets you integrate a broad variety of machine learning model types into your app. In addition to supporting extensive deep learning with over 30-layer types, it also supports standard models such as tree ensembles, SVMs, and generalized linear models. Because it’s built on top of low level technologies like Metal and Accelerate, Core ML seamlessly takes advantage of the CPU and GPU to provide maximum performance and efficiency. You can run machine learning models on the device so data doesn’t need to leave the device to be analysed.”
Apples Core ML2 vision component links seamlessly with their AR Kit SDK, just another example of their investment in the augmented reality field.
Microsoft AI Platform:
“With the flexible Azure platform and a wide portfolio of AI productivity tools, you can build the next generation of smart applications where your data lives, in the intelligent cloud, on-premises, and on the intelligent edge.”
Microsoft have numerous AI, machine learning services available to developers, perhaps one of the larger selections, encompassing: vision, speech, language, knowledge and search APIs, most of which offer a fast cloud based integrable allowing developers to leverage the power of AI and the cloud to provide seamless and fast experiences to mobile users.
This year has already seen some impressive technological commitments in the development sphere and shown us the innovative direction that mobile development is taking. With such large and continuing investment by some of the worlds largest companies it’s easy to get excited about how mobile app development is going to provide seamless and intuitive experiences to users with less complexity than ever before. Personally I’m excited about getting stuck into technology at the cutting edge of our industry, and I’m glad that I work in an environment that shares that vision.