Native Software
An exploration into native software on Apple computers.
18 entries
First: Jun 24, 2020
1 contributor

Learning a bit about the higher level philosophy of how SwiftUI works and why. I usually try to write out code as I'm going along to form a better understanding but this time I'm just watching this entire video through with a notebook in front of me. I think it might be a better approach for me to have the whole model in my head a bit as I start experimenting with specific components. (Intro to SwiftUI, WWDC20)

I'm just going through this introduction to SwiftUI (WWDC20). Some of the details they've added here are really cool. There's some important design principles that they are making very easy and ultimately enforcing by default. I tried to publish this last night but couldn't because I was in a remote area by a lake. :)

Been a weird few days of just trying to update this MBP to run the new beta of Xcode. And also just not having a bunch of time! But still doing some stuff.

Just going through some more of these playground things! My MacBook Pro is struggling to run this thing right now! And it might be a bit of a waste of time cause I already know how to code!

I'm downloading a bunch of updates tonight so I played some Swift Playgrounds while that's happening. What a fun way to learn how to code! It's really cool to see even that something like this exists. The first time that I played around with it, it was only available on iPad (I think). This stuff is pretty chill because I already know how to code but I might just go through all of this content to experience it and get more familiar with Swift syntax and concepts!

I added a horizontal constraint to this label which means that the label will stay in the center of the screen, no matter how big or small the screen gets. Pretty simple once you try it out. I don't necessarily like all of the terms used to describe this stuff! And I don't know how to remove this thing yet!

After you select an object on the Interface Builder (here I've selected a label), this little button opens the Align menu. It's one of the menus in Auto Layout. It allows you to start specifying some constraints, but I don't really know how to do that yet!

Auto Layout

Auto Layout is a way for you to specify the position of objects on the screen of Apple devices, when those screen sizes are continually changing from user to user. I don't entirely understand this yet, but it essentially works by allowing you to specify constraints for each object in a scene. Similar to CSS perhaps, the constraints can be relative to other containers. For me, this is one of those concepts where I have to keep like messing around with it to get it into my brain.

This button in Xcode opens this Library thing no matter where you are in the application. Seems pretty important!

Running through a little example in a book to build a quick app using Xcode so I can understand the process. Here we're using storyboard instead of SwiftUI. That might be a dumb thing to do, I don't know and I'm going with it!

This is the interface builder of Xcode. You get to it by opening a .storyboard file. When you open it, you'll see an interface that is split into two sections. A document outline and a Canvas.

I've never really internalized the MVC design pattern for myself. I think this visual is great. Hopefully through this experimentation I will have my own way of describing it.

Pretty standard interface break down of an application like this. The left 'navigator' navigates to different parts of your project. You work with any files you select from the navigator in the center, which is called the editor area. On the right is the inspector area…

In order to develop native software for Apple computers, I'll need to:

- learn Swift
- understand things like delegation archiving and view controllers
- form an understanding of the various frameworks over time (this will basically take forever)
- make a bunch of software things!

internetvin Native Software