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

This Week in Mobile: CoreML and Android O Preview 3

DZone's Guide to

This Week in Mobile: CoreML and Android O Preview 3

This week, we have a few introductory articles into CoreML, along with Kotlin design patterns, and other news around iOS 11 and Android O.

· 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.

This week we have a huge amount of articles following on from WWDC covering CoreML and other announcements. For Android developers, we have news on Android O Developer Preview 3 and design patterns in Kotlin.

iOS 

For those still catching up on the WWDC aftermath, here’s the ultimate rundown on What’s New in Swift 4 and What’s New in iOS 11 for Developers. There have also been some changes to the App Store Review Guidelines that are worth getting up to speed on.

Core Machine Learning for iOS Developers gives a nice introduction to Core ML and how to get started with the basics. Machine Learning for Everyone is another, more in-depth, take on the new framework. Getting Started With Vision explains the Vision part of the Core ML framework, which feeds machine learning models that expect images.

11 Considerations to Update Your App For iOS 11 brings you through the key features in the new release of iOS, and how they might help improve your app experience.

Swift 4’s Property Observers are a great new feature, enabled more decoupled coding with the observer pattern. Find out more here.

Changes to XCTest and XCUITest are something you might have missed in all the fuss around WWDC. To get up to speed on all the testing improvements, and there are a lot, make sure to read this article.

Some projects to check out: 

  • TinyCrayon-iOS-SDK: A smart and easy-to-use image masking and cutout SDK for mobile apps.
  • CodableAlamofire: An extension for Alamofire that converts JSON into Decodable objects. 
  • ARShooter: A basic augmented reality shooter made with ARKit in Swift. 
  • SectionedSlider: iOS 11 Control Center Slider.

Android 

Last week, Google released the final version of the Android O APIs. Now is the time to get your app prepared for the real launch of Android O, with changes in background limits, networking and security. Read these Random Musings on the O Developer Preview 3 to get an overview of the key differences since the last preview.

Airbnb’s Lottie has been a really successful animation library; in A Lottie to Like, Nick Butcher takes us through his experiences using the library.

Continuing on the series of Android Architecture Components and MVVM, Shahbaz Ahmed takes a look at how to handle Dependency Injection

Gang of Four Patterns in Kotlin looks at how the classic design patterns would look like when implemented using everyone’s favorite new programming language.

Some projects to check out: 

  • Graywater: An Android library for decomposing RecyclerViews layouts to improve scroll performance. 
  • ProgressManager: Listen to the progress of downloading and uploading in OKHttp.
  • ViewTooltip: A fluent tooltip for Android. 
  • snackprogressbar: Enhanced Snackbar for Android.

General 

Search ads are a relatively new addition to the app store, and as such, are open to exploits. In How to Make $80,000 Per Month on the App Store, you’ll see how one app developer took advantage of ads and subscriptions to trick people into spending. 

The Evolution of Design With Culture Thinking discusses how culture should be at the front of our minds before we start designing.

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:
ios ,swift ,java ,android ,kotlin ,wwdc ,mobile ,mobile app development

Opinions expressed by DZone contributors are their own.

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

{{ parent.tldr }}

{{ parent.urlSource.name }}