Yesterday was the official public release of the app @cocoawithlove & I have been developing for around 8 months.
It is a “banking” app which serves the customers of a specific financial institution here in Australia: itunes.apple.com/au/app/apple-s…
The vast majority of the code is purely functional and reactive. It is a pleasure to read as well as to write.
From Value Types to CaseIterable, passing by Decodable, Generics, Auto-Synthesised E&H conformances, Keypaths and the power of its Enums, Swift has become an essential pillar of the code we write.
I love Objective-C, but I would never want to go back.
I just wish its documentation was better, e.g. clearly enunciating the constraints on a Generic Type for a method to become available.
Swiftc’s error messages are still very poor and require a lot of implicit knowledge of the language in order to decipher what the compiler is actually complaining about.
The new build system is amazing.
It is _shocking_ how bad & buggy iOS <11 was. Since then however, the fundamentals got robust and behave exactly as expected.
You can (mostly) trust UIKit now, and be confident that any bug is in your code rather than Apple’s.
I am very excited by what may be unveiled in 2019.
iOS development, thanks to technologies such as Swift and FRP, has come a long way from what it was just a few years ago.
All you need is a fresh, modern, trustworthy approach to writing apps. And 2018’s iOS provides that.
</thread>