<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Mobile-Development on Damian Galarza | Software Engineering &amp; AI Consulting</title><link>https://www.damiangalarza.com/tags/mobile-development/</link><description>Recent posts from Damian Galarza | Software Engineering &amp; AI Consulting</description><generator>Hugo</generator><language>en-us</language><managingEditor>Damian Galarza</managingEditor><atom:link href="https://www.damiangalarza.com/tags/mobile-development/feed.xml" rel="self" type="application/rss+xml"/><item><title>Getting Started with iOS Development</title><link>https://www.damiangalarza.com/posts/2015-06-12-getting-started-with-ios-development/</link><pubDate>Fri, 12 Jun 2015 00:00:00 +0000</pubDate><author>Damian Galarza</author><guid>https://www.damiangalarza.com/posts/2015-06-12-getting-started-with-ios-development/</guid><description>Complete beginner's guide to iOS development with Swift. Learn Xcode setup, iOS development fundamentals, and start building iPhone apps with practical examples.</description><content:encoded><![CDATA[<p>Around April I started digging into iOS and Swift. I figured it would
be helpful to share my experience with others who may also want to learn it.
Note, this comes from the perspective of someone who already has a programming
background and previously spent time becoming familiar with Objective-C and
Apple&rsquo;s Cocoa Touch frameworks.</p>
<p>When I first got started, I decided to search for some online iOS with Swift
courses. I was hoping to find some courses on Code School or something similar.
Unfortunately, I couldn&rsquo;t find a course like this. The courses that I found
were focused around learning iOS with Objective-C. I decided if I was going to
start learning iOS, I wanted to learn it with the modern Swift language rather
than Objective-C.</p>
<p>That&rsquo;s not to say that having Objective-C knowledge isn&rsquo;t valuable. It&rsquo;s
especially important to have Objective-C experience to work with older
applications. For example, <a href="http://troposweather.com/">Tropos</a> is built with
Objective-C. In order to contribute to this project, I needed to think back to
my Objective-C learnings. The specifics around iOS development tend to be the
frameworks that Apple provides to its developers. These frameworks have great
documentation and are in both, Swift and Objective-C. If you&rsquo;re learning how to
use these libraries and the concepts behind iOS, it shouldn&rsquo;t be difficult to
apply them to Objective-C.</p>
<p>Initially I was disappointed to see that there weren&rsquo;t many resources to get
started in iOS from a beginner&rsquo;s perspective with Swift. Then after spending
some more time searching I found that Stanford University has a free course on
iTunes university titled <a href="https://itunes.apple.com/us/course/developing-ios-8-apps-swift/id961180099">Developing iOS 8 Apps with
Swift</a>.
This has been an immensely useful resource. Paul Hegarty is a great instructor.
He is really good at explaining the concepts and demonstrating things in real
time. I highly recommend checking it out.</p>
<p>These are a few of the important things I&rsquo;ve learned so far:</p>
<ul>
<li>
<p><strong><a href="https://developer.apple.com/library/ios/documentation/UserExperience/Conceptual/MobileHIG/">Read the iOS Human Interface
Guidelines</a></strong>
This may go without saying but Apple has done a ton of research behind the
user experience of iOS and its native applications. A fun fact that I learned
was the loading screen for an iOS application shouldn&rsquo;t be used as a splash
page. Instead, it should be a representation of the inactive application to
give the illusion of a quick load.</p>
</li>
<li>
<p><strong>Have a project idea</strong> While reading and following the Stanford online course
was immensely useful to start learning, I always feel that I need a concrete
project to work on to apply my learnings. Without this, I usually can&rsquo;t keep
sustained interest. I recommend coming up with a simple app idea to work on
while learning.</p>
</li>
<li>
<p><strong>Read through Apple&rsquo;s developer documentation</strong> While developing for iOS you
have a large number of frameworks provided by Apple at your disposal.
Apple also provides excellent documentation around all of these frameworks;
XCode even has a documentation browser built in. I recommend taking the time
to familiarize yourself with these documents and learn to navigate them, it
will be a huge benefit in the long run.</p>
</li>
<li>
<p><strong>Use the Apple developer forums</strong> I wasn&rsquo;t immediately aware of how useful
the Apple developer forums would be. I was running into trouble getting an
archive of my app sent to iTunes connect and spent hours if not days searching
for support. Most of my searching turned up various StackOverflow posts which
were not helpful, but after checking in the thoughtbot XCode slack channel I
found that someone else had recently run into a similar issue. They lead me to
the specific post on the Apple developer forums regarding the issue and I was
able to work around it in a few minutes. Lesson I learned; search the Apple
developer forums.</p>
</li>
</ul>
<h2 id="recommended-reading">Recommended Reading</h2>
<ul>
<li><a href="https://developer.apple.com/swift/resources/">Swift Programming Series (iBooks
Store)</a> This is the offical
Swift book by Apple. It is a great resource on getting started with learning
swift.</li>
<li><a href="http://www.amazon.com/Beginning-iPhone-Development-Swift-Exploring/dp/1484204107/ref=sr_1_1?ie=UTF8&amp;qid=1433530778&amp;sr=8-1&amp;keywords=iPhone+Development+with+Swift">Beginning iPhone Development with
Swift</a>
This is a great book to get started with learning iOS and Swift.</li>
<li><a href="http://www.raywenderlich.com/">RayWenderlich</a> Great blog with tutorials on
iOS and Swift</li>
<li><a href="http://www.appcoda.com/">AppCoda</a> Great resource for various tutorials</li>
<li><a href="https://robots.thoughtbot.com/tags/ios">Giant Robots Smashing into Other Giant
Robots</a> There may not be as many
beginner content here but there has been very useful blog posts on Swift and
functional programming in Swift.</li>
</ul>
<h2 id="design-resources">Design Resources</h2>
<ul>
<li><a href="http://iosdesign.ivomynttinen.com/">The iOS Design Guidelines</a> Guide to
design apps around the Apple HIG.</li>
<li><a href="http://www.teehanlax.com/tools/iphone/">iOS 8 GUI PSD (iPhone 6)</a> Template of
the GUI elements found in iOS 8</li>
<li><a href="http://martiancraft.com/blog/2014/09/vector-images-xcode6/">Using Vector Images in XCode
6</a> Turns out you
no longer have to generate several versions of an image asset to use within your
app. XCode supports vector images which it will scale appropriately for various
sizes. IE: @1x, @2x, @3x</li>
</ul>
]]></content:encoded></item></channel></rss>