I have always been an adamant proponent of "write once, publish everywhere". Simply meaning that I have never learned native mobile app development and have always preferred hybrid approaches such as React Native or Ionic. Because why wouldn't it be better to write one codebase and release to multiple platforms.
I'm now going to venture down a new rabbit hole that is iOS development with Swift. For some reason this weekend I felt the desire to learn Swift and SwiftUI. As of this writing I have listened to about 1 hour of a YouTube tutorial to create my first iOS app.
Now to think of something to build. Last year when I was playing around with Ionic again I created an app to discover movies with a Tinder-swipe interface.
Currently listening: Kid Cudi, Man on the Moon III: The Chosen
After about 1 hours worth of work (and the above article) the app looks as such. The animated swipe gesture is working.
At this point I'm getting to the difficult part: how to begin structuring the underlying data? What is the scope fo the app? Is it only Spanish language app so I can include Spanish specific fields? Is it a flashcard app so everything needs to generic?
I decided to go with a struct of
Record which contains a
term: string; definition: string, example: string which is focused on languages but generic enough.
It is at this point where I've starting to notice the major differences that Swift has to offer. Such things as the computed variables and pattern-match operator are different than the other languages I've used.
I just took a shower and as always my mind began to wander with the opportunities for the app. Last night I found out that there aren't any great sleep stories in Spanish. Everything that I listened to sounded so harsh and abrupt. I wanted something more soft and soothing.
As I was walking up the stairs I had the idea of allowing teachers to track the amount of practice their students have performed. Unfortunately this begins the process of making everything more complex.
erik cr Newsletter
Join the newsletter to receive the latest updates in your inbox.