I've been interested in developing iOS apps, Udacity's nano degrees caught my attention. Prior to starting this course I had purchased another online course (self paced). The content wasn't as engaging and it fell off my radar really quickly. I needed more structure.

This isn't a commercial for the course, but I have to say it is pretty awesome. It is a great way to go to school without paying a huge premium and I learn some valuable skills. I was surprised at how quickly we got into the programming aspects of it. Most other courses focus on the theory instead of theory and practice. I was sold.

Highlights after my first week

  • The quality of the video is great.
  • They explain complex programming methodologies in a simple way.
  • The cohort I am in is small.

Here is what I've learned so far

I'll try to keep it non-techy. Below are a few thoughts I've had when comparing Swift to other languages and Xcode to other IDEs.

  • Swift is new and code samples can be scarce in comparison to other languages. You may be required to translate objective-C code in swift by digesting the code chunk by chunk.

  • The syntax of Swift reminds me a lot of JavaScript (and other related languages). I like seeing that language syntax is familiar. It makes it a lot easier to feel comfortable and start exploring.

  • The architecture behind an iOS app is MVC. I first used MVC in PHP and I'm glad I took the time to learn it back then. I've seen an explosion in its use throughout the years.

  • Xcode is pretty good (so far)! I thought it clunky and slow but it has been solid. Once you learn what the icons mean it gets easier. One thing I'm still getting use to is maximizing real-estate. I'm switching between the storyboard and code all the time. I'll probably have to pick up some keyboard shortcuts.

  • It can get really complex. We are just in the beginning of the course and things have been relatively simple. We've added buttons, images, multiple screens and we've played audio. I can only imagine when we have a huge story board and tons of logic attached to it. It should be fun though. We are taking it in chunks which make it manageable.

What's next?

We are going to make an app that makes MEMEs :-)
I'll probably end up posting the projects to my github account.
Check it out for the latest code. I'll try to comment as much as possible.