This year CodeMobile will be running a series of workshops on Monday 1st April 2019. A workshop ticket entitles you to attend the full day so you can either choose to attend 2 half day sessions or 1 Full day session.

Morning Workshop – 9:00 – 12:30
Afternoon Workshop – 13:00 – 16:30

If you have purchased a workshop ticket please indicate your workshop preferences by completing this form.

(Tim Condon) Vapor Workshop (morning): Building a REST API in Vapor. Learn how to get started with Vapor, the popular server-side Swift framework. In this workshop you’ll learn about the basics of Vapor to build a REST API and also learn how to save models and set up relationships in a database.

(Tim Condon) Vapor Workshop (afternoon): Authentication and Websites. In the first part of this workshop you’ll learn how to add authentication to your REST APIs using Vapor using tokens and HTTP Basic Authentication. In the second part you’ll learn how to use Leaf to build front-end applications in Swift and Vapor. Note, if you’ve never used Vapor before you’re strongly advised to attend the morning workshop.

(Daniel Steinburg) Hiding the Details (Full Day): You go to a conference, read a book, or watch some cutting edge video and suddenly you’re telling everyone on the team how all of the code must change. In this talk we look at how you can embrace some of the powerful concepts of functional programming in Swift while exposing the functionality in ways that don’t require big adjustments on the part of your colleagues.

(Xavier Gouchet) Rock the Gradle, rule the world (afternoon): More often than none, an Android project’s build.gradle file grow larger and more complex with time. Because we need to adapt it to all the specific build constraints and scenarios which are not supported by default. Custom tasks, advanced usages, … the use cases are infinite.But like the rest of your source code, the build.gradle file(s) should be clean, easy to read and easy to maintain. After looking through various tips and techniques to clean your gradle code, we’ll look at the underappreciated `buildSrc` folder, which allows you to create plugins directly from your project. This talk will walk you step by step through the creation of such a custom plugin, with a couple of concrete example of plugins you can write yourself.

 (Paul Hudson) App Architecture (afternoon): In this workshop you’ll work through an iOS project that has some fundamental flaws, all of which can be fixed through the application of design patterns like delegation, coordination, and dependency  injection. Working in pairs you’ll first read through how each patternworks, then solve challenges in the project so you apply the pattern in real-world code.