All three approaches are being used at babylon health with great success. None of them are tied up to a specific programming paradigm (e.g. Functional Reactive Programming), so you can easily make this work, independently of the approach you use in your own apps. Finally, this talk is not only for iOS devs: these ideas can easily be extended and applied to Android apps as well.
In this talk I will present three approaches for common problems in iOS Development:
The goal of the talk, is for the audience to be able to pick up quick tips and apply them on their day to day development, by leveraging Swift's awesome features!
About speaker
Rui has been working as an iOS developer since 2010. Lately, at babylon health, he leads a team of 10 iOS developers, leaving less time to code, but with a new set of challenges. He's also an OSS and FRP evangelist and a core member of ReactiveCocoa and ReactiveSwift. He also spends a considerable amount of time exploring new programming languages, but not doing anything useful with them.NSURLSession completion handler has 3 optional types giving us 8 permutations when all we care is either it failed or succeeded. Error handling is still neglected for the fact that Swift does not provide a construct that abstracts the rudimentary details of switch and conditionals. Most Objects and their associated methods are not composable.
Monadic Computation comes from Functional Programming which helps write composable functions while preserving failure context/side effects and provide better abstraction. Swift although not a functional programming language, can express monadic computations elegantly and can solve all the above-mentioned problems.
In the talk, I will show why do we need Monadic Computations and how we can implement in Swift. I will share real use case of monadic computations and how our team at Zalando is using this concept. There will be a short live coding to demonstrate that Monadic Computation can be expressed elegantly in Swift.
About speaker
Vijaya (BJ) is a passionate iOS Software Engineer working at Zalando SE. He does Swift at day, Haskell at evening. He believes functional programming is the way to move ahead. He writes blogs and articles on various ways to write effective programs. He talks at meetups and conduct workshop on new ideas.There is a lot of Hype with ML and AI lately, and TensorFlow is the framework of choice from Google. But as a Mobile Developer you might have asked yourself, how can I benefit from it? In this talk, you will learn your first steps into the fascinating ML world for mobile.
During this talk you will learn how to set up TensorFlow for Android, and how to perform some initial operations with it:
About speaker
Enrique López Mañas is a Google Developer Expert and independent IT consultant. He has been working with mobile technologies and learning from them since 2007. He is an avid contributor to the open source community and a FLOSS (Free Libre Open Source Software) kind of guy, being among the top 10 open source Java contributors in Germany. He is a part of the Google LaunchPad accelerator, where he participates in Google global initiatives to influence hundreds of the best startups from all around the globe. He is also a big data and machine learning aficionado.
In his free time he rides his bike, takes pictures, and travels until exhaustion. He also writes literature and enjoys all kinds of arts. He likes to write about himself in third person. You can follow him on Twitter (@eenriquelopez) to stay updated on his latest movements.
When new technologies start gaining momentum in the Android community, the pragmatic (or lazy) among us eventually have to ask ourselves, “Is it worth it?” After the initial arrival and departure of the hype train, some of these become trusted tools we use in almost every app. Think RxJava and Dagger.
React Native may be on its way to earning a place in the same club. Once we get past the fact that JavaScript on Android and HTML in JavaScript seem pretty damn weird at first, there’s a lot to like. Seeing your changes on a device almost instantly is a love-at-first-sight kind of thing. And rethinking your app architecture as a series of actions, state changes, and UI render phases can eliminate a surprising number of silly bugs.
A dive into every new technology starts with the flashy “type these commands and run your ‘Hello World’ app” tutorial. This is not that kind of talk. Instead, I’ll recap my experience digging into React Native for real world use. From integrating RN code into an existing Java/Kotlin app to dealing with the kind of problems they never mention in the README, I’ll cover what you need to know to decide if React Native is really worth your time.
About speaker
Andy recently moved to Berlin from Houston, Texas to join the Android team at Zalando. An Android developer since Froyo, he’s currently focused on learning Kotlin and React Native. When not writing code, he can be found listening to records, practicing his German, and proselytizing the merits of craft beer & meticulously prepared coffee.Enrique Lopez Manas, GDE and a transitioner among all those categories, will share his experience in this world and give you some tips if you are opting for changing your career. You will learn about the bright and not so bright side of contracting, the perks you can expect in each category, and especially being able to fire questions to a person that has been in the transition among both fields.
What are the differences between being permanent and contract? What are the perks of each position? How can you make a transition between them? Which fits me better? If you ever asked those questions to yourself, you will find some answers in this talk.
About speaker
Enrique López Mañas is a Google Developer Expert and independent IT consultant. He has been working with mobile technologies and learning from them since 2007. He is an avid contributor to the open source community and a FLOSS (Free Libre Open Source Software) kind of guy, being among the top 10 open source Java contributors in Germany. He is a part of the Google LaunchPad accelerator, where he participates in Google global initiatives to influence hundreds of the best startups from all around the globe. He is also a big data and machine learning aficionado.
In his free time he rides his bike, takes pictures, and travels until exhaustion. He also writes literature and enjoys all kinds of arts. He likes to write about himself in third person. You can follow him on Twitter (@eenriquelopez) to stay updated on his latest movements.
State can be a tricky thing in every system specially when’s manipulated in different places, causes some side-effects, … On mobile apps, it can be especially challenging when we have highly dynamic user interfaces driven by some state(s) and a great example of that are forms where is frequent to see some collapsable rows or entire sections being inserted, removed or even both. Manually managing all of that can be quite complex and most of the times ends up not being sufficiently generic to be reused by every form which increases the effort of not only developing but also maintaining each form within an app. And if that was not enough, there's also the question of reading and understanding precisely the structure of a single form which most of the times are imperative and composed by many components, e.g. delegates, data sources, ..., making it even more hard to maintain and modify. FormsKit born as a need to manage a reasonable number of forms in a declarative and composable way through a descriptive state.
FormsKit follows a React-based approach to render and manage a form through a virtual representation which is completely driven by any change in a single core state. This enables deriving an interface for a very specific state instead of patching it manually which requires knowledge of the current state of the form, which can actually be many combinations, to then determine the correspondent transition to reflect the new state. FRP plays an essential role as the base to track any change in the core state and consequently triggering a new form's representation plus notify those changes as a stream of values.
Despite the focus in FormsKit framework, the main goal is to demonstrate how we should change our way of thinking to derive interfaces, and even other states, through a single state instead of doing the other way around, avoiding manual and localised changes which are not easy to understand, maintain and finally test.
About speaker
David has been working in iOS apps (and sometimes frameworks) in the past 5 years and dived deeply in Swift and FRP in the past 2.5 years being a strong evangelist of both since then. He strongly believes in open source and is also passionate about backend systems. He enjoys not only coding but also teach and discuss different concepts and ideas.Do you want to build backend applications using Swift but don't want to manage computing infrastructure to run those applications in the cloud? Enter serverless cloud platforms…
These services allow developers to push code, rather than VMs, into the cloud. The platforms allow you to connect external event sources like API requests or message queues to functions in your code. As events occur, your code is instantiated and executed to process each request. Developers are only billed for the milliseconds needed to process each request.
In this session, developers will learn how to build Swift microservices using modern “serverless” cloud platforms. We’ll look at common challenges (and solutions) to building applications using “serverless” stacks. Exploring emerging “serverless” design patterns will give developers the knowledge to build application architectures using these new platforms.
My talk will be split into three sections:
About speaker
James is a “Developer Advocate” for IBM, helping developers build scalable applications on IBM's cloud platform. Having accepted a summer-long internship with IBM as “something to do” before starting his post-graduate degree, James is still here eight years later. Managing to find his way into the “Emerging Technologies” division, James has been able to work on everything from the largest retail banking site in Europe, been a leading open-source developer for a JavaScript toolkit before working on the first commercial system for IBM Watson as the UI Technical Lead.At Google I/O we got the Android architecture components. One of its most interesting concepts in there is the new ViewModel.
This sounds like a perfect fit into the MVVM (Model View ViewModel) architecture. What’s the idea of MVVM? How does it fit into the new architecture components? And what's the role of Android databinding here?
About speaker
Danny is in charge of Android development at Viacom in Berlin. Before that he worked for companies like Groupon, eBay and Alcatel. His mobile career started long before any iPhone with Java ME and Blackberry applications. Danny writes and talks about mobile development and testing regularly and is a Google Developer expert for Android.About speaker
Oleksandr is developing on all kinds of mobile platforms for 7 years now. Building apps and frameworks, simple and beautiful, complex and demanding, for startups and enterprise.Kotlin is here and some Architecture Patterns need to be adapted.
From Karumi we've dedicated last 3 years talking about architecture and design patterns, each solution has pros and cons and could be good for different problems and kind of applications.
Kotlin brings to us different tools and ways to write code these can help to us to write different patterns or apply different technics to that patterns.
In this talk, we present some commons problems in app designs and how we can provide solutions in Kotlin.
About speaker
Jorge is the co-founder and Android developer of Karumi and Android GDE. Karumi is an intentionally small software development studio headquartered in Madrid and specialized in developing lean and stable native applications and working with teams for improve their skills.
Before Karumi, he worked 5 years as a Senior Tech Lead at Tuenti, the leading Spanish social network, and MVNO, part of the Telefonica Group. At Tuenti, Jorge developed a wide variety of strategic products covering J2ME, Blackberry and especially Android.
With over 10 years of software engineering experience Jorge defines himself as a pragmatic coder who thrives to improve the Android project architecture by being a firm advocate of the concept of semantic code and test development. He is continuously learning and honing his Android coding skills in an effort to understand and adapt to the evolution and of the internal framework.
About speaker
Mischa has always been passionate about two things that don’t seem to have much in common: logic and creativity. He graduated in physics to discover the first and worked as a radio reporter for a couple of years to try out the latter. Today he works at intive Kupferwerk, a software agency based in Munich, where he combines both his passions as an iOS developer. Mischa tries to learn something new about Swift everyday and loves creating modular, adaptive user interfaces with Auto Layout. His favorite question: “Why?”So you started to use MVP in order to make your code be more testable and better separated. However, some of your views have multiple actions that can be performed by the user making your presenter to reach couple of hundred of lines of code. During this presentation Mateusz will tell you some details of how they started to structure their code in order to make whole your presentation layer look better.
During this talk I will prove that the only way of keeping your presenters small is to keep your views small as well. We will discuss possible ways of splitting complex views into analityk pieces and what were different international of doing so im my projects.
About speaker
Mateusz works as an Android Tech Lead at IG where he leads a team working on the mobile trading platform. He is also a member of the Google Developer Expert program for Android and a coorganizer of GDG Kraków community meetups.Apple took everyone by surprise at WWDC introducing ARKit, a framework that helps developers create augmented reality experiences for their users by adding virtual objects and information to the real world. Probably the biggest software-only breakthrough in recent iOS updates, ARKit is still new, but we have all already seen demos of what it can do. There are lots of possible use cases for it, and it's up to us to create awesome experiences for our users with ARKit.
In this talk, I will give a small intro to ARKit and show how to make your first ARKit app. We'll look at how to enable ARKit in your app, possible use cases of ARKit and go through some tips and tricks.
About speaker
Marius had his first contact with iOS development in 2010 and has been working continuously with it since 2013. Big fan of Swift and open source, he has been a contributor to iOS Goodies for about 2 years and is currently in charge of the newsletter. Previously at Nodes, where he was part of open sourcing most of the internal tools and frameworks, now he works as an iOS developer at Greener Pastures.The mobile devices of the latest generation are now capable of powering the desktop user experience. Get your Android apps ready for the big screen. Learn what it takes to optimize your apps for enhanced interactions, desktop mode capabilities, and an overall amplified in-app experience.
Stay for the quiz and for a Samsung DeX station giveaway at the end of the session!
About speaker
As an experienced hands-on architect and educator, Victor combines his expertise with his passion as a Samsung Developer Evangelist. In this role, Victor acts as a liaison between the company and the mobile software development community worldwide, primarily focusing on B2B space. When he's not travelling around the world to meet with developers, Victor bikes to work in his home-town Vancouver, two hours a day, rain or shine. He holds an MSc in Computer Science from Moscow State Institute of Radio Engineering, Electronics and Automation.Below are the main talking points:
During this talk, I am going to share Petcube experience on apps architecture, our struggles with finding a balance between quality of architecture and speed of product implementation.
About speaker
Dmytro is Android Developer with the passion for implementing beautiful UI and learning trending programming techniques. At Petcube he helped develop a newly redesigned version of the app from scratch and participated in architecture decisions for the sake of clean, scalable and testable code.Augmented reality (AR) is one of the hottest trends in tech these days because this area is quite pure and young with huge opportunities in the future. AR was one of the key features in lately presented smartphones from giants Google and Apple. This promising technology will change the industry of mobile devices.
I am going to tell about first steps in AR on Android, the biggest challenges during development and how to research a new technology in a few months. During the talk, I will show interesting demo, useful showcases and tell a story about my summer trip to San Diego and how they work. Why code style is so important in a big project and how much attention they pay to architecture design.
About speaker
Yurii is an Android Developer in Ciklum R&D lab with the passion to combine new innovative technologies and modern well architected applications. Dozens of successfully developed apps, winner of ‘Garage48 IoT & Machine Learning’ hackathon and Tango project contributor.Modern programming can not be imagined without long-running operations such as CPU-intensive computations or blocking IO running in the background. Unfortunately, having too many active threads is very expensive and kills performance, but there's a solution - coroutines. They provide a way to avoid blocking a thread and replace it with a cheaper and more controllable operation: suspension of a coroutine.
I'll talk about generators/yield, async/await, channels, composable/delimited continuations, and its usage; consider available APIs and make the overview of standard kotlinx.coroutines library.
About speaker
Dmitriy Zaitsev, Mobile Team Lead of Lohika Kyiv office – more than 6 years professionally engaged in developing Android apps and more than 3 years uses Kotlin. He creates solutions for information security, e-banking, medicine, social networks, and mechanical hardware. Today he's a mentor, open-source contributor, active speaker of Android Community, actual Judge of Dev Challenge.GameplayKit might seem to be all about games, but it contains valuable gems that are perfect to be used in regular apps.
Learn about how to make:
About speaker
Tobias is an iOS developer, designer and consultant. Conference speaker and organizer of local iOS meetups in Copenhagen.