Down the Rabbit Hole Continues

This is the Way

The deeper my dives / experience / experimentations go with SwiftUI the more I appreciate its efficiencies and strides for a better developer experience. Granted, there are still shortcomings when compared to it’s predecessor, UIKit, the tone / tenor has been set…this is the way.

It has been awhile since my last experiment in “can this be done in SwiftUI”, and so much as improved since SwiftUI 2.0 has been released.


This is the Way

The deeper my dives / experience / experimentations go with SwiftUI the more I appreciate its efficiencies and strides for a better developer experience. Granted, there are still shortcomings when compared to it’s predecessor, UIKit, the tone / tenor has been set.


Syncing and Grouping Requests

Pre iOS 13 if one wanted to run and sync a group of asynchronous requests they had their choice of the following:

While each of these techniques provide very powerful versitality, implementing thread-safe, edgecase / error proof code, in many instances, isn’t trivial. Most of the examples, tutorials and uses cases showing how to sync multiple asynchronous “operations” fell under the category of networking.

While it is true that grouping network requests is an extremely common task, a just as common, yet rarely discussed, task is the grouping of required requested system permissions, i.e. Microphone…


The Same, but Different

In order to “round out” my SwiftUI journey I decided to create a MacOS email prototype. The differences between this project and the BankingUI / DashboardUI where much less than I thought. Though this is just a prototype and not a full fledge, it gave me an insight as to the different mindset(s) and consideration(s) for building a MacOS app vs an iOS / iPad.

EmailUI Prototype

Lacking (time)

I wanted to add in a bit more functionality, but my main hustle and updates to Significant Other have been up taking most of my time.

The Future

Now that I have created and iPhone, iPad and MacOS prototypes, my predication of “SwiftUI as the future” is even higher. AppKit, much like UIKit, isn’t / shouldn’t go away, but SwiftUI bridges the framework and paradigm gap between Apple’s platforms.


Back in September I had planned to have 2.1 released by Christmas, unfortunately due to deadlines from my day job and a few other side hustles I didn’t get around the updates I wanted until a month ago.

But alas, it is here.

Dark Mode

Dark Mode arrived last September to much fan fair and while it was on the top of my priority list of features to add to Significant Other time took its tool, but now that 2.1 has been released I couldn’t be happier with the results.

Videos

Up until now videos were limited 30 seconds and filmed within the…


A(lways) B(e) C(hallenged)

“We don’t rise to the level of our expectations, we fall to the level of our training.”Archilochus

Who doesn’t love a good challenge? Writing iOS apps everyday provides it’s own sets of interesting problems to solve. Some for me are easier to solve than others, but I’ve been doing it for awhile now so I feel comfortable with my experience and knowing the toolsets that are provided. With **SwiftUI**, as with any new technology, everything can seem daunting.

I decided to challenge myself by picking a few mockups that I really liked and implement them in SwiftUI. Last…


BankingUI with SwiftUI

As I continue my journey on learning and mastering SwiftUI I came across Ghani’s nice wallet / banking UI and decided to recreate it. It isn’t 100% pixel to pixel perfect, but my goal was to focus on SwiftUI concepts and strategies rather than perfection. I had a lot fun making this and just as many “ah ha” moments.


The Tried and True Delegate Pattern

The delegate pattern has long been very prominent on Apple’s platforms. Delegation is used for everything from handling table view events using UITableViewDelegate, to modifying cache behavior using NSCacheDelegate. The core purpose of the delegate pattern is to allow an object to communicate back to its owner in a decoupled way. By not requiring an object to know the concrete type of its owner, we can write code that is much easier to reuse and maintain.

Source: https://www.swiftbysundell.com/articles/delegation-in-swift/

Combining the “old” and “new”

While I was working on the SpokestackRSSExample I wanted to leverage as many of the new iOS 13 API’s as possible, while…


Good Clients are Hard to Find

As someone how has been in a position to hire people, the old saying “Good people are hard to find” is more than a truth, but an axiom. What is harder to find when doing consulting are good clients with interesting problems to solve. The meeting with the CEO of Spokestack (formerly Pylon) at the end of 2018 would lead to a year of interesting / challenging problems to solve and I got to work with some of the smartest people I’ve encountered in my career.

2019 A Year of Open Source and Tech Challenges

Spokestack for iOS

Spokestack provides an extensible speech recognition pipeline for the iOS platform…


Like most iOS / MacOS developers, I saw SwiftUI as one of the biggest announcements since Swift itself back in 2014. It allows a developer to move away from Storyboards / IB, as well as, write UI code that isn’t weighted with step-by-step directions on how the UI should display on the device.

I personally stopped using IB after 6 months of doing iOS development 10 years ago. I never liked, nor used Storyboards for any of my personal projects over the years as well. I wasn’t dismissive right away. …

Cory D. Wiles

I code stuff in Swift. I also raise children, workout, and make a perfect old fashioned.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store