Sam Ritchie

Chief Codesplicer

Codesplice

location_on Australia

Share

Sam Ritchie

Specialises In

Sam has a background in .NET enterprise development, but now works mainly on mobile apps & cloud services. He’s been an Apple fanboy since the 80s, and was coding Objective-C before it was cool. He mainly develops in Swift, Elm & F# these days, and actively tries to avoid writing any JavaScript.

Flying Solo: Lifehack Your Way to a Pants-Optional Workplace

schedule 6 months ago

Sold Out!

30 Mins

Case Study

Intermediate

Many developers harbour the dream of throwing off the shackles of corporate serfdom and experiencing the glorious freedom of self-employment. So is the grass really greener on the other side? As a developer who took the plunge a few years ago, I can offer some honest feedback and practical advice on things like:

what to consider when assessing whether self-employment is right for you.

the different software development business models, the pros & cons of each.

Using the Elm Architecture in Swift

schedule 6 months ago

Sold Out!

45 Mins

Talk

Advanced

Elm, for a long time the flag bearer of Functional Reactive Programming on the web, recently switched to a simpler pure functional architecture, citing 'ease of use'. Those of us that have worked on complex RxSwift/ReactiveCocoa apps can sympathise with this - using FRP injudiciously in your app can make the code difficult to understand and near impossible for new developers to pick up.

So are we able to apply some of the techniques and patterns from Elm into Swift iOS apps? It turns out the Elm architecture is a really great fit for Swift - it allows us to:

reserve our FRP hammer for the use cases that make the most sense

separate out a simple, consistent, and highly testable pure functional core, and

provide a flexible, yet easily understood & applied set of architectural building blocks.

This session will cover the basics of implementing and using an Elm-style architecture in a Swift app, will include lessons learnt in a real-world implementation, pitfalls/benefits, and implementation considerations should you adopt the approach in your own app.