Reddit mentions: The best apple programming books
We found 105 Reddit comments discussing the best apple programming books. We ran sentiment analysis on each of these comments to determine how redditors feel about different products. We found 17 products and ranked them based on the amount of positive reactions they received. Here are the top 20.
1. iOS Programming: The Big Nerd Ranch Guide (4th Edition) (Big Nerd Ranch Guides)
- Used Book in Good Condition
Features:
Specs:
Height | 9.75 Inches |
Length | 7 Inches |
Weight | 0.220462262 Pounds |
Width | 1.5 Inches |
Number of items | 1 |
2. iOS Programming: The Big Nerd Ranch Guide (3rd Edition) (Big Nerd Ranch Guides)
- Precise cutouts for Apple iPhone 6S Plus 5.5 inch 2015 release / iPhone 6 Plus 2014 release; Not fit iPhone 6S/6 4.7 inch; advanced Front cover snap-on design for easy Installation
- Advanced Dual layer designed case combined of polycarbonate hard shell and flexible TPU withstands accidental drop, bump and shock
- Front cover with built-in screen protector prevents Scratches without compromising sensitivity
- All Features accessible with case installed
- Sporty design; include belt clip holster; multiple Color options
Features:
Specs:
Height | 6.25 inches |
Length | 8.75 inches |
Weight | 2.755778275 Pounds |
Width | 1.5 inches |
Number of items | 1 |
3. Cocoa Programming for OS X: The Big Nerd Ranch Guide (5th Edition) (Big Nerd Ranch Guides)
Specs:
Height | 9.9 inches |
Length | 6.9 inches |
Weight | 2.58822695588 pounds |
Width | 1.5 inches |
Number of items | 1 |
4. Swift Programming: The Big Nerd Ranch Guide (2nd Edition) (Big Nerd Ranch Guides)
- Big Nerd Ranch Guides
Features:
Specs:
Height | 10 Inches |
Length | 1.25 Inches |
Weight | 2.0723452628 Pounds |
Width | 7.25 Inches |
Number of items | 1 |
5. Swift Programming: The Big Nerd Ranch Guide (Big Nerd Ranch Guides)
- Addison-Wesley Professional
Features:
Specs:
Height | 10.25 Inches |
Length | 1.25 Inches |
Weight | 1.9510910187 Pounds |
Width | 7 Inches |
Number of items | 1 |
6. Swift Developer's Cookbook (Includes Content Update Program) (Developer's Library)
- Improves the performance and reception of your shortwave radio
- Extends to 23 feet and can be easily rewound into its compact case
- Has 3.5-millimeter mini plug
Features:
Specs:
Height | 9 Inches |
Length | 7 Inches |
Weight | 0.85539357656 Pounds |
Width | 0.54 Inches |
Release date | December 2015 |
Number of items | 1 |
7. The Core iOS 6 Developer's Cookbook (4th Edition) (Developer's Library)
- Made of recyled PET webbing and non toxic materials
- Design is imprinted on leash
- PET webbing is softer than nylon
- Small collar is 5/8-inch wide
- Is machine washable
Features:
Specs:
Height | 9 Inches |
Length | 7 Inches |
Weight | 1.9400679056 pounds |
Width | 1.25 Inches |
Number of items | 1 |
8. Swift Programming: The Big Nerd Ranch Guide (Big Nerd Ranch Guides)
Specs:
Release date | December 2015 |
9. Appreneur - Secrets to Success in the App Store
Used Book in Good Condition
Specs:
Height | 9.01573 Inches |
Length | 5.98424 Inches |
Weight | 1.2 Pounds |
Width | 0.244094 Inches |
Number of items | 1 |
10. iOS 8 for Programmers: An App-Driven Approach with Swift (3rd Edition) (Deitel Developer Series)
Specs:
Height | 9.25 Inches |
Length | 7.5 Inches |
Weight | 1.4109584768 Pounds |
Width | 1 Inches |
11. iOS Programming: The Big Nerd Ranch Guide (Big Nerd Ranch Guides)
Specs:
Release date | February 2014 |
12. iOS 7 Application Development in 24 Hours, Sams Teach Yourself (5th Edition) (Sams Teach Yourself -- Hours)
Specs:
Height | 9 Inches |
Length | 7 Inches |
Weight | 2.5132697868 Pounds |
Width | 1.25 Inches |
Number of items | 1 |
13. Objective-C Fundamentals
- Used Book in Good Condition
Features:
Specs:
Height | 9.25 Inches |
Length | 7.38 Inches |
Weight | 1.34922904344 Pounds |
Width | 0.85 Inches |
Number of items | 1 |
14. Learning AV Foundation: A Handson Guide to Mastering the AV Foundation Framework
- JY-610 II is a mini speed light flash unit which is lightweight on any camera.
- Flash head adjustable 0, 60, 75, 90 degree of vertical angle,easier and more convenient to use.
- Guide number:GN 27 (in focal length 50mm at ISO 100 in meters).
- Exposure control: manual operation, fixed flash light output, non-adjustable.
- Quick safety lock is provided and can be mounted on any standard hot shoe. Note: Camera not included!
- JY-610 II is a mini speedlight flash unit which is lightweight on any camera.
- Flash head adjustable 0, 60, 75, 90 degree of vertical angle,easier and more convenient to use.
- Guide number:GN 27 (in focal length 50mm at ISO 100 in meters).
- Exposure control: manual operation, fixed flash light output, non-adjustable.
- Quick safety lock is provided and can be mounted on any standard hot shoe. Note: Camera not included!
Features:
Specs:
Height | 8.9 Inches |
Length | 6.9 Inches |
Weight | 1.45064168396 Pounds |
Width | 0.98 Inches |
Release date | November 2014 |
Number of items | 1 |
15. iOS Auto Layout Demystified (2nd Edition) (Mobile Programming)
- Breaking Free from Emotional Eating
Features:
Specs:
Height | 11 Inches |
Length | 8.5 Inches |
Weight | 0.97444319804 Pounds |
Width | 0.64 Inches |
Number of items | 1 |
16. iOS Auto Layout Demystified (Mobile Programming)
Specs:
Release date | October 2013 |
17. iOS 5 Programming Pushing the Limits: Developing Extraordinary Mobile Apps for Apple iPhone, iPad, and iPod Touch
- 120V 30W Soldering Iron w/ 0.6mm Rosin Core Solder (12.5g Tube)
- 30W Soldering Iron: Cord Length: 58" • Ceramic heater • Stainless steel tip
- Rosin flux cored solder serves the same purpose of flux; it removes oxides and other unwanted impurities from copper tracks on printed circuit boards and from the surface of electronic component leads
Features:
Specs:
Height | 9.299194 Inches |
Length | 7.40156 Inches |
Weight | 1.62260224832 Pounds |
Width | 0.79917163 Inches |
Number of items | 1 |
🎓 Reddit experts on apple programming books
The comments and opinions expressed on this page are written exclusively by redditors. To provide you with the most relevant data, we sourced opinions from the most knowledgeable Reddit users based the total number of upvotes and downvotes received across comments on subreddits where apple programming books are discussed. For your reference and for the sake of transparency, here are the specialists whose opinions mattered the most in our ranking.
Sorry for the really late reply. I started out with the intro book in late May since I had very little programming experience (I know how to use Scratch, and I did a little bit of Java programming in a class I took two years ago but I forgot all of the Java). I went through all of those lessons in the intro to app development curriculum first and did all of the exercises. I also made sure I understood everything in each lesson before moving on. It took me a little over a month to finish them all, but I know I could have finished them a lot faster. It took me so much longer because there were some days where I didn't do anything with Swift (and there was even a week where I didn't work on it).
After that, I started to read The Swift Programming Language to build on what I learned from the intro book, and I also started reading the Big Nerd Ranch book on Swift (I didn't buy it, but I read it sometimes at a Barnes and Noble near me. I really want to purchase it because it's a fantastic book, but I'm waiting on them to release a new one on Swift 4 in the coming months before I purchase it.). More recently, I started reading the App Development with Swift book, and I really love how that book separates things into lessons and explains everything. I also recently started going through the Hacking with Swift lessons, and they are really great at explaining everything and teaching you more about XCode.
During all of this, I also have been developing a simple password generator app to practice what I've learned, and I just recently finished it. All I need to do is figure out how to get auto layout and the constraints to work in order to have it work on all of the different iOS devices (I'm still very confused about how to get it to work). I have an idea for a macOS menu bar app, but I still need to figure out how to make it.
If you're a complete beginner at programming (no experience or very little experience), I would recommend that you go through the intro book first. It teaches you some important concepts in a simple way, and you can finish it pretty quickly. Then, I would recommend going through the App Development with Swift and The Swift Programming language to really build on what the intro book teaches. You should check out the Big Nerd Ranch's Swift Programming book, too, but if you're going to buy it, you should probably wait a couple of months for them to release a new edition on Swift 4 (if you buy this one on Swift 3, some of the syntax may be outdated when Swift 4 releases). Hacking with Swift is also a fantastic resource. While you're learning how to program in Swift, you also need to make sure that you work on some kind of project/app so that you can practice what you're learning, so you should think of an idea for a simple app that you can make.
I hope that you find this helpful. If you have any more questions, feel free to ask! Good luck with learning how to program in Swift! I've only been doing it for 3 months now, but I feel like I learned a lot in the last 3 months and that I've become pretty decent at programming in Swift (I still need to learn a lot more, but I'm definitely much better than I was 3 months ago.).
Thanks for all the advice. It’s been very helpful in formulating our next steps.
Over the last 24 hours I have followed all the links and directions from everyone down many an internet rabbit hole and onto all of the associated tangents. I love not knowing where you’re going to end up. This has lead me to many places, but the below have been the most useful.
Redditor Lockieee posted this http://www.reddit.com/r/Entrepreneur/comments/29ndpa/launched_an_iphone_app_today_heres_a_list_of/
not long ago, it’s a mega list of useful resources he accumulated from looking at r/startups for the development of his app. He actually just launched a new word game called Haste which we have already been playing and love (the world really is a small place). https://itunes.apple.com/us/app/haste/id784262653?mt=8
Not only that but he has responded to some of my questions which is fantastic. Go Reddit. Pretty much every link on Lockieee’s page is useful, but a particular mention goes to AppAnnie. It has a huge amount of useful info, and accumulates everything you would want to know about every app in one place. We will use this to double check our idea is unique and also research the competition.
This link provides a great high level roadmap for everything from the app idea, to naming your app, to launching your app http://www.apadmi.com/successful-apps-guide/ very useful for filing in the gaps and providing a guide.
I have also been pointed in the direction of a few books that I will get from the library or Amazon and read over the next week.
Appreneur – Secrets to Success in the App Store by Taylor Pierce http://www.amazon.com/Appreneur-Secrets-Success-App-Store/dp/1478300019
App Empire – Make Money, Have a Life and Let Technology Work For You by Chad Mureta http://www.amazon.com/App-Empire-Make-Money-Technology/dp/111810787X
Appillionaires – Secrets from Developers Who Struck it Rich on the App Store by Chris Stevens http://www.amazon.com/Appillionaires-Secrets-Developers-Struck-Store/dp/1119978645
So the plan for the next week or so is threefold. I will read all of the above, and at the same time, my boy and I will refine our idea, bust out the crayons, draw some mockups, and describe in detail all the different elements to the game.
Lastly we will use AppAnnie to research the idea, check it’s unique, and also look for other successful word game apps. We will download and play them and make notes of what we like and don’t like and add this to our “development brief”
After that I will check back in a week with our progress. Once again thanks for all your help.
>Why is it so hard to figure out where to start?
>
>It's no secret that software development has exploded in the past 20 years. New software startups pop up like dandelions in the spring. It then follows that a lot of people think software development is a good career choice and are afraid of missing out on a lot of great opportunities.
>
>Software developers are, in general, pretty opinionated. I doubt this is unique to developers, but it gets tiresome when you've dealt with it for years. If we're not fighting over what operating system is better, then it's what language is better. If it's not that, then it's code editors, or databases, or frameworks, or bug trackers, or development processes, or...or...or. It's like we enjoy fighting.
>
>In a time where more and more people are becoming developers, it's not enough to be just "a developer" anymore. No, to feel superior now, developers need to somehow differentiate themselves from both the non-developer “rabble” and their fellow developers.
>
>This mentality has lead to more coding languages being developed that purport to "fix" issues with other languages. New frameworks are built to "fix" issues with previous frameworks. And on and on.
>
>All this leads to a huge amount of choices, opinions, and resources. Naturally, that makes starting to learn, daunting.
>
>Since I'm a developer too, I'm susceptible to the same opinions and biases that I just railed against. The difference is, I'm right. I'm kidding, seriously, calm down everybody. Here are my suggestions.
>
>Choose your
weaponlanguage>
>As someone once said: “the weapon doesn’t make the man.” It’s probably a quote from some B martial arts movie or Dragonball Z, but the philosophy holds true for programming languages. A good developer is a good developer regardless of language. However, you need to start someplace, and if you pick your first language wisely, you’ll drastically shorten the time to hit your goal.
>
>Picking a language boils down to what you want to do. This is a quick list of general development goals and what language(s) are your best options to get there:
>
>1. Front-end web development (user interface and interaction): Javascript, HTML & CSS
>1. Back-end web development (services that front-end web apps and mobile apps call out to): Ruby, Python or Javascript
>1. Mobile development: Swift (iOS) or Java (Android)
>1. Windows development: C#
>1. MacOS development: Swift or Objective-C
>1. Operating systems, file systems, embedded systems, etc: C/C++
>
>Naturally, there are other options for each of these. Javascript is useful for items 1-5, for instance. But the list is a good starting place as-is.
>
>How to find good resources to start learning
>
>There are a ton of resources to learn to code out on the web. How do you sift through the chaff and find the real gems?
>
>Most resources fall into the following categories:
>
> Books
> Videos
> Blogs/tutorials
> Courses
>
>Books are the traditional go-to resource. Search Amazon.com for your topic and read reviews. Make sure that any books you're considering are new. Languages change and older books could slow your progress.
>
>A lot of people have gravitated to videos to learn coding and other topics. YouTube is the first place most people look. Fair warning, this is going to turn up a bunch of crap. Look at how many subscribers a given instructor has, and watch some videos to see if their style and method works for you. Another possible issue is that because video is more difficult to update for new versions of a language (or corresponding tools), some videos might be outdated.
>
>For blogs and tutorials, a simple google search like "best python tutorial" or "best swift tutorial for beginners" is a great place to start. As with videos, you'll have to try a few to see how they work with your learning style.
>
>Online courses are the newest resource on the scene. Codecademy is one that a lot of people find immediately. However, after I talked to a lot of people who tried it, none really thought it did a good job. Free Code Camp or The Odin Project are both highly regarded for web development. Udacity, Coursera, Udemy all have courses in different genres. Each has reviews so you can compare and only look at ones that helped others. My specific examples follow in the next section.
>
>Where you should start, specifically
>
>Each development goal in the above list is different enough to require different starting points. I’ll list the place that I’d recommend you start for each one. I have not personally tried all of them, but have come across them when doing research. There also might be better ones, and so if you know of any, let me know and I’ll update this list.
>
>1. Front-end web development: Free Code Camp
>1. Back-end web development: Ruby (for Rails), Python (for Django), Javascript (for Node)
>1. Mobile development: Swift Lynda’s Swift Essentials (check your local library to see if you get a free Lynda account with a library card) or Flatiron school’s free Swift course, Swift Programming book or Java Head First Java, University of Helsinki’s MOOC
>1. Windows development: Head First C#, Pluralsight’s C# course
>1. MacOS development: Cocoa programming for OS X, or the same courses for mobile Swift
>1. Operating systems, filesystems, embedded systems: C++ How to Program book, C++ Tutorial for Complete Beginners
>
>Once you pick your language and starting point and you start learning, some things will be obvious, but others will be difficult to understand. You’re going to run into trouble and with concepts and code errors. That’s normal. We’ve all been there. Getting unstuck takes practice too.
>
>How to get unstuck once you’ve started
>
>Once you start learning to code, you're going to run into problems that you don't know how to solve. This is normal and part of the process. You don't really learn unless you struggle through it. That said, you won't always be able to move forward without some help. So how do you find that help?
>
>First off, forget books. They aren't a great place to start here, because the number and types of errors they can cover is so small.
>
>Online is the easiest place to find help. Most devs look for solutions on StackOverflow or just google the error message (if they have one). Other solutions are to find newsgroups or forums dedicated to the language you're using.
>
>How to use Google to get unstuck
>
>When you first try to google an answer to your problem, you're going to run into the issue of what to search for. Experienced developers are really good at this part, but unfortunately, it's hard for beginners, who need it the most. So here I'll give you some expert hints on how to improve your search results.
>
>1. Always include the name of the language you're using. If you're using a specific tool, database, or framework, include that as well. Don't include all of them, just the ones that you believe are relevant. This will take practice.
>1. If you're getting an error message, include that in quotes. Edit the message to contain only the core of the message so it doesn't reference any files, classes, path or filenames that are specific to your program or computer. The trick here is to make the error message as specific as possible while still being general enough to apply to others who are using the same language/tool/etc. but in a different context.
>1. If you're working through a publicly-published problem from a book or course, add that information to the search.
>1. Explain what you're trying to do, with the fewest words. This is tough for developers of all levels. For a beginner, you may have trouble coming up with the right terminology. This is where the books, tutorials, and course materials come in handy. They should use the right language if you're doing something similar to what's covered in them. If not, you're going to need to try some different wording. Remember, other beginners are going to be having problems too and might explain the problem the same way.
>
>Here are a few examples I’ve used (minus the quotes):
>
Hi! I'd be happy to share some info. I didn't actually go to school for Computer Science so I learned everything I know from the internet really. When I first started learning programming in general, I started with a course in C http://www.computerscienceforeveryone.com/. I think it was a pretty good intro into computer science in general too. There were a lot of concepts in that course that were really hard for me to grasp at first and honestly pretty boring at times, but I stuck with it and I feel like it set me up for objective-C and iOS programming pretty well.
Moving on to iOS programming. The Big Nerd Ranch book was the best iOS development book I read. It's chock full of good tutorials and good explanations of concepts. It was just updated to the 4th edition to and is available on amazon.com
Finally getting into iOS Game Development, I think Ray Wenderlich's tutorials were the best help for me. Most of the iOS game dev stuff out there right now is mostly for Cocoa's 2d (which is great!). However, I wanted to try out Sprite Kit since it's newer and I think it's eventually going to surpass cocoa's 2d as the standard for iOS 2d game development. There aren't a lot of resources out there beyond apple's guide (which is good in my opinion) Sprite Kit Documentation
Ray Wenderlich has a great Sprite Kit book out with all kinds of great information that makes game development on the iPhone easy. Here is a link to his book: http://www.raywenderlich.com/store/ios-games-by-tutorials
I hope that answered some of your questions. Feel free to ask more if you had any other questions, or if I missed something. Thanks for trying out the game. I hope you like it :)
I am a java developer and took a course on iOS coding when I was getting my CS degree, but haven't touched it since graduation. 3 months ago I decided I wanted to get back in to it and maybe make a career change. I knew a lot has changed so I wanted to start from the beginning. After looking around for a bit on where to start, I went with the Big Nerd Ranch iOS Programming book, Amazon link. This was an awesome place to start. The book flows well and it really builds on itself. Their online forums is a great resource when you get stuck, there was always at least one person that had encountered any problem I ran in to and had already posted about it along with a solution. After I was finished with the book I started going through the Ray Wenderlich tutorials and they have helped a ton, especially after gaining a great understanding through the BNR book. In a relatively short time I have a great understanding of iOS and am just building on it by making up my own side projects with various features to the app and then sitting down and figuring out how to implement these features. Best of luck to you!
Hopefully you can find some helpful answers, guidance, or a starting point in these responses.
From OP:
>The exact four books I read are:
>Learning Obj-C
>Learning Java
>iOS Programming: The Big Nerd Ranch Guide
>Android Programming: The Big Nerd Ranch Guide
>However, I would now recommend learning Swift instead of Obj-C. At the time when I was looking into iOS books, good books on Swift were few and far between.
From u/AlCapwn351 in regards to other sources to learn from:
>www.codeacademy.com is a great site for beginners (and it's free). It's very interactive. W3schools is good for learning stuff like JavaScript and HTML among other things.
>When you get stuck www.stackoverflow.com will be a lifesaver. Other than that, YouTube videos help and so do books. Oh and don't be afraid to google the shit out of anything and everything. I feel like an early programmers job is 90% google 10% coding.
>Edit:
>It's also good to look at other peoples code on GitHub so you can see how things work.
If you don't have any prior knowledge with programming, I'd first recommend learning Python. If you do have programming knowledge, then jump straight into ObjC. I read these 3 books and my Objective-C knowledge grew so much. I highly recommend reading these books.
Book One
Book Two
Book Three
I'd recommend reading these books in the order I listed them.
After you have read those books, you'll want to get friendly with theos. Theos is what you will use to make your tweaks. Learn how to install/use it here: http://iphonedevwiki.net/index.php/Theos/Getting_Started.
Now, you can look at open source tweaks. There is a great place to see a lot of them: http://iphonedevwiki.net/index.php/Open_Source_Projects.
Once you are comfortable, get started writing tweaks!
Always feel free to PM me if you need any help or have a question. :)
Okay. Depending on what parts of the framework "very simple" involves, and with the stipulation that you're building a prototype that you can pretty up later, I think it's possible, given your background.
Go get the Big Nerd Ranch book for iOS Programming:
http://www.amazon.com/iOS-Programming-Ranch-Edition-Guides/dp/0321821521
Get it in a store or rush ship it. Don't bother trying to go through the whole book—in a week or whatever—like the one guy suggested. If you were in an immersion course at the Big Nerd Ranch, with dynamic, experienced instructors, and a room full of motivated fellow students, I'm sure you could more or less touch on all of it in a week. But that's not your situation. Just concentrate on the intro to Objective-C. Then, look to see what parts apply to you.
In the meantime, watch the first few episodes at the University of California, Berkeley that they have on iTunes about iPhone programming. Don't watch them all. If there are one or two past the first couple of intros that directly apply to your app, watch those.
The Ray Wenderlich are good tutorials, as someone else suggested.
Google the shit out of anything on StackOverflow that applies to your app.
Finally, if you can reveal anything about the structure of your app, without, of course, giving away this million dollar idea (I'm giving you a hard time, just for fun, so go with it!), tell us. We can give you better answers as to what to look for.
Best of luck!
If you want an introduction to computer science:
Introduction to CS: https://itunes.apple.com/us/course/this-is-cs50-2012./id624655973.
Stanford's iOS course: https://itunes.apple.com/us/course/coding-together-developing/id593208016 - This can be challenging for beginners as it assumes prior computer programming experience. That said the course is incredibly comprehensive and does an amazing job of teaching iOS.
Ray Wenderlich : http://www.raywenderlich.com.
Mobile Tuts : http://mobile.tutsplus.com/category/tutorials/iphone/ - Less quality control then Ray Wenderlich in my opinion but greater variety.
Big Nerd Ranch: http://www.amazon.com/books/dp/0321942051. Amazing series where you build projects out while learning objective-C along the way. My only gripe is that this is for iOS 5 and iOS 7 is right around the corner I would love to see an update.
Stephen Kochan: http://www.amazon.com/books/dp/032188728X - Some say this is the go to for learning objective-C. I really like that they include detailed examples for each concept. I would recommend this as a reference when you run into major issues.
Invest in Kochan's Programming in Objective-C. One of the best programming books I've ever read.
Then once you have good unserstanding of Objective-C's syntax and data structures, I recommend iOS Programming: The Big Nerd Ranch Guide.
I went from no experience with Objective-C to getting hired as an iPhone programmer in a month and a half reading these books.
After these, when I come across something I don't know how to do, I usually look here first: Ray Wenderlich. Their tutorials are very very current. I go through them just to learn about iOS/Xcode features I didn't even know existed (there are tons!!).
I've tried (sometimes successfully) learning programming languages from free online resources (especially when I can't find good books), but I really think you shouldn't miss out on these. The cost is pretty minimal considering you just bought an Apple computer.
This kind of object oriented programming is pretty different from the web languages you have gone through. I think the first two books should help you get a basic understanding of Model, View, Controller design.
Finally, use a better title when asking for help!
Senior Level Software Engineer Reading List
Read This First
Fundamentals
Development Theory
Philosophy of Programming
Mentality
Software Engineering Skill Sets
Design
History
Specialist Skills
DevOps Reading List
I know you pointed out that you're interested in OS X, not iOS, but the reality is that most of the good, up-to-date materials on development for the Apple ecosystem are centered around iOS.
There is a Big Nerd Ranch book on OS X development with Objective-C, but it's from 2011. The advent of Swift should give publishers an incentive to update their material on OS X development. A new, Swift-oriented version of the book I linked above is slated (as per Amazon, anyway) for release next month. I look forward to purchasing it myself.
raywenderlich.com also has great tutorials. Most are iOS-oriented, but I found a couple for OS X:
Getting Started With OS X and Swift Pt1
Getting Started With OS X and Swift Pt2
Getting Started With OS X and Swift Pt3
Core Controls and Swift Pt1
Core Controls and Swift Pt2
Don't get discouraged about your lack of experience. The fact of the matter is that app flow in the OS X and iOS realms is not easy to understand at a glance. I can assure you that everybody who writes software in the Apple ecosystem was once confused about the same exact issue.
There are a lot of options for where to start, it just depends on how you learn best.
There are two courses on iTunesU, one is an iOS development course by Plymouth University https://itunes.apple.com/ca/course/ios-development-in-swift/id950659946 and the other is the Stanford iOS development course https://itunes.apple.com/ca/course/developing-ios-8-apps-swift/id961180099 Being completely new to programming start with the Plymouth course first, then give the Stanford course a try once you feel more comfortable (and the Stanford course is really what you should be aiming for if you want to develop a good knowledge base to start from).
I've also got a list of tutorial resources on my ManitobaNinja site that you can take a look at for other options as well https://manitobaninja.wordpress.com/2016/01/22/a-collection-of-swift-tutorials/
If books are a better option then Swift Programming: The Big Nerd Ranch Guide seems to be the most popular book recommendation for beginners. http://www.amazon.com/Swift-Programming-Ranch-Guide-Guides/dp/0134398017 There should be enough among those options that you can find something that works best for you
Ray Wenderlich's site has great tutorials. I'd strongly encourage you to work through these books - they should give you a pretty strong foundation:
Ray Wenderlich also has some Swift tutorials but if you are just starting out I'd focus more on Objective-C for now as it will be very useful to know when looking at libraries that aren't ported to Swift.
I certainly don't mind questions. I got into iOS development shortly after the App Store was announced. I was taking Java classes in college and found them to be extremely boring, so I picked up this book (but the iOS 3 version) and just worked through it. I probably spent more time studying that book than I did studying for my actual programming classes.
Eventually I made an unofficial reddit app, which got me threatening legal letters from CondeNast (they were NOT happy). I had originally gotten the all-clear from jedberg in the reddit IRC room, but apparently he didn't have the legal authority to say it was OK. The devs at the time sent me a box of goodies, a poster, some stickers, and even a employee-only tshirt as an apology for the reaction from the legal department.
After that I started picking up side jobs off craigslist, using the reddit app as my showpiece. Looking back on it, that app was terrible, but it was where I started. I even put a reddit sticker on my car to remind me of where I got my leg up.
I love it because it's fun, always a challenge, and I can make something from nothing.
Use these ebooks. They're brilliant:
First: Learn some Objective-C
Second: Start with iOS
It's very important that you don't give up when learning to write software. Keep chiseling at it and you will be able to create amazing apps.
>
> The exact four books I read are:
>
> Learning Obj-C
>
> Learning Java
>
> iOS Programming: The Big Nerd Ranch Guide
>
> Android Programming: The Big Nerd Ranch Guide
>
> However, I would now recommend learning Swift instead of Obj-C. At the time when I was looking into iOS books, good books on Swift were few and far between.
I'm currently working through the Big Nerd Ranch books which are fantastic. They have such a good way of teaching - you are constantly writing code and there are a lot of challenges for you to complete at the end of chapters. I picked them up after recommendations from many other redditors.
They have two books:
I started with the first and would definitely recommend both.
A couple of questions:
If you have a PC, you can only develop for Android.
If you have a Mac, you can developer for iOS or Android.
I highly recommend a book over a website. They are much more comprehensive and go into greater detail.
Mac/iOS uses Objective-C.
http://www.amazon.com/Objective-C-Programming-Ranch-Guide-Guides/dp/032194206X/ref=sr_1_1?ie=UTF8&qid=1419300572&sr=8-1&keywords=big+nerd+ranch+objective+c
http://www.amazon.com/iOS-Programming-Ranch-Guide-Guides/dp/0321942051/ref=sr_1_1?ie=UTF8&qid=1419300564&sr=8-1&keywords=Big+Nerd+ranch+ios
Android
http://www.amazon.com/Android-Programming-Ranch-Guide-Guides/dp/0321804333/ref=sr_1_1?ie=UTF8&qid=1419300685&sr=8-1&keywords=Big+Nerd+ranch+android
Big Nerd Ranch books are awesome.
The Stanford course is a great way to learn if you're into lectures.
If you prefer workshops and have the time and money to invest, you should go to the Big Nerd Ranch Beginning iOS Bootcamp. (Here's my extended writeup about it - in summary, it's a great way to learn since you get live instruction.)
Or if you like books, you can try Objective-C Programming, and follow that up with iOS Programming: The Big Nerd Ranch Guide.
Decide which learning style you prefer, then jump in. :)
Since you're on a Mac, if you're looking at OS X and iOS development, I'd recommend Objective-C.
As for books on the subject, I would recommend Objective-C Programming: The Big Nerd Ranch Guide and for you to also read the free online tutorial BecomeAnXcoder.
You might also want to look into getting Cocoa Programming for Mac OS X and iOS Programming: The Big Nerd Ranch Guide should you want to further your Cocoa and iOS knowledge respectively.
---
As for Mac IDEs, for Objective-C or C++, look at XCode (take a look in the Mac App Store).
For Java, I think Eclipse is pretty much the only option?
Watch the first several episodes of the Stanford courses on iTunes U. They're free, and quite good at teaching Obj-C and the basics of the SDK. You will need to have a basic understanding of OO programming before you start.
iOS Programming The Big Nerd Ranch GuideThe best dead tree book that I've seen for the subject. Read the reviews on amazon.
Starting iOS Development blog post with suggestions.
And of course the best advice for anyone learning anything in programming: Just start doing it, google when you hit a roadblock, it'll come to you with time.
At the time, I used the Obj-C Big Nerd Ranch Book and then the iOS Programming in Obj-C book. Nowadays, I'd recommend the BNR Swift Book and then the BNR iOS Development Book. These are excellent books and there is a nice community of people on their website who talk about solutions to the exercises and challenges.
Ray Wenderlich - Sign up for the newsletter to get an awesome beginner tutorial.
Hacking With Swift - The author posts here often and is free with option to donate to the author.
Team Treehouse - Awesome place to get your feet wet. It's paid courses but comes with 2 free weeks which is enough to get the Swift courses done if you have the time.
Edit: Big Nerd Ranch book is out if you have a Kindle. Big Nerd Ranch Swift Book
Yeah a lot of this stuff is old now that storyboards have come along. Also Xcode has change tremendously. I would recommend a different book. Not to mention, this person is a terrible writer. Big Nerd Ranch is great found here. Also, the Ray Wenderlich books and tutorials online are great.
Sorry for all the questions but I want to learn the best way possible. This one?
https://www.amazon.com/Swift-Programming-Ranch-Guide-Guides/dp/0134398017/ref=pd_sim_14_9?_encoding=UTF8&psc=1&refRID=N4NTMT05S0YAJ91AVXN1
Awesome, thanks so much! I'm wondering if this book is any good...
http://www.amazon.com/iOS-Programmers-App-Driven-Approach-Developer/dp/0133965260/ref=zg_bs_6133980011_2
If you want to write a truly native Mac-only desktop application, you should be using Cocoa and Swift. Here's a recent book that will help:
https://www.amazon.com/Cocoa-Programming-OS-Ranch-Guides/dp/0134076958
The other "first-class" language is Objective-C.
If you think you might want a cross-platform desktop app, or if you don't want your knowledge to be too Mac-specific, you probably want either Qt or wxWidgets. You can use both of those frameworks from a number of languages including C++ and Python. They both let you create really nice desktop applications for both Mac and Windows, but you won't get quite the level of polish and integration compared to using Swift/Obj+C and Cocoa.
Pointers
In all seriousness, others have mentioned great resources. I found the Big Nerd Ranch Book to be a great resource. From zero Objective-C knowledge to developing.
The iOS 7 variant would probably be more helpful: http://www.amazon.co.uk/Application-Development-Hours-Teach-Yourself/dp/0672337061/ref=dp_ob_title_bk
A guide for iOS 7 is still applicable to 8, so shop around for iOS 7 books. Although, I'd make the case that there are more than enough free resources online to learn.
That's awesome! Stick with it; iOS has a great community so ask plenty of questions. Check our /r/iOSProgramming for some really helpful people (I'm around there from time to time).
iOS Programming: The Big Nerd Ranch Guide (6th Edition) (Big Nerd Ranch Guides) https://www.amazon.com/dp/0134682335/ref=cm_sw_r_cp_api_.aOHybQFS55NE
Swift Programming: The Big Nerd Ranch Guide (2nd Edition) (Big Nerd Ranch Guides) https://www.amazon.com/dp/013461061X/ref=cm_sw_r_cp_api_nfOHyb38E5JE5
http://www.amazon.com/Developers-Cookbook-Content-Program-Library/dp/0134395263
Ive been reading this one for the last 2 weeks and quite impressed so far , it hasn't even mentioned IOS yet :)
Co Moderator Brandon Trebitowski wrote iPhone and iPad in Action - http://www.amazon.com/iPhone-iPad-Action-Brandon-Trebitowski/dp/1935182587
I worked on Objective-C Fundamentals - http://www.amazon.com/Objective-C-Fundamentals-Christopher-Fairbairn/dp/1935182536
They are both good for beginners and we would be looking here to answer questions you might have. Thanks!
You didn't ask me the question, but I'm learning with the same material.
I just finished working through the Big Nerd Ranch Objective-C book and found it extremely accessible and enjoyable. I started the iOS book yesterday and worked through five chapters - if you're genuinely interested in learning Objective-C and iOS these books are difficult to put down. Be aware that the newest edition of the BNR Objective-C is due at the end of November and the iOS book due at the end of December.
Paul Solt's course provides video content that I have found to be beneficial supplementary content to the BNR books. Working through the book along with Paul's course has helped me cement the material. He posted a coupon to take the course for free ~1 week ago. Not sure the coupon is still valid or not.
This is the book i recommend to everyone. I found it helpful.
For anyone who wants to learn app development, I can't recommend TheBigNerdRanch enough. They have the best books available
https://www.amazon.com/iOS-Programming-Ranch-Guide-Guides/dp/0134682335/ref=sr_1_1?ie=UTF8&qid=1499361104&sr=8-1&keywords=ios+programming
https://www.amazon.com/Swift-Programming-Ranch-Guide-Guides/dp/013461061X/ref=pd_sim_14_1?_encoding=UTF8&pd_rd_i=013461061X&pd_rd_r=EH8QEXAFBS073X065FRB&pd_rd_w=MlTL0&pd_rd_wg=ZECyJ&psc=1&refRID=EH8QEXAFBS073X065FRB
https://www.amazon.com/Android-Programming-Ranch-Guide-Guides/dp/0134706056/ref=pd_sim_14_3?_encoding=UTF8&pd_rd_i=0134706056&pd_rd_r=M9MB62KF7YSYKDGA8DER&pd_rd_w=q9x3K&pd_rd_wg=n4RMO&psc=1&refRID=M9MB62KF7YSYKDGA8DER
Along with those I also frequented a few programming subreddits and watched many youtube videos on iOS and Android.
There's also Cocoa Programming for OS X, which is very good.
P.S. Also, check out their related Swift book.
Big Nerd Ranch has a pretty good OS X book. http://www.amazon.com/gp/product/0134076958?keywords=big%20nerd%20ranch%20os%20x&qid=1452094223&ref_=sr_1_1&sr=8-1
Also the iOS equivalent are bibles for OS X and iOS developers.
Can't go wrong with the Big Nerd Ranch. That'll get you going on obj-c and a simple starter app. Their iOS specific book is great if you don't mind translating some of the out of date stuff.
The Big Nerd Ranch book on Objective-C and then iOS Programming enabled me of the past couple months to become a very adept and capable iOS Programmer. I highly recommend them:
http://www.amazon.com/Objective-C-Programming-Ranch-Edition-Guides/dp/032194206X/ref=sr_1_2?ie=UTF8&qid=1406161255&sr=8-2&keywords=big+nerd+ranch
http://www.amazon.com/iOS-Programming-Ranch-Edition-Guides/dp/0321942051/ref=sr_1_1?ie=UTF8&qid=1406161268&sr=8-1&keywords=big+nerd+ranch
Your question is very vague, you should try asking more specific questions, like "what AVCaptureSession does" and etc.
There's a whole book about AVFoundation: https://www.amazon.com/Learning-Foundation-Hands-Mastering-Framework/dp/0321961803
It's mostly about video editing, but it also has some things about recording. Book explains the things more or less easily, but it costs money :(.
AVFoundation is quite hard to grasp (IMHO, only CoreData is more complicated than AVFoundation), and I had a lot of troubles trying to understand it too. That was 2 years ago, and looks like there's still not much tutorials about AVFoundation.
My advice is just to watch every WWDC video there is (starting from WWDC 2010), read Apple's AVFoundation programming guide, check every tutorial there is, and eventually you will start to understand things. But it will take some time, yeah.
Learn Android or iPhone development. Here are two resources for you:
Android: http://developer.android.com/index.html
iPhone: http://www.amazon.com/iOS-Programming-Ranch-Edition-Guides/dp/0321942051
Have fun learning!
I started iOS programming with : http://www.amazon.com/Beginning-iPhone-Development-Exploring-SDK/dp/1430216263/ref=sr_1_7?ie=UTF8&qid=1372191579&sr=8-7&keywords=iphone+programming
Once I got past the basics, I got myself this : http://www.amazon.com/Core-Developers-Cookbook-Edition-Library/dp/0321884213/ref=sr_1_4?ie=UTF8&qid=1372191615&sr=8-4&keywords=iphone+programming
I would check for newer versions of the books though.
By access another application's data it depends on what you mean. Can you access 3rd party applications' data? No, each application is sandboxed and unable to communicate with each other. If it's a base iOS application though, Apple allows you to make calls to several of the base functionalities for use. You can utilize location services as well as maps in your app.
One suggestion I would make if you're just getting started. I would look to HTML 5 and multiplatform development solutions. More and more, these are becoming the standard rather than native applications. Because of this, I wouldn't start with iOS programming, but javascript instead. Don't waste your time with base javascript, instead choose a library to work with. jQuery is my personal choice.
From there, you have the basic knowledge to start using cross platform tools such as Sencha Touch or Apache Cordova (formerly phone gap). With these tools, you can develop for iOS and Android at the same time. Cordova also allows you to write native code when HTML & Javascript just isn't getting the job done.
Thanks for the suggestion, is this the book you were referencing?
http://www.amazon.com/Layout-Demystified-Edition-Mobile-Programming/dp/0321967194
There are a lot of good resources out there. Nerd Ranch is my go-to book when people ask me for recommendations. The Stanford Course is where I direct people who have programming experience.
Code Coalition is running a 3 month online immersive course for absolute beginners starting in September. You interact with students and teachers on forums, chats, and meetups. There are videos, assignments and projects.
Hm, probably not. Obj-C is used for developing iOS/OS X Apps. But I have no clue what to use in Engineering, maybe C or C++
Infos about Alfred here. It's basically a better Spotlight Search, to find/launch Apps, find files, quick google search, calculator, etc
About Objective-C: Take a look at the Big Nerd Ranch Guide
For Java: Head First
C: The C Programming Language
EDIT: iTerm2: Terminal replacement, I use it mainly for the hotkey window
and Cheatsheet: Hold command to get a list of all shortcuts for the active App
I found iOS Programming: The Big Nerd Ranch Guide to be an excellent introduction to both iOS and Objective-C. After reading the first few chapters and trying some of the examples you'll be primed to tackle the official docs.
Swift. Objective-C is an interesting language (C + Smalltalk), but not worth learning if you're starting a fresh app.
Big Nerd Ranch has the books you want. https://www.amazon.com/Swift-Programming-Ranch-Guide-Guides-ebook/dp/B019HARRTA
Yes, sorry I didn't post the 2nd ed. link. Here it is.
If you can wait 10 more days, iOS Programming: The Big Nerd Ranch Guide (3rd Edition) will be released. This is the one I'm waiting for. It will be covering iOS 5.1 and Xcode 4.3.
Here's a review
of the original book.
Note that even though the Amazon page says April 1, one of its co-authors has confirmed on Twitter that it will be available starting March 23.
The Big Nerd Ranch Guides for Objective C and iOS Programming are just about the best books for absolute beginners, I've found. I had programming experience in Java and Android apps prior to working on iOS, but read the two books anyway (online tutorials are the faster way to go) just to see if I could pick up something in-depth, and I did.
http://www.amazon.com/Objective-C-Programming-Ranch-Edition-Guides/dp/032194206X/ref=sr_sp-atf_title_1_3?ie=UTF8&qid=1408323435&sr=8-3&keywords=big+nerd+ranch+ios
http://www.amazon.com/iOS-Programming-Ranch-Edition-Guides/dp/0321942051/ref=sr_sp-atf_title_1_1?ie=UTF8&qid=1408323435&sr=8-1&keywords=big+nerd+ranch+ios
There really isn't a difference for iOS except for your UI layout. iOS will also have more file restrictions as well.
But, that same group does have a Mac series: https://www.amazon.com/Cocoa-Programming-OS-Ranch-Guides/dp/0134076958
I did these guys front-end web book. It was really goo, however they are know for their Swift Book:
https://www.amazon.com/Swift-Programming-Ranch-Guide-Guides/dp/013461061X
The owner (original instructor) worked with Steve Jobs at Next.
This is the one I'm looking forward to (not out until April). I've got the previous (Obj-C) version, and am working my way through it in conjunction with Apple's Swift language guide. But really looking forward to the next revision (which I linked) which will cover Swift.
Take my opinion with a big grain of salt as I'm very much in the preliminary still-learning stage, but I've always seen this one well-reviewed.
Read this while also reading this and then watch these lectures (note: the iOS 10 version should be starting by the time you finish the two books).
Every single line of code you see you should also be writing. Every project built in both books and the lectures you should also build. You should regularly use what you've learned to make your own dumb little practice projects. If you learn how to make a
UIButton
in chapter x then you should go and make your own project after reading chapter x that screws around and explores creatingUIButton
s.Come up with some actual app that you'd want to make for your own usage. As you learn features that you want your app to have, implement them in your app. Every now and then restart it from scratch as you learn how to code better. (IE your implementation of a trio of
UIButton
s after reading chapter 3 will be coded rather poorly compared to your implementation of the same trio of buttons after reading chapter 22.)This is how I did it and I taught myself how to be a professional iOS developer from not knowing what a variable was in less than a year.
Big Nerd Ranch's Swift book came out in December 2015 and its iOS programming (5th Edition) book was released a day later. So the code should work side-by-side.
You can find them on Amazon: [Swift] (http://www.amazon.com/Swift-Programming-Ranch-Guide-Guides/dp/0134398017) and iOS Programming (5th Edition)
In the Swift book, you'll be making command-line programs that teach you the basics of the language. But I find that app development isn't so much about knowing Swift/Obj-C but more about knowing how to use the frameworks/APIs, which is what BNR's iOS Programming will teach you.
Started with some Udemy course that was on a 95% discount.
Bought an iOS book after.
Although the Big Nerd Ranch books aren't for sale in my country everybody seems to favor them.
http://www.amazon.com/iOS-Programming-Ranch-Edition-Guides/dp/0321942051
Just updated and released. Takes you from total beginner. (Updated with better link)
Swift Programming: The Big Nerd Ranch Guide (2nd Edition) (Big Nerd Ranch Guides) https://www.amazon.com/dp/013461061X/ref=cm_sw_r_cp_api_NwPxybFV60FA9
Big Nerd Ranch came out with Swift programming book and it came out on Dec. 25, 2015. You can buy on Amazon.
http://www.amazon.com/Swift-Programming-Ranch-Guide-Guides/dp/0134398017/ref=sr_1_1?ie=UTF8&qid=1452355638&sr=8-1&keywords=swift+programming+the+big+nerd+ranch+guide
I have just started Erica Sadun's iOS Autolayout demystified book. That might be a good next step for you. https://www.amazon.com/Auto-Layout-Demystified-Mobile-Programming/dp/0321967194
Edit: Sorry, I have just realised that this is a Swift stub, and the book is in Objective-C ... :/
iOS Auto Layout Demystified
amazon
Read this, then read this.
I first went through the Swift and iOS programming books by Big Nerd Ranch, and then I went through one of their bootcamps in Atlanta. I highly recommend this company. Apple, Spotify, Square, etc... send their employees to Big Nerd Ranch.
Last year I was using the second edition of this book - http://www.amazon.com/iOS-Programming-Ranch-Edition-Guides/dp/0321942051/ref=sr_1_1?ie=UTF8&qid=1413908253&sr=8-1&keywords=big+nerd+ranch
But for whatever reason it wouldn't work on Xcode 5 and I didn't care so much about buying the newest book, check out their forums to see if the 4th edition has any issues with Xcode 6.
The best two books that you can add to you list are going to be release in December 2015:
Dec 21, 2015
http://www.amazon.com/Swift-Programming-Ranch-Guide-Guides/dp/0134398017/ref=sr_1_1?s=books&ie=UTF8&qid=1449670522&sr=1-1&refinements=p_n_publication_date%3A1250228011
Dec 21, 2015
http://www.amazon.com/iOS-Programming-Ranch-Edition-Guides/dp/0134390733/ref=pd_bxgy_14_2?ie=UTF8&refRID=01375BDKNPMY4DPRYDSM
I'm actually in almost the same exact situation as you are. I'm halfway through Big Nerd Ranch's Obj-C book and am looking to start creating apps as soon as possible. I actually purchased the Big nerd ranch iOS book today. Going to see how the book works out for me.
Aside from official documentation, these 2 resources Big Nerd Ranch and Ray Wenderlich were all I ever needed.
In this order:
Codecademy: http://codecademy.com. Learn basics of programming.
Big Nerd Ranch Beginning Objective C Programming Guide
Big Nerd Ranch iOS Programming Guide
Treehouse: http://teamtreehouse.com.
Autolayout Demystified 2nd Ed.
All you ever wanted to know about about Auto Layout, but no size classes (iOS7), so you might want to wait out for 3rd edition that will probably have that covered. (I have no idea if 3rd edition is actually planed, just wildly guessing).
The argument is to treat your UITableViewCell as the "Controller" in this scenario. Understanding composition correctly is the key here.
In classical MVC, an object (controller or model or view) should not know about details of a contained (composited) object. For example,
if you have a model "Person" that has a
Person
Accessing something like self.person.manager.dob from any class is probably not a good idea.
By making the "PersonList"ViewController access details of a single person shoving it into the cell, (in the cellForRowAtIndexPath method) you precisely do this.
This also happens to bloat the "PersonList"ViewController because now this "PersonList"ViewController does the job of both a "Person"ViewController and a "PersonList"ViewController.
By delegating this task to another object (in this case, it happens to be PersonTableViewCell), you help yourself by avoiding the dreaded massive view controller problem.
"
Most iOS developers often think of UIViewController as the "C" and UITableViewCell as the "V" in MVC. My heuristic is, generic table view cells (UITableViewCell used as is) should be treated as a view. But if you write a custom subclass of a UITableViewCell, it is probably a controller because you are not writing cell drawing/rendering code. This is precisely what we wrote in the iOS 5 Programming Pushing the Limits book (Page 95) https://www.amazon.com/dp/1119961327/