RWDevCon 2017 Schedule Now Available!

Check out the full schedule for RWDevCon 2017, including 24 hands-on tutorials across 3 simultaneous tracks! By Ray Wenderlich.

Save for later
Share

Contents

Hide contents

As you probably know, the team and I are running an iOS conference next March focused on hands-on, high quality tutorials: RWDevCon.

A while back we put out a poll to all attendees, and had everyone vote on their favorite topics – we chose the top-voted topics, and coordinated a schedule around that.

Today, we are happy to announce the schedule! The conference has 24 tutorials across 3 simultaneous tracks, so you can always find something that interests you.

In addition to that, we also have inspiration talks, conference parties, board games, and even a game show! :]

Let’s take a quick peek at what’s in store this March.

Pre-Conference Workshops

Before the conference, we have two optional day-long pre-conference workshops for folks who want to get an early start, diving into some cool and advanced topics.

Learn to wield the power of LLDB and other debugging tools while exploring code you do(n\’t)? have source for. Create powerful, custom debugging scripts to quickly hunt down any item that piques your interest.

Advanced Apple Debugging & Reverse Engineering (Derek Selander)

Learn to wield the power of LLDB and other debugging tools while exploring code you do(n\’t)? have source for. Create powerful, custom debugging scripts to quickly hunt down any item that piques your interest.

Thoughtful design of the boundaries between your apps subsystems is the foundation of a stable codebase.

In this workshop, we cover how to create a well designed boundary between subsystems, dependency injection, use case driven development, creating injectable subsystems, and using state management to result in a clean architecture for your apps.

Advanced App Architecture (Josh Berlin & Rene Cacheaux)

Thoughtful design of the boundaries between your apps subsystems is the foundation of a stable codebase.

In this workshop, we cover how to create a well designed boundary between subsystems, dependency injection, use case driven development, creating injectable subsystems, and using state management to result in a clean architecture for your apps.

Tutorials

The “main course” of the conference is our menu of 24 hands-on tutorials. You’ll learn by doing!

Core Data has many advanced features which can make development of complex apps easier while increasing performance. During this talk Matt will show how to take advantage of some of the advanced features of Core Data such as background fetching and child contexts.

1: Advanced Core Data (Matt Morey)

Core Data has many advanced features which can make development of complex apps easier while increasing performance. During this talk Matt will show how to take advantage of some of the advanced features of Core Data such as background fetching and child contexts.

Learn how you can use some of Auto Layout’s more advanced features to your advantage while designing complex, dynamic views.

2: Advanced Auto Layout (Scott Berrevoets)

Learn how you can use some of Auto Layout’s more advanced features to your advantage while designing complex, dynamic views.

Machine Learning. Convolutional Neural Networks. Deep Learning Neural Networks.

What is all the hype about? What are these technologies, what are they good for, and can we use them for anything useful right now? This session requires no background in any of these areas, and will introduce you to machine learning on iOS with a worked example.

3: Machine Learning in iOS (Alexis Gallagher)

Machine Learning. Convolutional Neural Networks. Deep Learning Neural Networks.

What is all the hype about? What are these technologies, what are they good for, and can we use them for anything useful right now? This session requires no background in any of these areas, and will introduce you to machine learning on iOS with a worked example.

Learn how to add concurrency to your apps with GCD & Operations. Keep your app’s UI responsive to give your users a great user experience, and learn how to avoid common concurrency problems, like race condition and deadlock.

4: iOS Concurrency (Audrey Tam)

Learn how to add concurrency to your apps with GCD & Operations. Keep your app’s UI responsive to give your users a great user experience, and learn how to avoid common concurrency problems, like race condition and deadlock.

In this session Caroline will examine two high profile apps with gorgeous fluid, tactile interfaces and reconstruct them.

5: Reconstructing Popular iOS Animations (Caroline Begbie)

In this session Caroline will examine two high profile apps with gorgeous fluid, tactile interfaces and reconstruct them.

In this session you’ll learn some of git’s more advanced topics, such as rebasing, hooks and history mutation. You’ll also gain a better understanding of how git works under the covers and gain some experience with realistic day-to-day scenarios.

6: Mastering Git (Sam Davies)

In this session you’ll learn some of git’s more advanced topics, such as rebasing, hooks and history mutation. You’ll also gain a better understanding of how git works under the covers and gain some experience with realistic day-to-day scenarios.

Using shared code from the community has become a major benefit for developers. Why not pay it back and share the awesome things you’ve written with the world?

In this session, you’ll learn how to create a framework from your code that’s compatible with all three of the main dependency manager players: Cocoapods, Carthage, and the Swift Package Manager.

7: Building Reusable Frameworks (Eric Cerney)

Using shared code from the community has become a major benefit for developers. Why not pay it back and share the awesome things you’ve written with the world?

In this session, you’ll learn how to create a framework from your code that’s compatible with all three of the main dependency manager players: Cocoapods, Carthage, and the Swift Package Manager.

While the design of Swift and the compiler relieve you from much of the drudgery associated with reference counting, it is critical that you understand what the system is doing for you, so that you can create higher performance, bug free apps.

Learn how to think about objects and closures and how to use the latest Xcode tools to analyze and debug your code.

8: Swift Memory Management (Ray Fix)

While the design of Swift and the compiler relieve you from much of the drudgery associated with reference counting, it is critical that you understand what the system is doing for you, so that you can create higher performance, bug free apps.

Learn how to think about objects and closures and how to use the latest Xcode tools to analyze and debug your code.

React Native is a framework for building native apps with React. It’s been used by many developers who are drawn to it’s learn once, write anywhere paradigm and fast development cycle.

In this session you’ll learn how to create a cross- platform (iOS and Android) app, learning how to create an app from scratch and how to integrate React Native into an existing native app.

9: Cross-Platform React Native (Christine Abernathy)

React Native is a framework for building native apps with React. It’s been used by many developers who are drawn to it’s learn once, write anywhere paradigm and fast development cycle.

In this session you’ll learn how to create a cross- platform (iOS and Android) app, learning how to create an app from scratch and how to integrate React Native into an existing native app.

Fastlane is a suite of tools to help automate building and release iOS (and Android!) apps.

From creating screenshots to handling provisioning to submitting your application, Fastlane can help with it all. In this session, you’ll learn how to use these tools to help automate the mundane tasks we all dread doing in iTunes Connect.

10: Fastlane (Kishin Manglani)

Fastlane is a suite of tools to help automate building and release iOS (and Android!) apps.

From creating screenshots to handling provisioning to submitting your application, Fastlane can help with it all. In this session, you’ll learn how to use these tools to help automate the mundane tasks we all dread doing in iTunes Connect.

RxSwift, and its companion framework RxCocoa, allow you to create reactive apps for iOS and macOS. Glancing upon some Rx code might be intimidating without a proper introduction but in this session we will start in Playgrounds, learn the core concepts, and then move on to building a real iOS application in Xcode.

Just beware – you might like programming with RxSwift too much :]

11: RxSwift in Practice (Marin Todorov)

RxSwift, and its companion framework RxCocoa, allow you to create reactive apps for iOS and macOS. Glancing upon some Rx code might be intimidating without a proper introduction but in this session we will start in Playgrounds, learn the core concepts, and then move on to building a real iOS application in Xcode.

Just beware – you might like programming with RxSwift too much :]

Unity is used by thousands of indie development studios, hobbyist game developers, and even AAA game studios.

In this session, you’ll power through creating a platformer game like Super Meat Boy, and learn first hand how easy it is to start becoming productive with this powerful and versatile multi-platform game engine.

12: How to Make a Platformer Game in Unity (Sean Duffy)

Unity is used by thousands of indie development studios, hobbyist game developers, and even AAA game studios.

In this session, you’ll power through creating a platformer game like Super Meat Boy, and learn first hand how easy it is to start becoming productive with this powerful and versatile multi-platform game engine.

The Messages framework in iOS 10 allows developers to extend their apps to iMessages to further their app’s reach.

In this session, you’ll learn how to extend an existing app by adding a Messages extension.

13: iMessage Apps (Ryan Ackermann)

The Messages framework in iOS 10 allows developers to extend their apps to iMessages to further their app’s reach.

In this session, you’ll learn how to extend an existing app by adding a Messages extension.

Unit tests allow you to develop without fear and ship with confidence. They can even serve as documentation for your code and make everything easier to understand. But you already know this, don’t you?

In this session, you will explore ways to add at least one more unit test to your app.

14: Practical Unit Testing I (Jack Wu)

Unit tests allow you to develop without fear and ship with confidence. They can even serve as documentation for your code and make everything easier to understand. But you already know this, don’t you?

In this session, you will explore ways to add at least one more unit test to your app.

Perfect is an open source server side Swift framework that allows you to create web apps, or web APIs, purely in Swift.

In this session, you’ll learn how to create your first web app in Swift from scratch, including routing, templating, and persistence.

15: Server Side Swift with Perfect (Ray Wenderlich)

Perfect is an open source server side Swift framework that allows you to create web apps, or web APIs, purely in Swift.

In this session, you’ll learn how to create your first web app in Swift from scratch, including routing, templating, and persistence.

Swift playgrounds have come a long way since their initial release in 2014 alongside the Swift language. This session covers a broad range of topics, a few of which are interactive playgrounds, how to use external frameworks, prototyping animations and much more.

Along the way you’ll also learn a few practical tips and tricks to take your playground-fu to the next level.

16: Swift Playgrounds in Depth (Jawwad Ahmad)

Swift playgrounds have come a long way since their initial release in 2014 alongside the Swift language. This session covers a broad range of topics, a few of which are interactive playgrounds, how to use external frameworks, prototyping animations and much more.

Along the way you’ll also learn a few practical tips and tricks to take your playground-fu to the next level.

Continuous Integration (CI) is the art of automatically translating your code into a build that can be easily accessed by project stakeholders.

In the first half of this session, Gemma will talk through different aspects of CI setup design, followed by a review of fundamentals that can be applied to any CI solution. In the latter half, she’ll demo CI setup for a project created in Practical Unit Testing I.

17: Practical Unit Testing II (Gemma Barlow)

Continuous Integration (CI) is the art of automatically translating your code into a build that can be easily accessed by project stakeholders.

In the first half of this session, Gemma will talk through different aspects of CI setup design, followed by a review of fundamentals that can be applied to any CI solution. In the latter half, she’ll demo CI setup for a project created in Practical Unit Testing I.

In this session, Jake will cover the basic of bindings, how to set them up in Interface Builder, some common debugging pitfalls, and some binding related tools (like value transformers and number formatters.

18: Cocoa Bindings (Jake Gundersen)

In this session, Jake will cover the basic of bindings, how to set them up in Interface Builder, some common debugging pitfalls, and some binding related tools (like value transformers and number formatters.

Users abandon apps when they can’t figure out how to use it fast enough. To lower the abandonment rate for your app, create an on-boarding experience that keeps the user engaged, informed and delighted the first time they open your app.

In this session we’ll talk about the pros and cons on on-boarding, when to use it, and best practices. Finally, we will brainstorm and implement our own on-boarding experience!

19: Engaging On-Boarding (Lea Marolt Sonnenschein)

Users abandon apps when they can’t figure out how to use it fast enough. To lower the abandonment rate for your app, create an on-boarding experience that keeps the user engaged, informed and delighted the first time they open your app.

In this session we’ll talk about the pros and cons on on-boarding, when to use it, and best practices. Finally, we will brainstorm and implement our own on-boarding experience!

In this “Advanced iOS Design Patterns” talk, you’ll learn design patterns for solving common iOS development problems, including: authentication and auto re-login; networking and domain model management; and data persistence and cache management.

20: Advanced iOS Design Patterns (Joshua Greene)

In this “Advanced iOS Design Patterns” talk, you’ll learn design patterns for solving common iOS development problems, including: authentication and auto re-login; networking and domain model management; and data persistence and cache management.

Learn how to make a simple, professional Android app using Material Design, Realm, and Retrofit 2.

21: Android for iOS Developers (Ellen Shapiro)

Learn how to make a simple, professional Android app using Material Design, Realm, and Retrofit 2.

Does your app speak Swahili? Or cater for the colour blind? No? Then this session’s for you! Learn how to reach exciting new audiences by taking full advantage of the fantastic Internationalisation and Accessibility support provided by Apple’s iOS frameworks.

22: Accessibility & Internationalization (Mic Pringle)

Does your app speak Swahili? Or cater for the colour blind? No? Then this session’s for you! Learn how to reach exciting new audiences by taking full advantage of the fantastic Internationalisation and Accessibility support provided by Apple’s iOS frameworks.

The best apps delight their users by remaining responsive and stable in the face of errors. In this session, you’ll learn how to write code that responds to and recovers from errors, and even anticipates them.

23: Swift Error Handling (Michael Katz)

The best apps delight their users by remaining responsive and stable in the face of errors. In this session, you’ll learn how to write code that responds to and recovers from errors, and even anticipates them.

GameplayKit is an independent Apple framework that game developers may use to help them create better games, with less effort. In this session, the focus and emphasis will be placed on using GameplayKit to add artificial intelligence (AI) to your games.

24: Game AI with GameplayKit (Tammy Coron)

GameplayKit is an independent Apple framework that game developers may use to help them create better games, with less effort. In this session, the focus and emphasis will be placed on using GameplayKit to add artificial intelligence (AI) to your games.