Software Dev

The Elm Architecture

I’ve been trying to understand the Elm Architecture for a new iOS project. I kept reading over this article and thinking, “Wait a minute…. What’s the catch here? This seems too simple.” 🧐

πŸ‘‰ The Elm Architecture: Simple, yet powerful – An overview by example

I like that this architecture can be explained in a very short post with examples.

The beauty of The Elm Architecture lies in its simplicity.

That article is simple but assumes a web UI and explicit mentions HTML πŸ™„. Here is a funnier and more useful article about Elm for iOS. πŸ˜‚

πŸ‘‰ Elm architecture in iOS: Why you don’t need shit like RxSwift or MVVM

Elm architecture can be described as follows

msg -> Model -> View -> msg

I even made my own diagram just to make sure I “got” it. The devil is in the details, but I think this is right. πŸ€·πŸ»β€β™‚οΈ It definitely seems simpler than VIPER.

Software Dev

From Nothing to App Store in an Hour

Building, validating, and uploading your iOS app to Apple’s App Store Connect is a surprisingly arduous process. The next time I make an app on my own, I’m totally going to automate the heck out of the process where I can.

This video show how to do it in an hour. 🀯

The lead maintainer of fastlane demonstrates how easy it is to set up fastlane to automate the process of building, signing and uploading your app to the App Store

Via iOS Dev Weekly.

Software Dev

How (The Heck) To Test Push Notifications

You know those notifications you get on your phone from Medium, Nextdoor, or NPR? They’re surprisingly hard to develop and test. A lot happens to get that message onto your phone.

And testing them quickly and thoroughly without impacting people you don’t want to impact can be a challenge. So here’s a little guide to the latest way to test push notifications on iOS.

πŸ‘‰ How to test push notifications in simulator and production iOS apps

abc

Via iOS Dev Weekly.

Software Dev

The Swift Concurrency Roadmap

The Swift Concurrency Manifesto has now produced Swift Concurrency Roadmap (pull request). So that’s progress.

Our goal is to make concurrent programming in Swift convenient, efficient, and safe.

Once implemented, this roadmap will let you write this mess…

This way. πŸ‘

The roadmap contains “nurseries” for creating child tasks πŸ˜†, and something called “actor isolation”, starting with “basic actor isolation”. I can’t help but picture a bad actor sitting around his apartment in L.A. πŸ€·πŸ»β€β™‚οΈ

There’s also a solid glossary of what these terms really mean.

Via iOS Dev Weekly.

Software Dev

Syncing Made (Kind of) Easy in Swift

Here’s a pretty amazing series and GitHub repo on mastering sychronizing data across iOS devices.

πŸ‘‰ Replicating Types in Swift

This is a really tough thing to do well, so this series looks incredibly helpful. The central idea is Conflict-Free Replicated Data Types (CRDTs).

I like this teaser under the headline “Where is the server?”

There is no truth β€” decentral apps rely on trust rather than truth.

Via iOS Dev Weekly.

Software Dev

Swift Algorithms

Apple announced an open-source algorithms project with some very over-the-top, flashy language. πŸ˜‰

I’m excited to announce Swift Algorithms, a new open-source package of sequence and collection algorithms, along with their related types.

πŸ‘‰ Announcing Swift Algorithms

This library seems to be a sort of farm league for things that might make it to big leagues of the Swift Standard Library eventually.

Swift Algorithms lets you do just about anything you can think of with a collection (or two). It lets you do stuff like rotate [10, 20, 30, 40, 50, 60] to [30, 40, 50, 60, 10, 20], or find all possible permutations of [10, 20, 30], and lots of other things like chunking, random sampling, etc. Fun. πŸ€“

Via iOS Dev Weekly.

Music · You

MGMT and Buddha Agree on Solutide

With a little more time to myself right now, it’s good to have reminder that this is not a bad thing. So say two opposing forces: MGMT and Buddah. πŸ€·πŸ»β€β™‚οΈ

I don’t love all the hedonistic fantasy of the MGMT song Time to Pretend, but the song does rock, and this line stands out:

I’ll miss the boredom and the freedom and the time spent alone.

And apparently Buddha had given being alone even more thought. πŸ€” This video is worth three minutes if you’re feeling lonely.