Mobile applications are an integral part of the user experience on mobile devices. From maps and music to social media, movies, entertainment, and lifestyle, it is crystal clear that the demand for mobile apps has escalated in our personal lives and in all businesses today. But what are the trends driving mobile app development today? That’s what we discuss here.
1. Developers productivity: Android Jetpack
When developing mobile apps, speed of development is crucial to resolve issues that customers face and to ensure profitability for the organization. There is a push to make app development more intuitive, simple, well-integrated, and hassle free.
One example of this is Android Jetpack. It is a framework that helps manage app development for mobile app dev teams. It features four components — foundation, architecture, behavior, and UI. Each component brings improvements to a separate aspect of app development. You can decide whether to use just one of these components or all of them together. There are many advantages of using Jetpack. For example, it enables better backward compatibility with older versions of Android. With Jetpack, managing basic tasks like notifications, navigation, and more, you can focus on the parts of code that are unique to your app, and leave the rest to Jetpack. This means less boilerplate code to write. With a new common platform for app development, you can easily induct new developers into the team and get them up to speed with the same processes that experienced developers follow. Additionally, Jetpack supports Kotlin, the new programming language. (We discuss this in more detail below.)
2. Application deployment: Android App Bundle
With the sheer number of apps user have on their devices, many run into space constraints. Not to mention that not every user has high-speed bandwidth. In some countries where network speeds are slow and mobile devices have little internal memory, app sizes need to be very small for them to be usable. Bigger apps would see fewer downloads and lesser retention. To help with this, Android App Bundle is a new initiative that looks to optimize how Android apps are packaged and deployed. App Bundle does away with the need to maintain multiple APKs and instead lets you write once and run anywhere or on any device. When installing, it is device-aware and installs only the features that are relevant to that device. This way the install size of the app is smaller and download time is faster. The App Bundle has other innovative features like dynamic features, which can be turned on or off after install. Android App Bundle is the future of mobile app delivery on Android and it is making application development less complex.
3. Programming languages: Kotlin and React Native
With Android, the newest programming language is Kotlin. It’s a fully compatible replacement for the aging Java. It is fully supported by all major Java IDEs and enjoys first-class status in Android Studio. Google is very optimistic about Kotlin because it’s a much more concise yet familiar alternative to Java. It results in much less boilerplate code to be written for the app. Many mobile apps that have been built in Java over the years are now switching seamlessly to Kotlin for their new features. Both the Java and Kotlin code can coexist peacefully, and this is working well for adoption of Kotlin.
4. Hardware advances: The notch and FaceID
Hardware is a hard problem for device manufacturers and app developers alike. OEMs strive to differentiate their devices from the rest of the pack with cutting-edge features. But developers want consistency and gradual change rather than drastic change. These goals are at odds with each other, and it shows in how app development happens.
For example, the most recent hardware update that has affected mobile app development in a big way is the notch. It began with the Android Essential Phone but really came into the spotlight as part of the iPhone X, which has a big notch at the top of the screen. After that, many other new devices are playing copycat and including a notch just so they can have a better screen-to-bezel ratio. To be fair to Apple, they have a large sensor unit for the FaceID feature that’s housed in the notch. Other device manufacturers, however, don’t have the same FaceID and instead use the selfie camera for facial recognition. They don’t necessarily need a notch but simply put it there because Apple did it. This has created hassles for mobile app developers who need to plan their applications’ UI keeping the notch in mind.
Apple has stringent policies for developers to build notch-aware apps and they can enforce it because of the rigid end-to-end control they have over their ecosystem. Android is waking up to the reality of the notch and is adding support for the notch as part of its next release, Android P. Given the device fragmentation in Android, this is a particularly gnarly problem for Android, even more than iOS. Android handles this by enabling apps to gauge the safe area where content can be displayed on a device’s screen, and adjust accordingly. The notch may disappear in a year or two as OEMs find ways to make it smaller or hide the FaceID system in a way that it doesn’t interfere with the screen. For now, the notch is a real device feature that developers need to grapple with.
5. Machine learning: TensorFlow and CoreML
In today’s AI-first world, everyone from the biggest web companies to the newest startups are all out to make their applications smarter with AI chops. Google has greatly enabled this by open sourcing TensorFlow, a framework for machine learning. It has gained widespread adoption in the industry and is enabling smarter experiences in mobile applications. TensorFlow Lite is the lighter mobile-centric version of TensorFlow that enables machine learning natively on a mobile device. This is a powerful proposition and opens up the floodgates for machine learning to be included in any app easily.
Apple, not wanting to be left behind, is hard at work on CoreML, a framework that lets you import machine learning models developed externally to iOS applications. For example, recently, CoreML made it possible for iOS apps to leverage AI services from IBM Watson. Unlike TensorFlow, which is a generic and powerful machine learning library, CoreML is limited to iOS and is smaller in scope. However, it does show that both Android and iOS are keen on enabling AI experiences in their apps.
Mobile app development trends: Hot today, cold tomorrow
Mobile app development changes at a rapid pace. What’s hot today will be a thing of the past in a year’s time. However, these trends point to the key milestones that are shaping mobile app development in 2018 and beyond. As you can tell, these trends leave no stone unturned. They impact every aspect of mobile app development including developers, deployment, programming languages, mobile devices, and machine learning capabilities. By being aware of these trends you can leverage them for the apps you build and stay ahead of the curve.