Академический Документы
Профессиональный Документы
Культура Документы
com/r/iOSProgramming/comments/63d4yj/i_have_6_months_om_me_to_learn_io
s_development/
QUESTION
Long story short, I have studied at a university for a year before I got broke and
stopped. I have experience with programming and object oriented programming in general, I
know what APIs are and how to call them, and I know why we create separate classes for things
and how things work in general in OOP (Inheritance, objects, classes.. etc but not an advanced
programmer) Just trying to say that I know my way around but really haven't touched iOS
development in 3 years (Since Swift came out)
I have 6 months with 5 hours per day dedicated to iOS programming. I got a good Mac
running and just need a sense of direction. The first few tips that I got were to Watch the
WWDC videos first then head to Lynda and learn as much as possible.
Any other tips? Thank you.
ANSWERS
When I was wondering what should be the topic for my next post, I was really in
trouble. Actually, there are at least 3 proper blog posts to give you an overview and a blueprint
how to build and transform yourself into an iOS programmer, even without prior computer
science or programming knowledge. Which is awesome if you are a totally new in
programming, but can be a real pain in the neck for your coworkers when you can’t apply the
basic principles such as effective algorithms, or design patterns not to mention the OOP
principles.
So, I went through those pages:
https://medium.com/ios-os-x-development/how-to-become-a-badass-ios-developer-
a87a1c78f609
https://www.codefellows.org/blog/everything-a-competent-ios-developer-needs-to-know
http://roadfiresoftware.com/2014/04/how-to-become-a-professional-ios-developer/
And I prepared a new learning materials recipe for you, including materials from my
own experience:
Step 1: For beginners, who has never touched any code before:
Foundations of Programming: Fundamentals
Foundations of Programming: Object-Oriented Design
Introduction to Computer Science
Step 2: For individuals, who has some knowledge about OOP principles, program
structures and C language:
Objective-C Programming: The Big Nerd Ranch Guide 2nd Edition
iOS Programming: The Big Nerd Ranch Guide 4th Edition
Step 3: For individuals who are more curious
Head First Design Patterns – O’Reilly Media
Algorithms, Part I – Princeton University | Coursera
Algorithms, Part II – Princeton University | Coursera
Developing iOS 7 Apps for iPhone and iPad
Developing iOS 8 Apps With Swift
You might already noticed, that those resources Objective-C (or Java) based. I am on
the same position as the most of the guys on the above mentioned posts, that you can’t really just
skip Objective-C at the moment. I think for a beginner the best strategy is to know the
foundations, and build the new features on them. Later I will add resources for Swift as well.
Another problem could be the price of those materials, since there are free online
resources as well. Honestly, I think that this investment is worth it, if you consider to change
career path.
I couldn’t stress and emphasise enough the Big Nerd Ranch books, they are the best
material I have ever read in years of learning programming and about this topic. Actually I am in
the middle of the second book, but I still love it!
https://learniosdevblog.com/recipe-become-valuable-swift-developer/
I think the time is finally here to (re)think your approach to Swift. It has been in the
wild for long enough time to see how smart step was to make it from scratch and publish it as
open sourced. In short: it was really smart. I purposely wrote “Swift developer” in the title, since
it seem to break out into the wild, it is not tied to iOS or OS X development anymore.
The skyrocketed popularity, the effort what IBM made for give you a complete toolset
and the rumours that Google and Facebook both are playing with the idea to switch to it, all of
that points in one direction: Swift knowledge will be valuable and it is worth to learn it in long
term.
So, here is my updated list of resources for getting a good grasp of the language:
Step 1: For beginners, who has never touched any code before:
Foundations of Programming: Fundamentals
Foundations of Programming: Object-Oriented Design
Introduction to Computer Science
Step 2: For individuals, who has some knowledge about OOP principles, program
structures:
Swift Programming: The Big Nerd Ranch Guide
A Swift Tour by Apple
Since the most of the videos of WWDC talks are also available on internet I would
strongly recommend to check the videos section of the Apple Developer site. Videos only can be
played on an iOS device or in Safari, but Apple made the related content available in YouTube
as well, so it might be good to subscribe to the official Swift Language channel. This video is a
very good start, although I wouldn’t recommend for total beginners.
If you have particular interest in iOS or OS X development:
Developing iOS 8 Apps With Swift
iOS Programming: The Big Nerd Ranch Guide 5th Edition
Cocoa Programming: For Mac OS X 5th Edition
Please note, that only the 5th editions of the BNR books above were written about the
Swift language!
Step 3: For individuals who want to be a better programmer:
Head First Design Patterns – O’Reilly Media
Algorithms, Part I – Princeton University | Coursera
Algorithms, Part II – Princeton University | Coursera
Tools:
Nowadays you don’t have to own a Mac to start with Swift. You can download the
latest version for Linux from the website of the project: http://swift.org
As I mentioned IBM also put together nice resource pack to support the language, you
can check out at https://developer.ibm.com/swift/ . I think the most important is the web based
IBM Swift Sandbox ,and the new web front- and back-end framework the Kitura.
Although the language itself is still in a rapid change and development, which might
cause some compatibility problems, the 3.0 version will be very promising, won’t miss it out.
Happy learning and coding!