Over a million developers have joined DZone.
{{announcement.body}}
{{announcement.title}}

Last Week in Mobile: Sticker Pack Apps and Writing Better Adapters

DZone's Guide to

Last Week in Mobile: Sticker Pack Apps and Writing Better Adapters

In this special edition of Last Week in Mobile, we take another look at Swift access modifiers, see how you could write better adapters in your Android apps, and see what storyframing is all about.

· Mobile Zone
Free Resource

Download this comprehensive Mobile Testing Reference Guide to help prioritize which mobile devices and OSs to test against, brought to you in partnership with Sauce Labs.

Next week we'll have a big hardware announcement from Google. Will it rival the hype that Apple events get? Back on the app side, let's look at the most interesting articles of the week and some of the best new projects for both iOS and Android. 

And don't forget that App Store ads go live from October 5th!

iOS 

If you're using Swift as a consumer, and not providing frameworks or APIs to others, then What Use are Swift Access Modifiers? 

Certificate management for iOS apps is a pain, including the certs for push notifications. Well, it's got a lot easier now that Token Authentication is Now Available for Push Notifications.

Got your head around Swift 3.0? Good. Now it's time to continue the relentless march of progress. Here are two new additions in Swift 3.1 - prefix(while:) and drop(while:).

There are a bunch of great resources for keeping up with iOS news and staying on top of your game. Check if you're in tune with this list of iOS Newsletters, Blogs, Developers and Companies to Follow.

Finally, you might be thinking of getting a piece of the action with Sticker Packs? Why not start Building a Custom Sticker Pack iMessage Application for iOS 10

Projects: 

  • TwicketSegmentedControlCustom UISegmentedControl replacement for iOS, written in Swift

  • iOS-10-Sampler: Code examples for the new APIs in iOS 10

  • ImageSlideshowSwift image slideshow with circular scrolling, timer, and full screen viewer

  • AudioIndicatorBars: AIB indicates for your app users which audio is playing. Just like the Podcasts app

Android 

Google's big hardware event is happening next week, on October 4th. Of course, there are already some leaks on what the new Google Pixel Phone will look like. 

There's every chance that wearable computing will catch on :) If you're thinking of getting into it, check out this article on the Android Wear Complications API.

Every Android developer has to write adapters. The question is, could you be Writing Better Adapters?

There's a great series about DI on Android for you to check out, and it's already hit the fourth installment. Go read Dependency Injection in Android (Part IV: The Android Story - Dagger 2)

Want to make your maps stand out a bit more? Introducing Custom Map Styles for Google Maps 

Projects of the week: 

  • live-emoji: Animated emoji for Android

  • tinker: Tinker is a hot-fix solution library for Android, it supports dex, library and resources update without reinstalling an apk

  • AnimateVectorDrawableDEMOSome great animations all achieved by AnimateVectorDrawable, without any code!

General

Bojana Jam's talk on Designs for the Human Mind will help you understand why some apps are more intuitive than others. 

What is Storyframing? will show you how you can design better experiences for your customers.

IDEO have an excellent piece on Chatbots: Your Ultimate Prototyping Tool. You can learn a lot from conversational UIs! 

Machine Learning might seem like rocket science to a lot of us, but some people are working on removing that barrier to entry. Read Steven Levy's Deep Learning Goes Wide.

Analysts agree that a mix of emulators/simulators and real devices are necessary to optimize your mobile app testing - learn more in this white paper, brought to you in partnership with Sauce Labs.

Topics:
swift ,ios ,android ,java

Opinions expressed by DZone contributors are their own.

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

{{ parent.tldr }}

{{ parent.urlSource.name }}