Okay, I'm going to do , so please bear with my daily progress posts, please.

I hacked together exactly one app with Swift before and thought it'd be nice to actually learn the subtleties of the language.

Day 1/100 complete, just learning about variables and interpolations and type annotations.

Day 2 of complete. Learned about Sets, Tuples, Dictionaries, and so on. Looking forward to more exciting things.

Day 3 of complete. Still not much exciting, learning about various language operators. It was nice to see the range operator I'm familiar with from Ruby.

Day 4 of : Learned more about loops in Swift. One cool thing is that you can give loops labels, and thus break from them from inside nested loops.

Day 5 of : Learning about functions in Swift. One cool thing (and an inheritance from Objective C, I think) is having two different labels for function params: one for inside the function, and one for calling the function.


Day 6 of is the first part of learning about closures. Closures are fun, but I already know how to use them from years of Javascript. The closure syntax in Swift looks quite clean, but that's not too difficult to accomplish when the baseline is JS 😬

· · Web · 1 · 0 · 1

Day 7 of today, second part of working with closures. Learned some pretty crazy shorthands, closures seem quite powerful but also feel like they could get quite messy. Strong JS vibes.

Day 8 of today, learning about structs. An interesting thing is that in Swift, strings and arrays are structs rather than classes, like they are in Ruby. Wikipedia says Swift is a multi-paradigm language, and I feel that it shows here.

Day 9 of , second part of structs. More advanced stuff, and things that I'd expect to be part of classes instead, such as class variables (called static variables here), etc.

Day 10 of , learning about classes. No major surprises, besides the fact that Swift classes have deinitialisers in addition to initialisers — methods that are called when an instance of a class is about to be destroyed.

Day 11 of , learning about protocols and extensions. Fun stuff.

Day 12 of , learning about optionals, unwrapping, guard clauses, and the like. More and more I feel like Swift is a much more complex language than, for example, Ruby. Or maybe it's more full-featured?

Day 13 of : first of three days of reviews. I feel like I have a solid understanding of the foundations of Swift now, and I'm looking forward to starting on an app project in a couple of days. I feel quite positive about this course, I have to say!

Day 14 of , second day of three days of reviews. Feel like I could've skipped this because I understand a lot of this stuff from other programming languages already, but decided to trust the process.

Day 15 of : third and last day of reviews. Classes, structs, closures, yadda yadda. Starting a smol project tomorrow!

Took two days off! day 16: actually building little bits of UIs now, and learning how to managing state. So far, pretty simple, pretty straightforward, pretty pleasant.

Day 17 of : Actually built a small app, in real American fashion it's for splitting tips 🤪

I like the declarative aspect of SwiftUI, reminds me of Nix!

day 18, wrapping up the WeSplit project with a little bit of custom coding. This took like 10 minutes, so today is a short exercise, but tomorrow is a challenge day, and I'm looking forward to that!

day 19: a challenge today, build a conversion app from scratch. Not too hard, but fun to do!

, day 20: Learning a few more UI building blocks such as stacks, images/gradients, buttons and alerts. It's coming together nicely.

Got too excited and did day 21 of on the same day 😅 A simple flag-guessing game, a little rough around the edges still. I'm getting a bit impatient with the tutorial and can't wait to get on with building a real project.

Day 22 of , tiny improvements to the flag guessing game from yesterday and that's it... Starting to realise that maybe finishing these 100 days won't give me *all* the knowledge I need to build the slightly complex app idea that I have, but let's see.

Day 23 of : Learning a bit more about the underlying workings of SwiftUI views. Feeling a bit uncomfortable with the number of times I'm being told "but we don't really need to know what happens there" in this tutorial 🤔

Day 24 of , feeling that I'm starting to be a little bit bored with the tutorial. The urge to build real things is getting stronger. Have an idea for a small macOS app now as well...

Today was all about reviewing the internal working of views, and applying some of that to existing projects.

Forgot to post yesterday: Day 25 of , built a small rock-paper-scissors game to consolidates the concepts I've learned previously.

In parallel thinking and fleshing out my app idea a bit more... can't wait to get on with it.

Show newer

@gueorgui Sounds like you’re getting into serious territory now; I don’t remember Objective-C having those features!

@amdt Nope, Obj-C doesn't have these features if I recall correctly! It's quite complex, but I can see how useful it can be.

Sign in to participate in the conversation

Merveilles is a community project aimed at the establishment of new ways of speaking, seeing and organizing information — A culture that seeks augmentation through the arts of engineering and design. A warm welcome to any like-minded people who feel these ideals resonate with them.