Over a million developers have joined DZone.

This Week in Mobile: A Case Against Default Implementations and Questioning Kotlin in Production

DZone's Guide to

This Week in Mobile: A Case Against Default Implementations and Questioning Kotlin in Production

Find out why default implementations in your protocols aren’t always a great idea, whether Kotlin in production is a wise move, and constructing the perfect Singleton.

· Mobile Zone ·
Free Resource

You might not have had any luck in securing WWDC tickets for yourself, but it's still worth getting to San Jose to be at the center of the iOS world. Apple has even included a listing of the other developer events going on that week.


I remember thinking that default implementations were a great idea in Protocols, but there are certainly cases where you don’t want them. Here’s one such case.

Here are some tips to become a better Swift developer, split evenly between beginners and people who use Swift daily.

If you’ve been thinking of integrating facial recognition into your app, you’ll enjoy Getting Started with OpenCV in iOS/Swift.

Erica Sadun has a great tip showing how to view API changes in Xcode.

Some projects to check out: 

  • material-motion-swift: Reactive motion for iOS. 
  • Magnetic: SpriteKit Floating Bubble Picker (inspired by Apple Music). 
  • LoginKit: LoginKit is a quick and easy way to add a Login/Signup UX to your iOS app. 
  • Viperit: Viper framework for iOS using Swift 3. 


Singleton might be one of the most controversial design patterns. Some love it and can’t live without it. Others say it promotes bad coding practice. Either way, it exists for a reason, and you will need it at some point, so read this article about How to Make the Perfect Singleton.

A lot has been made of Kotlin and it’s usefulness, but the big question for developers is whether or not it is suitable for production. Here is one opinion on that question.

One of the new APIs included in Android O is one for tooltips in your views. Here’s a preliminary look at View tooltips.

Some projects to check out: 

  • spruce-android: Lightweight animation library.
  • awesome-android-complete-reference: References for everything like best practices, performance optimization, and more.
  • Cicerone: Lightweight library that makes navigation in an Android app easy.
  • Tangram-Android: Tangram is a modular UI solution for building native pages dynamically, including Tangram for Android, Tangram for iOS, and even backend CMS. This project provides the SDK on Android.


Five Lessons Learned from Scaling Pinterest is one employee’s thoughts on what happened as the company scaled from 5 to 650 people.

Never Just Design Pretty Little Apps talks about the trend of designing vanity apps to show off a design concept at the expense of user experience.

Designers will tell you that it’s the small details that will set your app apart from others. Here are some of the details that matter.

Google has put together a site featuring all their open source projects, and it’s got a pretty cool visualization too.  

ios ,swift ,android ,java

Opinions expressed by DZone contributors are their own.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}