Mobile Development Year in Review —We loved 2018.

Anupam Singh
AndroIDIOTS
Published in
11 min readJan 8, 2019

2018 was one of the busiest year if you are a Mobile Developer. I say ‘Mobile’ because we are going to cover Android as well as the other side — iOS.

We don’t want you to get overwhelmed by the amount of stuff Google, Jet-brains & Apple have shipped together; so we categorised in the following manner.

  • Development Language — Kotlin, Swift
  • Os/Platform — Android, iOS
  • Development Tools — Android Studio, XCode

There is also news on:

  • Cross Platform — React Native, Flutter
  • Misc

Without much ado lets get cracking.

— ANDROID ECOSYSTEM —

Android Pie & Platform level changes:

Android Pie:

With AI soon to become self aware and transform into Skynet and if your surname ends with O’ Connor do expect the Current Mr. Olympia to chase you with a shotgun coming back from future.

Well until that happens, Google will keep pushing AI in our lives and in Android. With latest Android version (Pie), AI is now a first class citizen. Adaptive battery, Adaptive Brightness, Actions prediction in notification, gmail, search are just the few areas where AI is integrated. Heck, it can even call to book a table on your behalf and not in a freaky tech scrambled voice with Google Duplex. So, Did Google Duplex just pass the Turing test?

Digital Well Being:

Google wants to focus on digital well being of the users by giving the power back to us to see where they spend the most time on the phone and control it.

Slices:

And with gesture enabled navigation and Slices of app in search bar, Android pie is indeed a step jump in the mobile ecosystem.

Foldable Phones:

Soon mobile phones will bend, with Samsung X and its Infinity Flex Display can lead us in to the foldable future and android is ready for it with inbuilt support for foldable phones.

Material Design 2.0:

Google also updated Material Design to 2.0 with focus on material theming, new tools and new design guidelines. Here is how to get started with it.

Android App Bundles:

A new app publishing format (AAB), which internally breaks the apk into multiple combination of Architecture, Display capability, and language resulting into smaller apks.

With Android App Bundles we build only one artefact that includes all of your app’s compiled code, resources, and native libraries for our app. We no longer need to build, sign, upload, and manage version codes for multiple APKs. We automatically get benefits of a smaller APK size as the Dynamic Delivery mechanism, available on Android 5.0 (API level 21) and higher, downloads only those APKs which our devices needs from the bundle.

With dynamic delivery, the bundles can be delivered over the air to the user on demand too. Jaw Dropping!

Google Play Instant:

The future is not installing every app present on Play store. Google Play Instant came out with a major revamp this year mainly for game developers. All developers need to do is break the monolith app into a bunch of features and ship a tiny version of the app for trail with a "TRY NOW" button next to the install button on play store.

ML kit for Firebase:

Google empowered all the mobile developers with power of using Machine learning faster then the gradle sync, with inbuilt support for Text Recognition, Face Detection, BarCode Scanning, Image Labeling, Landmark Recognition along with support for custom models. The kit is good way for all Mobile Devs to try their hands on ML.

ARCore:

With Motion Tracking, Lighting Estimation and Environment Understanding being the base of the ARCore, new capabilities like Augmented Images and Cloud Anchors were introduced with new tools WebXR and Sceneform to support it.

Android Jetpack:

Android Jetpack is a collection of libraries that are individually adoptable and built to work together while taking advantage of Kotlin language features that makes #AndroidDevs more productive.

Jetpack also included new components namely Work Manager — an effort to make deferred background work calls a breeze; and, Navigation — a single activity approach with fragments acting as destinations.

Android X:

Android X is a revamp of google support library. No, not the V2019 one. Its a final clean attempt by google, and provides backward compatibility to android releases. With strict semantic versioning starting from 1.0.0 you can update your projects without walking on a thin barbed wire. Here is a guide to help you migrate to AndroidX and here is a reality check.

Motion Layout:

Creating animations has always been fun yet tricky. With so many animation Apis available it can take some time to master the art of creating good, smooth animations, but not anymore. Google has come up with Motion Layout which tries to solve all the worries. You can get started here:

Trusted Web Activity:

A new way to integrate your web-app content such as your PWA with your Android app using a similar protocol to Chrome Custom Tabs was introduced.

Kotlin

  • Kotlin evolved a lot in 2018, the year started with Kotlin 1.2.20 (with gradle build cache support) and by Valentines Jet-brains made us fall in love with Kotlin Native, and Kotlin Multiplatform and by year end Kotlin Coroutines graduated to stable, and if you think Team Kotlin took a holiday after that, boy you are mistaken.
  • Ktor 1.0: The Kotlin way to build asynchronous servers and clients in connected systems, was released in December.
  • Kotlin extensions: This immensely powerful feature makes our lives much easier with inline, concise and robust Kotlin code.
  • Kotlin DSL : This allows us to express domain-specific operations much more concisely than an equivalent piece of code in a general-purpose language.

If you are craving for more of Kotlin, deep dive here, here, and here.

Google continued there push to tell us how to write better apps ,after introduction of android arch components in 2017 , google announced

Android Studio

Our favourite tool Android Studio got a major make over in 2018.

Android studio 3.1 was released in march and evolving till August to give the developers a Powerful D8 Dexer, Simplified build output window, with Kotlin 1.2.30 plugin support , with Profiler getting a bump in capabilities with a polished Layout editor, and Quick Booting Emulator and much more.

Keeping up with IO 2018 announcements Google released:

Android Studio 3.2: This is was a release with powerful features. Support for Android Pie, New publishing format of bundles, the Navigation Component(Jetpack), new Energy profiler, new experimental R8 optimizer, and the capability of snapshotting and recording in the emulator were all introduced in one release.

Android Vitals: Well all that effort will be in vain if you cannot see how users experience and what they actually say about your app. Android vitals helps developers to see how the core vitals like crash rate, ANR rate, excessive wakeups, and stuck wake locks are panning out for the app and take necessary steps through a detailed dashboard on the play console.

Gradle 5.0: With heavy lifting on saving build time by using gradle build cache, incremental compilation and incremental annotation processing, the latest entrant in Gradle teams’ own words “is the fastest, safest, and most capable Gradle release ever.”

Project Nitrogen : It is an effort to make testing easy, with Android X out in stable channel project nitrogen will allow devs to write test against them and test them on local JVM, real or virtual device & even on Firebase Test Lab.

— iOS ECOSYSTEM —

iOS 12

iOS users got a great many features with the introduction of iOS 12. Here are some of the interesting ones:

Performance:

Apple put a lot of time and effort in performance of its mobile operating system. With iOS 12 we got tremendous speed bumps in App Launch, swiping camera from lock screen and faster keyboard launches. These performance benefits were also available for older devices such as iPhone 6 & 5S.
More here.

Augmented Reality:

The race for Augmented Reality is on, and Apple is putting everything it can in it. ARKit 1.0 & 1.5 focused on tools for developers to locate the physical tracking space for users to interact with, ARKit 2.0 is about being able to keep an AR space around after you have created it. People can play ARKit games together, schools can use ARKit for a shared educational experience.

Checkout the amazing demo:

Notifications

iOS has always had a clunky approach towards handling notifications in Notification drawer, but this changed with iOS 12. We got grouped notifications where notifications from same apps are clubbed into a single notification. A much awaited feature. Read a lot more here.

Animoji and Memoji:

Animoji was introduced last year and we fell in love with it and Apple took it a step further. Now we can add 3D avatars of our faces that we can use in a similar way to Animoji. More here.

Screen Time:

Similar to Digital Wellbeing on Android, we have got Screen Time on iOS. It gives us a detailed breakdown of our usage of our iOS devices. Guess Google and Apple both want us to be aware of our digital usages. Or is it another means to track us… Haha.

FaceTime:

Apple introduced Group FaceTime calls, letting us participate with up to 32 of our friends. It’s also integrated into Messages. Long read.

Siri:

iOS 12 introduces Siri Shortcuts, which lets all types of apps add shortcuts to Siri, letting us add custom phrases that correspond with a specific app to perform tasks, like adding a phrase with the Swiggy App for ordering or tracking your food. There is also a Shortcuts app.

Core ML:

Introduced in iOS 11, Core ML has taken massive strides towards making machine learning mainstream. Core ML 2.0 is now 30% faster, with AI model sizes reduced by up to 75%. Apple has also drastically simplified the libraries and tools to make it easier for everyone to adopt Core ML without prior mathematics or machine learning backgrounds.

Other notable mentions:

  1. iBooks is now Apple Books with a complete new redesign.
  2. Stocks App redesigned from scratch on iOS & macOS.
  3. New Filters, Animoji, Memoji integration to the Camera app.
  4. Search suggestions, Memories, Featured photos, suggested sharing added to Photos app.
  5. A better News app though for iPad.

Read the changes in iOS 12 for developers here.

Swift

Swift is fast reaching its matured and stable state and the year 2018 was the stepping stone for it. We got two new versions 4.1 & 4.2 inching itself closer to the ABI stable version (5.0).

Some new features of Swift 4.x:

  1. Conditional Conformance: (4.1): Allows types to confirm only when certain conditions are met.
  2. Recursive constraints on associated types: (4.1): Allows an associated type inside a protocol to be constrained with same protocol.
  3. Dynamic Member Lookup (4.2): A way to bring Swift language much closer to other scripting languages but in a very type safe way.
  4. Random number generation and shuffling: (4.2): A new native & full featured random generation API introduced in standard library.
  5. Enhanced Hashable: (4.2) The new Hasher type makes it very easy to write a custom implementation of hash function.

There is more; which you must read — What’s new in Swift 4.1 & 4.2

Swift forum was introduced early in 2018 for discussion and communication of Swift evolution process. Previously entire discussions used to be on mailing list which was a tad difficult to understand and follow. Mailing list was shut down and archived and all content was imported to forums.

Keep following new updates to swift at swift.org.

Xcode 10

With every new Xcode, Apple has brought tremendous amount of improvements. Xcode 10 especially has brought down build times by significant amounts. It comes preloaded with iOS 12 and Swift 4.2.

  1. With macOS Mojave we got dark interface, which brings dark mode to Xcode too.
  2. Code snippets can be added to library now via the Editor.
  3. Multi-cursor editing in source editor.
  4. Font preview when selecting a font.
  5. Defaults to new build system introduced in Xcode 9. It works well and has shown improvements in build times.
  6. Support for running tests in parallel, which reduces the time it takes to run tests.
  7. Supports working directly with several source code collaboration platforms like Github, BitBucket & Gitlab.
  8. Build performance insights with Build Timing Summary are now available for developers.

Read What’s new in Xcode 10 for details.

Xcode in Dark Mode. Isn’t it beatiful.

— CROSS PLATFORM WORLD —

React Native:

Facebook is still bullish on React Native with features like Blood Donations, Crisis Response, Privacy Shortcuts, and Wellness Checks built on the same but an early and vocal adopter Airbnb decided to sunset it and the state of react native is confusing for a Mobile Developer in 2018.

But whats next for the cross platform world?

Flutter 1.0:

Thankfully we have google with its own cross platform app development push with Flutter which turned stable on December 4th, 2018.
With a new energetic community, push from google and decent adoption by developers, for new experimental apps at least, flutter seems to have less clutter in its future road map compared to React Native.

— MISC NEWS —

Samsung One UI:

With focus on task on hand approach, with eye for detail on every screen its definitely an uptick from Experience UI and lets just say TouchWiz never happened.

Crashlytics’ Crash:

Google turned the knob on our beloved crash reporting tool crashlytics. They had already sun setted the fabric mobile apps, and entire service will move to Firebase by mid 2019.

Buddy Build becomes iBuddyBuild:

Apple acquired the CI/CD service company — Buddy build. It did not come as surprise that they immediately stopped support for Android.

Fushcia to support Android Apps:

The rumored successor of Android and Chrome OS is taking a leapfrog with the updated readme file on github mentioning that Android Runtime, dubbed ART, will be part of Fuchsia and will allow you to run Android apps inside Fuschia, similar to Chrome OS.
Meanwhile you can checkout its demo here:

The world of mobile development saw a major uplift in 2018. From Kotlin and Swift taking step jumps in developer community, to iOS finally having group notifications (finally!) to Google telling the developers on how to write good apps and Apple expressing their care about developers with many Xcode10 features.

Coupled with moon shot projects like flutter, fuchsia and Apple opening up Siri for 3rd party development, It was indeed a year when a big announcement was just a live stream away.

Though the rapid pace of change of language, OS, Tools might be scary to catch up with, this is really the best time to be a Mobile Developer.

We hope 2019 to be even bigger and better for all of us.

A very Happy New year to all of you!

Cheers.

--

--