Over a million developers have joined DZone.

This Month in Mobile: January 2017

DZone's Guide to

This Month in Mobile: January 2017

It's been a busy month including everything from naming things in Swift to using prefetch for your RecyclerViews and what Kotlin 1.1 has in store for Android developers.

· Mobile Zone ·
Free Resource

January has been an exceptionally busy month for mobile news. We've got Fabric joining Google, while Swift creator Chris Lattner has left Apple to work with Tesla. And then, the most unlikely, but welcome, news of all, is that from iOS 10.3, developers will be able to respond to comments on the App Store. That's just the start, let's see what else is going on. 


In Unsafe Swift: Using Pointers and Interacting with C you'll see how you can expand your horizons by looking deep into the internals or improve the performance of your app. 

You can't ignore the usefulness of design patterns, so check out this exploration of the Factory Pattern in Swift.

If you're just getting into app development, check out these 14 Must-Knows for iOS Developers.

You've heard the benefits of Protocol Oriented Programming, but want to see a practical use of it? Bob Lee has you covered in his tutorial of Protocol Oriented Programming View in Swift 3.

In Handling Internet Connection Using ReachabilityManager in Swift, you'll see how to use the Reachability library to deal with temperamental data connections.

It's very easy to get yourself stuck in a memory leak trap, so take the time out to read Understanding Memory Leaks in Closures to give yourself a better chance. 

Ash Furrow has put together a great piece about Naming Things in Swift. It talks about the Swift API Guidelines and puts together a list of best practices for naming your functions, classes and more.

Some projects to check out: 

  • Hero: Elegant transition library for iOS

  • MFCard: Easily integrate credit card payments in your app 
  • Sharaku: Image filtering UI library like Instagram 
  • ODUIThreadGuard: A guard to help you check if you make UI changes outside the main thread
  • ResponseDetective: Sherlock Holmes of the networking layer

Finally, check out this list of 33 iOS Open Source Libraries That Will Dominate 2017.


Weapons for Boilerplate Destruction: Annotation Processor discusses a powerful, but underused tool to skip the boring code to get straight to the good stuff. The following part of the series will teach you how to test the annotation processor.

In Can You Code this UI? Volume 6, you'll see six UI concepts along with their implementation in Android. 

RecyclerView Prefetch is a great way of having a smoother looking list on your Android app. If you're using RecyclerView, you should really check this one out. 

Sometimes you fall into bad habits, and just can't snap out of them. Perhaps then you should Use StrictMode to Find Things You Did By Accident to mend your ways! 

Everyone hates waiting for a build so you want to speed it up right? Here's How To Decrease Your Gradle Build Time by 65%.

Using Kotlin? Looking forward to 1.1? What Comes in Kotlin 1.1 for Android Developers will give you a lot more reasons to be happy.

Some projects to look at: 

  • PanoramaImageView: An ImageView that can auto-scroll as the device rotates

  • RxAnimations: A reactive library to make animations more solid and cohesive 

  • FreeDrawView: A view that lets you draw freely on; useful for notes, signatures or writing apps

  • Toasty: The usual toast but with steroids! 

  • PreviewSeekBar: A SeekBar suiting for showing a preview of something, as seen in Google Play Movies 


Looking for app inspiration? Check out laudableapps.com, where you'll see screens from the most highly regarded iOS apps. 

Surprisingly, a lot of people think the road to success is relatively short for startups. Not quite the case, as you'll see in How Long Will It Take For My Startup To Be Successful?

Playing with SVGs for your creations? Here are some good tips on How Designers Should Think about SVG.

swift ,ios ,android ,mobile

Opinions expressed by DZone contributors are their own.

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

{{ parent.tldr }}

{{ parent.urlSource.name }}