Cancellation of try! Swift Tokyo 2020
Sadly we have made the difficult decision to cancel the try! Swift Tokyo 2020 mainly because of the spread of the novel coronavirus infection (COVID-19). See you again at the next time.
try! Swift Conference is an international community gathering about the latest advancements in Swift Development. The event is about bringing together talent from all around the world to collaborate and share advanced knowledge and techniques to improve Swift craftsmanship.
Follow us on Twitter at @tryswiftconf for the latest updates and announcements!
We are committed to providing a safe space for all of our attendees, speakers, and volunteers. Our Code of Conduct can be read in full here.
Meet the Speakers
Yonas Kolb
iOS Developer
Yonas Kolb
Yonas is an iOS developer with a passion for Swift, Architecture, UX, and Dev tools. He is the creator of a few popular open source Swift tools such as XcodeGen and Mint. When he's not coding he can be found exploring the outdoors
Olivier Halligon
Mobile Tooling Engineer at Babylon Health
Olivier Halligon
Olivier is an iOS engineer passionate about Swift, Tooling and Automation, teaching and sharing knowledge. He also likes contributing to the OSS community (author of SwiftGen, OHHTTPStubs, Reusable…; Sourcery contributor; previously core contributor at CocoaPods and Fastlane). He currently lives in west of France, currently works remotely on Platform, CI and Tooling at Babylon Health (London, UK), and loves Dr Who, Sherlock, Ghibli, and good food (especially takoyakis
Manabu Ueno
Design Consultant at Sociomedia
Manabu Ueno
Design consultant, interaction designer, user interface designer, graphic designer, usability engineer, and programmer. Ueno has extensive experiences in designing business, web, mobile, desktop, and embedded application user interfaces, and he takes a leading role in developing the design consulting methods at Sociomedia (sociomedia.com and sociomedia.co.jp), one of the most advanced design consulting firms in Tokyo, Japan.
omochimetaru
Swift lover
omochimetaru
Omochi writes swift for iOS, macOS, server side in my job at Qoncept, Inc. He have known "pleasure of types" well from Swift and fallen love to it. He have published many talks and articles about inside swift compiler and design pattern for Swift era.
Ryo Aoyama
iOS Developer at CyberAgent, Inc.
Ryo Aoyama
Ryo is an iOS developer at CATS team in CyberAgent. He likes to create and dive into OSS and looking for things for free time except sleeping and programming.
Janina Kutyn
Lead iOS Developer at adidas
Janina Kutyn
Amsterdam-based iOS engineer with an international background: she studied Computer Engineering at the University of British Columbia, and has worked in Vancouver, London, and Silicon Valley before coming to Amsterdam. At Apple, she was part of the team that launched Apple Music.
Vincent Pradeilles
iOS @ Worldline
Vincent Pradeilles
Vincent started working on iOS apps back in 2011. For the last years, he’s been working at Worldline, where he contributes to building great apps for major French banks. He loves Swift and enjoys sharing about it on the Internet. Most notably, he built the framework KeyPathKit that implements a SQL-like syntax for data manipulation. He is also the person behind the Twitter account @ios_memes.
Josh Garnham
Senior iOS Engineer at Monzo Bank
Josh Garnham
A former Apple Engineer working within the iCloud team, Josh Garnham is now building a bank at Monzo. He has a passion for the technical; reverse-engineering and getting his hands dirty to understand how things work and to push technologies to their limits. That’s his kind of fun.
Frank Courville
Swift and iOS trainer at iOSCoachFrank
Frank Courville
Frank has been building iOS apps since the era of felt backgrounds. He now works as full-time Swift and iOS educator, helping teams stay on the cutting edge of iOS development. He likes to write about iOS on his website, talk about productivity on his podcast, and ramble about Transformers to anyone who’ll listen.
Ellie Shin
Sr. iOS Engineer @Uber
Ellie Shin
Ellie is a senior iOS Engineer at Uber on the mobile platform team. She has worked on building Uber’s rider app and tools including a code generator and a duplicate code detector. She cares deeply about optimizing iOS apps and frameworks at scale. She has previously worked at Spotify and Microsoft among other companies, primarily on iOS. She has given talks at UIKonf, NSSpain, and other conferences, on iOS app binary size optimization, efficient code generation, and Swift String performance.
Soroush Khanlou
iOS Developer
Soroush Khanlou
Soroush Khanlou is a New York-based iOS consultant. He’s worked on apps for Betterment, the New Yorker, Rap Genius, and non-profits like Urban Archive. He blogs about programming at khanlou.com. In his free time, he runs, bakes bread and pastries, and collects suitcases.
Carola Nitz
Senior Software Developer at Netflix
Carola Nitz
Carola is a Senior Software Engineer at Netflix with many years of experience working on various iOS Apps. She spent the some time working on big complex projects like Apple Maps and VLC for iOS where she learned to navigate matured projects with legacy code. She’s become known for her Debugging talks and tweets but her passion is Open Source, where she enjoys working in a diverse team and sharing her knowledge
Abizer Nasir
iOS / macOS Contract Developer
Abizer Nasir
Abizer has worked in a variety of contract roles on macOS but mostly IOS projects in London. For the past 5 years he has worked exclusively in Swift, and lately using SwiftUI. He has a focus on writing modern, maintainable code with a preference for functional programming. He aspires to reach SDK in Go (いご).
Fabio Milano
Software Engineer
Fabio Milano
Software engineer at Native UI frameworks team, Fabio spends most of his time traversing trees , diffing nodes and computing layouts off of the main thread. Writes APIs to build complex user interfaces and supports product teams to meet their UI performance goals, in `.userInteractive` QoS fashion.
Alaina Kafkes
iOS Engineer at Medium
Alaina Kafkes
Alaina Kafkes is a software engineer at Medium, where she works predominantly on iOS development and petting other people’s dogs. She has spoken and written extensively about the intersection of technology and the humanities. Current interests include swimming laps and loafing around bookstores.
Khanh LeViet
AI Advocate @ Google
Khanh LeViet
Khanh LeViet is a TensorFlow Developer Advocate at Google, helping developers in APAC build smarter products with AI. He speaks at technology conferences, writes and publishes sample code on GitHub. Before his AI journey, Khanh was a mobile developer working on both Android and iOS.
Curtis Colly
Indie Web and iOS Developer
Curtis Colly
Curtis Colly is self-employed as a full-stack web application and iOS developer. Having built a variety of consumer oriented web apps in a myriad of web languages, he appreciates the safety and efficiency that the statically typed Swift offers. He strives to make his code functional, durable and scalable. Curtis enjoys seeking hidden truths. As a result, he appreciates good conversations, experiencing difference cultures and testing innovative ideas in the real-world. He is currently working on a video app for people to share meaningful thoughts on various topics.
Roxana Jula
Mobile Developer at Nodes
Roxana Jula
Roxana is a Romanian mobile developer based in Dubai with a passion for augmented reality. She started coding when she was 13 years old and so far has been part of the development team of over 20 apps including one of the biggest digital public services app in Scandinavia. She is involved in the tech community, both online (instagram.com/coderox/) and offline at local events. As an advocate for women in tech, Roxana is encouraging other girls to join the tech world.
Anat Gilboa
Product Engineer
Anat Gilboa
Anat is a software engineer turned-product manager. She spent 2.5 years working at Blue Apron on their iOS app, focusing mainly on product management for her last few months there. Prior to joining Blue Apron, she worked at American Express on their mobile banking app. When she is not writing code, she likes learning languages and traveling.
Shai Mishali
iOS Tech Lead @ Gett
Shai Mishali
Shai is iOS Tech Lead for Gett, the on-demand mobility company, and is involved in several open source projects on his spare time - mainly the RxSwiftCommunity and RxSwift projects, as well as an international speaker. Author on the upcoming Combine book from raywenderlich.com and a hackathon addict and 1st place winner of BattleHack World Finals 2014. You can find him on GitHub and Twitter as @freak4pc.
Suyeol Jeon
Lead iOS engineer at StyleShare
Suyeol Jeon
Suyeol introduces himself as a lazy developer who writes many code to write less code. He enjoys contributing to open source community. He is also an author of several famous open source libraries such as ReactorKit, Then and URLNavigator.
Katsumi Kishikawa
Software engineer
Katsumi Kishikawa
Software engineer. Creator of KeychainAccess, IBPCollectionViewCompositionalLayout, SpreadsheetView, etc. Love to build tools for developers.
Yuki Aki
Engineer at LINE Fukuoka
Yuki Aki
Yuki is an Engineer at LINE Fukuoka, and organizer of HAKATA.swift, which local community of Swift in Fukuoka. He loves studying about mysterious things like swift compiler and also loves sharing what he learned. His hobby is drawing his original cartoon cat character, and he shares his drawing to express emotion in life on his SNS.
Alex Karp
Senior App Engineering Manager at Wayfair
Alex Karp
Alex Karp is a Senior App Engineering Manager at Wayfair, his teams focusing on the very bottom parts of the conversion funnel in their iOS and Android apps: the checkout process, shipping information, and loyalty and financing programs. He lives near Boston with his girlfriend and adorable young cockapoo. In his free time, he brings back the 1920s via his love of dancing and teaching Lindy Hop.
Kentaro Matsumae
iOS Developer at merpay
Kentaro Matsumae
Kentaro works at Merpay as an iOS developer. He talked about CoreML on try! Swift Tokyo2018 and NYC2018, but his interest goes back to pure mobile app development. Recently, he loves building a mobile app using Flutter as well as iOS SDK.
Soaurabh Kakkar
Principal iOS Engineer at Tokopedia
Soaurabh Kakkar
Soaurabh Kakkar is a Principal iOS engineer at Tokopedia, Indonesia’s technology unicorn. Apart from contributing to large scale consumer apps, he likes to experiment and co-invented a security algorithm that can be read on Google Patents. He has previously spoken on topics like HLS In-Depth, Myths about Application Architecture, Functional Paradigm at Swift India Conference and in company-wide talks. When he’s not programming, he spends time watching Cricket and playing Mortal Kombat on Xbox.
Schedule
March 18th
9:00 - Registration & Breakfast
10:00 - Opening Remarks
10:15 - The Building Blocks of SwiftUI
The Building Blocks of SwiftUI
Ever wondered how the closures of SwiftUI's View, VStack, List and so on come together to build an actual interface? Well this is the session for you, we'll explore function builders, the magic that exists behind each of those types, and see how we can use them not just within SwiftUI but for our own gains too — did someone say easy to build NSAttributedStrings?
10:40 - Let’s analyze Swift struct
Let’s analyze Swift struct
Most of the standard library types are written in struct and Apple recommends using it over class for performance reasons. But what’s the downside? One of them is a binary size impact. This talk will go over the analysis of Swift struct. It will go into details of its behavior and how the struct size can have a limiting impact on some of the compiler optimizations and the reasons why. It will also cover when to choose struct vs class when writing your own code.
11:05 - Break
11:35 - The system of type inference
The system of type inference
I've been interested in the mechanism of type inference since I started using Swift. When Swift2 came out, I studied Hindley-Milner (HM) type inference and implemented it myself. However, with HM-type inference, the advanced inference of Swift could not be realized, and I was worried about how to extend it to realize a language like Swift. Over the past year, I have been reading the inside of the compiler a little bit and giving a talk on type inference through participation in the Swift compiler workshop. Based on this experience, in this talk, I will explain the overall flow of type inference in Swift and the contents of inference processing. Through my talk, I'm hoping the beginners will be a good starting point for getting started with type inference and hope that the Swift community will have more developers who understand type inference.
12:10 - Let’s make a Collection
Let’s make a Collection
The collections that come with Swift are usually good enough for your needs. Most of your types will be stored in arrays and dictionaries. You might even use sets and tuples. I'm sure you can make create your own type but there will come a day where you would like to make your own collection. When that day comes, you’ll be glad that you listened to this talk. Come with me. We are going to make our own collection from scratch. We’ll talk about the requirements our newly created collection must meet and the promises it makes in order to conform. While doing that we will reinforce our understanding of protocols and use the methods it rewards us for our conformance.
12:35 - Sign in With Apple Challenges
Sign in With Apple Challenges
Sign in with Apple hit us with full force with unknown timelines, missing documentation, and a whole slew of User Profile merging woes that left team to their own implementation and UX questions. This talk will cover some of those conversations we had and decisions we made along the way to implement this feature.
13:00 - Lunch
14:30 - What is Modelessness?
What is Modelessness?
From my 20 years of experience as a design consulting, I believe "modelessness" is the most fundamental principle of user interface design. Understanding the concept of modeless user interface helps you develop truly usable and empowering apps. There is no silver bullet in design methods, except this simple approach - getting your app modeless. In my perspective, 90 percent of business apps have serious usability problems because they are composed of functional modes. You can dramatically improve or innovate them by getting rid of modes. In this presentation, I will talk about the philosophy and technique of modeless design that turns your product much more meaningful.
14:55 - ⚡️ Deep dive into 'Optimizing and Diagnostic' by Swift Compiler
Deep dive into "Optimizing and Diagnostic" by Swift Compiler
Through my talk, you can understand deeply about “Optimizing and Diagnostic” of Swift Compiler phase which is a very interesting phase in compiler. We learned many compiler knowledge in past try! Swift. For example, we learned how to read Swift Intermediate Language(SIL)and how our code is treated by Swift Compiler in Tokyo 2018(https://www.youtube.com/watch?v=sT0SNp-Tw-8). Is it okay to only know how to read SIL? No, we can also understand “Optimizing and Diagnostic” phase in Swift Compiler. And, we can learn following things through learning “Optimizing and Diagnosing” How compiler grantees the safety of our Swift Program How optimizer would destroy our Program. This would occur when we set an optimize option on the release build. I will talk about Easy “Optimizing and Diagnostic” tutorial through my talk. You can learn how SIL is optimized by Swift compiler which from our swift code, and “Diagnostic” phase which we are touching unconsciously many times. I’ll show you the demonstration with compiler to make your understanding very deep. Of course, I’ll show you easy tutorial of SIL and overview of Swift Compiler, so don’t be afraid to listen my talk!
15:10 - Continuous visual regression testing
Continuous visual regression testing
The larger the development scale, the more time-lapsed regression will be, but it will be costly to maintain this with QA / QC. In order to solve this problem, like the Storybook in web application development, while generating and distributing the catalog application of the component, not only asserting with the difference of UI with Snapshot test, but also the change that the implementer did not intend has occurred by visual regression tests that enable visualization from CI.
15:35 - Introduction to Machine Learning with TensorFlow and Swift
Introduction to Machine Learning with TensorFlow and Swift
Learn the ‘new’ paradigm of machine learning, and how models are an alternative implementation for some logic scenarios, as opposed to writing if/then rules and other code. This session will guide you through understanding many of the new concepts in machine learning that you might not be familiar with including neurons, training loops, optimizers, and loss functions. You will learn how to train a machine learning model with TensorFlow, convert it to TensorFlow Lite and deploy to your iOS application, all without leaving the comfort zone of Swift.
16:00 - Break
16:30 - Augmented Reality in Real Estate
Augmented Reality in Real Estate
Embrace the future and use augmented reality to bring a new way to interact with real estate. In this session we will have a look at how you can make a useful app powered by AR. People occlusion, AR coaching UI, AR Quicklook with USDZ files and many more will be covered.
16:55 - ⚡️ Interview with Confidence
Interview with Confidence
Interviews are stressful. The questions are tricky. You don’t immediately know the answers, so you nervously rush to figure something (…anything) out. It’s almost like the interviewer is rooting for you to fail… or are they? Come find out how to walk into your next interview full of confidence!
17:10 - ⚡️ Build Swift Web Playground for Fun and Profit
Build Swift Web Playground for Fun and Profit
Playground is one of the most useful tools for understanding programming languages. Swift provides a very easy-to-use Playground so we can easily try out the Swift code and see the results. Looking at other programming languages, modern languages have some kind of Playground mechanics. In addition, there are many languages where the Web Playground is provided. Unfortunately, the official Swift Web Playground is not yet available, but you can create your own Web-powered Playground using Swift and Web technology!
17:25 - As Cute as a Button
As Cute as a Button
Buttons, buttons, buttons! Buttons are the key component of any iOS app. Let’s talk about different ways we can make buttons in our apps look cool, stand out, and engage our users. From images, to shapes, to animations, let’s make those buttons pop!
17:50 - How We Fail
How We Fail
What causes our code and processes to fail? Complex systems fail in complex ways, and Soroush Khanlou will discuss some examples of catastrophic failures, what caused them, and how we can hope to avoid them in the future.
18:15 - Closing / Announcements
March 19th
9:00 - Breakfast
9:45 - Opening Remarks
10:00 - Xcode Project Generation
Xcode Project Generation
Motivations, challenges, and learnings from building and using XcodeGen
10:25 - ⚡️ Effective UIKit-based app development with Xcode Preview
Effective UIKit-based app development with Xcode Preview
Much of the time in iOS app development is spent implementing views. The display contents and layout of the view change dynamically depending on the state of the application. Therefore, while developing a view, it is necessary to frequently launch iOS Simualtor and actually operate the app to check whether the displayed content is as expected. In addition, when displaying on a small screen terminal, when dark mode is enabled, or when enlarging characters with Dynamic Type, it is troublesome to check whether the layout is collapsed. It is very difficult because every time you change something, you need to start iOS Simulator and check the operation. Xcode Preview introduced in Xcode11 solves this problem. It is a function to preview the display result of the view in various situations on the editor. If you change the View implementation, it will be reflected in the preview immediately, so you do not need to launch the iOS simulator many times to confirm. And while Xcode Preview has the impression that it supports development using SwiftUI, it can actually be used for application development based on conventional UIKit! You can start using Xcode Preview today as a tool to streamline your existing app development. No more waiting for SwiftUI to spread. In this talk, I will show you how to introduce Xcode Preview to existing UIKit-based app development and how to use it with demos.
10:40 - (TBD)
11:05 - Break
11:35 - Property Wrappers or How Swift decided to become Java 🙃
Property Wrappers or How Swift decided to become Java 🙃
Swift 5.1 brought a new construct to the language: Property Wrappers. SwiftUI, for instance, relies heavily on it to provide its system of data-binding through annotations like @State, @EnvironmentObjects, etc. Unlike other language improvements, Codable for instance, Apple hasn’t restricted the use of this new feature to its own frameworks: any codebase is free to leverage it to implement custom property attributes that will suit its own specific needs. While this is a great opportunity to factorise common behaviours throughout a project, one can still wonder: won’t it hurt code readability and predictability on the long run? Keeping code short is good, but if it’s achieved through a collection of arcane annotations, it might end up defying the original intent. In this talk, I want to introduce what Property Wrappers are, give some example of how they can be leveraged, and try to provide some guidelines on when we they should or shouldn’t be use.
12:10 - Practical Dependency Injection with Legacy Codebase
Practical Dependency Injection with Legacy Codebase
We already know what Dependency Injection is. But we don't do it. Because we are living in the real world with tons of legacy code. This talk introduces a practical way to do Dependency Injection in iOS projects.
12:35 - The multiple faces of an unidirectional data flow
The multiple faces of an unidirectional data flow
At WWDC '19 Apple released Swift UI: a new UI framework to easily build user interfaces for all Apple platforms. Besides its powerful Swift API and internals, this framework adopted innovative and well known programming paradigms designed by the industry and the open source community to create captive, efficient and scalable UI. We will dive into some of these paradigms, ethos of Swift UI and most of the major UI frameworks to understand the mindset of their APIs, analyzing the tradeoffs and challenges to consider during development and finally build the skills to drive an educated decision of what fits best for the scale and priorities of your products.
13:00 - Lunch
14:30 - Pattern Matching Superpowers
Pattern Matching Superpowers
Most of us use pattern matching every day when writing Swift: we all know `switch` and `if let` for example. But did you know that pattern matching can be way more powerful than this and that you can extend them for your own benefit? Embark in a deep dive into Swift pattern matching syntax to discover how far it can go and how powerful they can get, and learn how to create your own custom matching logic to give your `switch` and other pattern matching expressions some more superpowers.
14:55 - ⚡️ Ultrasonic communication: Bus Ticketing Use-Case
Ultrasonic communication: Bus Ticketing Use-Case
We all exchange data over the internet, but what if we have unreliable internet connectivity? Ultrasonic communication can exchange data reliably via inaudible sound waves. It’s practically hardware-agnostic and requires nothing more than a microphone and speaker. Let’s discuss the concept, implementation, practical use cases and our journey to solve bus-ticketing via sound.
15:10 - Break Up and Bounce Back: On Working Well While Distributed
Break Up and Bounce Back: On Working Well While Distributed
Though it can be advantageous for small startups to retain a separate iOS engineering team, growth forces even the most tight-knit of iOS teams to disperse. This can often isolate iOS engineers, leaving them all alone in their efforts to maintain the integrity of the iOS codebase on a multi-platform product team. In this talk, I’ll share how my iOS engineering teammates and I navigated the transition from working together on one team to spearheading shared infrastructural projects and communicating effectively across multiple teams.
15:35 - (TBD)
16:05 - Break
16:35 - Getting Started with Combine
Getting Started with Combine
In the last WWDC, Apple has finally released it's very own framework for declarative processing of values over time, making the skill of Reactive Programming a must for your toolset. But what does it actually mean, and why is it at all helpful for you as a developer? What are the tools and constructs Apple provide for us as developers? In this talk you'll learn: * What _is_ Reactive Programming? * How Combine differs from other Reactive Declarative frameworks * Basic building blocks: Publisher, Subscriber, Subscription, Subjects and more * The anatomy and lifecycle of a Combine event * Combine vocabulary: Operators - the 'words' that make up your Combine chain * Combine & Foundation: Apple-provided APIs to ease your day-to-day development with Combine and existing Swift APIs * Combine's role in SwiftUI * What is Backpressure? * And much more ...
17:10 - A/Bout Testing: The Learnings, The Pitfalls and why it matters
A/Bout Testing: The Learnings, The Pitfalls and why it matters
A/B Testing has become a staple in our industry to validate assumptions. In fact each one of us has unknowingly conducted an A/B Testing when we rolled out a new version and compared metrics from our old App with our newly released version. This talk is going over different ways to conduct A/B tests, what to consider and how to read results and avoiding certain pitfalls.
17:35 - The Science of Learning
The Science of Learning
Have you ever watched a WWDC talk, and only a few days later, not remember what it was about? Why does this happen? In this talk, we'll look at how adult humans learn new things, and how to apply this to the workplace. We'll survey the different techniques we have at our disposal to transmit new information within teams and how they stack up to each other.
18:00 - Closing / Announcements
18:30 - 🎉Party
March 20th
9:30 - Registration for Workshops
10:00 - Making own movie player in iOS
Making own movie player in iOS
In iOS, we can play movie easily by using AVFoundation. In this workshop, you will understand how AVFoundation plays videos together and show you how to develop your own video player.
Things to prepare:
Laptop with Xcode 11, iPhone, Lightning cable
10:00 - Getting Started with iOS Accessibility
Getting Started with iOS Accessibility
Have you ever wanted to make your app more accessible, but didn't know where to start? In this workshop, we'll learn about the different accessibility features of iOS, the tools we have at our disposal, and the API we can use to make sure everyone can use your app. You'll quickly realize that with only a little effort, you'll be able to create a great accessibility experience in your app.
Things to prepare:
Laptops with the latest Xcode
10:00 - Leveraging KeyPaths to their full potential
Leveraging KeyPaths to their full potential
KeyPaths yield a tremendous potential when it comes to creating short and readable custom syntaxes.
In this workshop I want to introduce you some ways you can use KeyPaths on your projects, to perform tasks like data-manipulation, data binding or even unit tests.
Things to prepare:
Having the latest stable release of Xcode installed
10:00 - Type Inference Implementation Workshop
Type Inference Implementation Workshop
omochimetaru & Iceman & kateinoigakukun
When learning an algorithm, it is best to actually write the code. In this workshop, we will implement a simple Swift type inference unit to better understand type inference. Since prepared fill-in-the-blank code is modified so that it passes through the test case, it can be completed in a short time. The code is written in Swift of course, which you are all familiar with and, to some extent, corresponds to the code of the real Swift compiler, so it will be a good starting point for contributing to the compiler for you.
Things to prepare:
- Laptops with the latest stable Xcode
- Please listen The system of type inference session in the conference.
10:00 - Migrating to XcodeGen
Migrating to XcodeGen
Learn how to migrate your Xcode project to an XcodeGen spec, and remove it from git! You'll learn how to get started, as well as some advanced tips and configuration options.
Things to prepare:
Bring a work or personal project you want to migrate
10:00 - Open Source Swift Workshop
Open Source Swift Workshop
Yusuke Kita & Sho Ikeda & giginet
In this workshop we will look at the Swift compilation process and what those parts are, learn a bit about LLVM, how to find a bug to work on using bugs.swift.org and then making a build with our changes and running tests.A merged pull request is not the goal of this workshop, but after attending this workshop you should have enough knowledge to get started and know where to look to learn more.If you are proficient in C++ or even have some experience with LLVM, then you can start working with the Swift compiler right away. If you do not have former C++ knowledge fear not, the Swift standard library or SwiftSyntax are written mostly in Swift and the python / swift hybrid '.gyb' files.
Things to prepare:
- Laptops with the latest stable Xcode
- Building the Swift compiler is preferred. Instruction will be provided beforehand.
10:00 - Make your own Home app-compatible Homekit accessories!
Make your own Home app-compatible Homekit accessories!
In this workshop, you will learn how to make HomeKit accessories without being a hardware designer. Use the iPhone or iPad home app to create a simple input / output HomeKit accessory that controls accessory devices. Let's increase your own HomeKit accessories!
Things to prepare:
- Mac with Xcode11 installed
- iPhone or iPad
10:00 - Declarative UI with Firestore and SwiftUI
Declarative UI with Firestore and SwiftUI
Explore building a declarative UI with Cloud Firestore and Swift. This workshop will focus on strategies for separating effectful Firestore code from a stateless UI and managing complexity when propagating changes from Firestore to the UI layer.
Things to prepare:
standard iOS toolchain, so Xcode 11 or higher, CocoaPods 1.8.0 or higher
12:30 - Workshops End
================
13:30 - Registration for Peer Labs
14:00 - Peer Labs
Peer Labs
Peer Labs is your chance to get hands on with things you learned from try! Swift presentations, discuss any issues with the speakers, connect with your peers, work on open source projects, organize impromptu learning sessions and more! Peer labs do not have a strict structure, and are open-ended instead. It is what you and your peers make of it! We will ask everyone to introduce themselves in the beginning, and then it is up to you to ask questions and work together with others on projects that interest you.
17:00 - Peer Labs End
Workshops
Tomoya Hirano (noppe)
Tomoya is iOS developer at DeNA and works on Pococha, which is live streaming app. He loves fox so much
Making own movie player in iOS
Tomoya Hirano (noppe)
In iOS, we can play movie easily by using AVFoundation. In this workshop, you will understand how AVFoundation plays videos together and show you how to develop your own video player.
Things to prepare:
Laptop with Xcode 11, iPhone, Lightning cable
Frank Courville
Frank has been building iOS apps since the era of felt backgrounds. He now works as full-time Swift and iOS educator, helping teams stay on the cutting edge of iOS development. He likes to write about iOS on his website, talk about productivity on his podcast, and ramble about Transformers to anyone who’ll listen.
Getting Started with iOS Accessibility
Frank Courville
Have you ever wanted to make your app more accessible, but didn't know where to start? In this workshop, we'll learn about the different accessibility features of iOS, the tools we have at our disposal, and the API we can use to make sure everyone can use your app. You'll quickly realize that with only a little effort, you'll be able to create a great accessibility experience in your app.
Things to prepare:
Laptops with the latest Xcode
Vincent Pradeilles
Vincent started working on iOS apps back in 2011. For the last years, he’s been working at Worldline, where he contributes to building great apps for major French banks. He loves Swift and enjoys sharing about it on the Internet. Most notably, he built the framework KeyPathKit that implements a SQL-like syntax for data manipulation. He is also the person behind the Twitter account @ios_memes.
Leveraging KeyPaths to their full potential
Vincent Pradeilles
KeyPaths yield a tremendous potential when it comes to creating short and readable custom syntaxes.
In this workshop I want to introduce you some ways you can use KeyPaths on your projects, to perform tasks like data-manipulation, data binding or even unit tests.
Things to prepare:
Having the latest stable release of Xcode installed
omochimetaru, Iceman, kateinoigakukun
Omochi writes swift for iOS, macOS, server side in his job at Qoncept, Inc. He have known "pleasure of types" well from Swift and fallen love to it. He have published many talks and articles about inside swift compiler and design pattern for Swift era.
Kenta (Iceman) is an iOS engineer at Cookpad. He always try to make apps that run smoothly. He likes cocos2d-x.
Yuta(kateinoigakukun) contributes to the Swift community as an intern on Merpay expert team. He is working on Swift's WebAssembly support recently.
Type Inference Implementation Workshop
omochimetaru, Iceman, kateinoigakukun
When learning an algorithm, it is best to actually write the code. In this workshop, we will implement a simple Swift type inference unit to better understand type inference. Since prepared fill-in-the-blank code is modified so that it passes through the test case, it can be completed in a short time. The code is written in Swift of course, which you are all familiar with and, to some extent, corresponds to the code of the real Swift compiler, so it will be a good starting point for contributing to the compiler for you.
Things to prepare:
- Laptops with the latest stable Xcode
- Please listen The system of type inference session in the conference.
Yonas Kolb
Yonas is an iOS developer with a passion for Swift, Architecture, UX, and Dev tools. He is the creator of a few popular open source Swift tools such as XcodeGen and Mint. When he's not coding he can be found exploring the outdoors
Migrating to XcodeGen
Yonas Kolb
Learn how to migrate your Xcode project to an XcodeGen spec, and remove it from git! You'll learn how to get started, as well as some advanced tips and configuration options.
Things to prepare:
Bring a work or personal project you want to migrate
Yusuke Kita, Sho Ikeda, giginet
Yusuke is a Software Engineer at 10X. He's been working in frontend and backend team. He's passionate about learning new technology especially Swift Compiler in these days. When not coding, you can find him cycling.
Sho is a Swift (corelibs-foundation) contributor. Also Maintainer of Carthage, ReactiveSwift, Quick, Nimble, ... and so on! He is developing iOS/Android/React Native apps at Hatena in Kyoto.
Kohki(giginet) develops iOS platform at Cookpad.
Open Source Swift Workshop
Yusuke Kita, Sho Ikeda, giginet
In this workshop we will look at the Swift compilation process and what those parts are, learn a bit about LLVM, how to find a bug to work on using bugs.swift.org and then making a build with our changes and running tests.A merged pull request is not the goal of this workshop, but after attending this workshop you should have enough knowledge to get started and know where to look to learn more.If you are proficient in C++ or even have some experience with LLVM, then you can start working with the Swift compiler right away. If you do not have former C++ knowledge fear not, the Swift standard library or SwiftSyntax are written mostly in Swift and the python / swift hybrid '.gyb' files.
Things to prepare:
- Laptops with the latest stable Xcode
- Building the Swift compiler is preferred. Instruction will be provided beforehand.
Sam Akada
Sam is an iOS developer with white glasses who is good at designing hardware for IoT devices. He is promoting HomePod and HomeKit accessories for smart speakers at Swift meetup.
Make your own Home app-compatible Homekit accessories!
Sam Akada
In this workshop, you will learn how to make HomeKit accessories without being a hardware designer. Use the iPhone or iPad home app to create a simple input / output HomeKit accessory that controls accessory devices. Let's increase your own HomeKit accessories!
Things to prepare:
- Mac with Xcode11 installed
- iPhone or iPad
Morgan Chen
Morgan is a software engineer at Google, where he works on Firebase's client-side libraries, open-source repositories, documentation, and developer tooling. In the past he's also worked on music streaming on iOS and various educational efforts, like leading workshops and mentoring at hackathons. Morgan enjoys rock climbing and hiking in his free time and can sometimes be found at B-Pump in the evenings.
Declarative UI with Firestore and SwiftUI
Morgan Chen
Explore building a declarative UI with Cloud Firestore and Swift. This workshop will focus on strategies for separating effectful Firestore code from a stateless UI and managing complexity when propagating changes from Firestore to the UI layer.
Things to prepare:
standard iOS toolchain, so Xcode 11 or higher, CocoaPods 1.8.0 or higher
Peer Labs
You!
Peer Labs is your chance to get hands on with things you learned from try! Swift presentations, discuss any issues with the speakers, connect with your peers, work on open source projects, organize impromptu learning sessions and more! Peer labs do not have a strict structure, and are open-ended instead. It is what you and your peers make of it! We will ask everyone to introduce themselves in the beginning, and then it is up to you to ask questions and work together with others on projects that interest you.
Testimonials
Meet the Organizers
Natasha Murashev
Founder of try! Swift
Natasha Murashev
Natasha is an iOS developer by day and a robot by night. She blogs about Swift, watchOS, and iOS development on her blog, natashatherobot.com, curates a fast-growing weekly Swift newsletter, This Week in Swift, and organizes the try! Swift Conference around the world (including this one!). She's currently living the digital nomad life as her alter identity: @NatashaTheNomad.
Daiki Matsudate
Software Engineer / Onsen Lover
Daiki Matsudate
Daiki has developed iOS app for 8 years. Additionally, He is a Google Developer Expert for Firebase and contribute regularly to Open Source projects like Swift lang and so on. When not coding, He enjoys going Onsen ♨️, traveling in Japan or overseas and seeing friends.
Hideyuki Nanashima
Swift Lover
Hideyuki Nanashima
Hideyuki is a Swift lover and focusing to enjoy learning and playing with Swift more. He organizes Swift愛好会 which is the group where Swift lovers gather in Japan. He is also the most famous Kanpai-er(person who make a toast). He is expanding the circle of Swift lovers with Kanpai.
Nino Sakuma
Designer / iOS Developer
Nino Sakuma
Nino Sakuma ( a. k. a. yucovin ) is a designer and a painter in Japan. She loves Apple products so much that she became an iOS developer. She is an instructor of iOS app development course for beginners `App Creator Dojo(App-Dojo)`. Web site: Apple Blog `Motto shiritai Ringo arekore`. Riko, the mascot of try! Swift, is designed by her.
Shingo Tamaki
Software Engineer
Shingo Tamaki
A iOS engineer. working at Origami. Interested in Testing and Homekit.
Yusaku Kinoshita
Engineering Gateway at Mercari
Yusaku Kinoshita
Afroscript is a member of "Swift愛好会", a Swift community in Japan. He is an Engineering Gateway at Mercari.
Takeshi Ihara
iOS Developer at AbemaTV
Takeshi Ihara
Takeshi works at AbemaTV and develops InternetTV where he's an iOS developer. Usually, he goes bouldering and play fighting games.
Kouhei Takamatsu
Software Engineer
Kouhei Takamatsu
A software engineer. A weekend freelancer.Working for Recruit Technologies Co.,Ltd.From iOS to server-side, engaged in a variety of businuess.
Yutaro Muta
Mobile Application Developer at Hatena
Yutaro Muta
Mobile Application Developer at Hatena Co., Ltd. I live in Kyoto. I ❤ Swift, but I use Go, Python, Kotlin, whatever. I like sake🍶. Let's drink together!
Takashi Kinjo
Mobile Application Developer at CyberAgent
Takashi Kinjo
Takashi is a mobile application engineer working for CyberAgent, Inc. Previously a developer of ad system for iOS, Android and Web, he now develops Android applications for new businesses at CATS.
Koichi Tanaka
Software Engineer
Koichi Tanaka
Koichi is an engineer at PLAID, Inc. who loves to write Swift/Go. He also likes to organize meetups for learning programming languages.
Shota Ebara
Software Engineer at Cybozu
Shota Ebara
Shota is a software engineer at Cybozu. He works as scrum master and develops some groupwares. His first programming language is Swift.
Satoru Ohguchi
Engineer
Satoru Ohguchi
Satoru works as SAP Technical Consultant and AWS Solution Architect. His hobby is programming using Swift and making hardwares. In addition, he likes listening to music, watching plays and watching sports.
Mizuko Aoyagi
iOS Developer
Mizuko Aoyagi
Mizuko is a fledgling engineer who loves Apple and beer🍺. She started leaning programming with Swift. Also she's now developing her first application to publish on App Store.
Akihito Kumakura
Software Engineer
Akihito Kumakura
Akihito is a software engineer working at Sony. As a side project, he builds Mojico(https://itunes.apple.com/jp/app/id1157015747), a keyboard app, with pure Swift.
Reiko Y Goto
iOS Developer
Reiko Y Goto
Reiko is a member of Swift愛好会 that is Swift community in Japan, and she is Swift programming teacher for kids. She would like to tell the next generation that “Programming is fun”, and also hopes a future that children have fun learning Programming.
Kazumasa Kumamoto
Software Engineer
Kazumasa Kumamoto
Kazumasa is an iOS/Android app developer at Yahoo Japan Corporation, and organizes Bonfire iOS, which is a local meetup for iOS developers. He loves coding, internet culture, music and illustration.
Miki Yoshida
iOS Developer
Miki Yoshida
Miki is an iOS developer and member of Swift愛好会. She likes to create something.
Alvin Varghese
Founder of Swift India
Alvin Varghese
Alvin Varghese is an iOS & macOS developer from the land of cultures and traditions, Kerala. He is in his early twenties, has extremely high energy levels and being idle kills him. He is really passionate about iOS Development and technology, that's why he chose to become a Swift lover and an iOS Developer. When he is not working on any projects, he engages himself by reading books and travelling. He has a life-long obsession with learning and exploring. Nowadays he spends lot of his time organizing and managing Swift India Developer Community .
Naoki Kameyama
iOS Developer
Naoki Kameyama
I started programming when I was 30 years old. I'm a Swift Lover!
Matthew Vern
Software Engineer
Matthew Vern
Beer powered Kotlin engineer. Sometimes writes Swift. Building products at Mercari, Inc.