Dominik Hofer
Dominik Hofer

Learning the shortcuts of your most-used programs has a really big roi.

Nothing beats being able to do your work mostly without using your mouse.

Dominik Hofer
Dominik Hofer

Currently going through the Final Cut Pro X Skillshare class by @AliAbdaal and only a few lessons in, I've already picked up what is probably the most useful tip for video editing πŸ‘‡

The I-O-E (shortcuts) workflow for assembling an a-cut.

Dominik Hofer
Dominik Hofer

Day 21 #100DaysOfSwiftUI

βœ… Built the GTF project

πŸ”‘ takeaways:
πŸ‘‰ Use .shuffled() for a randomized array
πŸ‘‰ .font() modifier is for changing the look of text (uses dynamic type)
πŸ‘‰ Use multiple Spacer() to distribute space

Learned a ton about custom styling in this project!

Dominik Hofer
Dominik Hofer

Day 20 #100DaysOfSwiftUI

βœ… Overview of GTF project

πŸ”‘ takeaways:
πŸ‘‰ Use stacks for returning multiple views
πŸ‘‰ Colors & gradients are views as well
πŸ‘‰ Image(systemImage: "xy") for icons
πŸ‘‰ Create alerts bound to state variable

Also, this is the most beautiful view ever 😍

Dominik Hofer
Dominik Hofer

The /turn command in @Notion is so useful, go try it out!

Or am I the only one who only recently learned about it? πŸ₯²

Dominik Hofer
Dominik Hofer

Day 19 #100DaysOfSwiftUI

βœ… Built a simple converter app

That's it, my first iOS app I built on my own, from scratch!

The conversion was probably the hardest part. The tip with converting to a base unit helped a ton.

Also, notice how the label changes at the bottom πŸ‘€

Dominik Hofer
Dominik Hofer

Day 18 #100DaysOfSwiftUI

βœ… Added some additional features on my own

I already love building UIs with SwiftUI! It's fascinating, how fast and easy you get Apple-like results.

Looking forward to building some more complex apps πŸ€“

Dominik Hofer
Dominik Hofer

I'm starting a little weekly series called β€œUno”.

Every Sunday, I'll share one simple tool that I regularly use (and you might not know).

Stay tuned ✌️

Dominik Hofer
Dominik Hofer

Just migrated my personal notes from Apple notes/Evernote to @craftdocsapp

Main reason is the daily notes feature (not available in many other apps but I love the concept).

Also, the design is just gorgeous 😍

Dominik Hofer
Dominik Hofer

Day 17 #100DaysOfSwiftUI

βœ… Built the WeSplit project

πŸ”‘ takeaways:
πŸ‘‰ Locale is a struct with localization infos
πŸ‘‰ @State automatically watches for changes
πŸ‘‰ NavigationView is often the top-level view
πŸ‘‰ Spacer creates a flexible space

Was a fun little project to work on!

Dominik Hofer
Dominik Hofer

Day 16 #100DaysOfSwiftUI

βœ… Overview of WeSplit project

πŸ”‘ takeaways:
πŸ‘‰ Everything in SwiftUI is a view
πŸ‘‰ Shortcuts: ⌘ + βŒ₯ + P; ⌘ + R
πŸ‘‰ Views are a function of their state
πŸ‘‰ Create two-way bindings with $

Dominik Hofer
Dominik Hofer

Day 15 #100DaysOfSwiftUI

βœ… Review day

Done with the fundamentals of Swift. Now onto learning SwiftUI, I am very excited!

Dominik Hofer
Dominik Hofer

My new favorite shortcut in @framer: ⌘ + K

Creating components, publishing, and more – straight from your Keyboard.

Love seeing more and more apps adapt this UX pattern πŸ™Œ

Dominik Hofer
Dominik Hofer

Day 13 #100DaysOfSwiftUI

βœ… Protocols
βœ… Extensions
βœ… Checkpoint 8

πŸ”‘ takeaways:
πŸ‘‰ Protocols are like a blueprint for different types
πŸ‘‰ With extensions, you can extend the functionality of types
πŸ‘‰ Protocol extensions are possible

Can you spot the easter egg? 🐰

Dominik Hofer
Dominik Hofer

Writing is the best tool to understand yourself better.

Try out journaling for some time and you'll see great benefits!

Dominik Hofer
Dominik Hofer

Day 14* #100DaysOfSwiftUI

βœ… Optionals
βœ… Nil coalescing
βœ… Checkpoint 9*

πŸ”‘ takeaways:
πŸ‘‰ Optionals are for when there might data
πŸ‘‰ They have to be unwrapped: Either with if let, guard let, or nil coalescing

Today's checkpoint was a simple one-liner. Felt kinda smart πŸ€“

Show thread (2 posts)
Dominik Hofer
Dominik Hofer

Day 12 #100DaysOfSwiftUI

βœ… Classes
βœ… Inheritance
βœ… Checkpoint 7

πŸ”‘ takeaways:
πŸ‘‰ Classes don't have a memberwise initializer
πŸ‘‰ All instances point to the same data
πŸ‘‰ You can override methods
πŸ‘‰ Call super.init() inside child class

The furry checkpoint πŸˆπŸ•

Dominik Hofer
Dominik Hofer

Swift (with SwiftUI) feels like an ideal language to learn for beginners.

  1. You quickly get your first results
  2. Things look great out of the box
  3. There are many great and free resources like #100DaysofSwiftUI
  4. The playgrounds app enables everyone to learn it
Dominik Hofer
Dominik Hofer

Day 11 #100DaysOfSwiftUI

βœ… Access control
βœ… Static props & methods
βœ… Checkpoint 6

πŸ”‘ takeaways:
πŸ‘‰ Restrict property access with private keyword
πŸ‘‰ Static props/methods can be used for global data or examples

Slowly, Swift really starts to click for me πŸ™Œ
Checkpoint πŸ‘‡

Dominik Hofer
Dominik Hofer

We live in a time full of opportunities: The permissionless area.

But how should you leverage them?

@jackbutcher has created what is probably the most comprehensive guide to answer this question.

Here are my 5 key takeaways & opinions on β€œThe Permissionless Apprentice” πŸ‘‡

Show thread (11 posts)

Follow

RSS Feeds