Best products from r/swift
We found 42 comments on r/swift discussing the most recommended products. We ran sentiment analysis on each of these comments to determine how redditors feel about different products. We found 39 products and ranked them based on the amount of positive reactions they received. Here are the top 20.
1. Programming iOS 12: Dive Deep into Views, View Controllers, and Frameworks
- All new design of the first 30 levels
- Includes complete content from Star Wars Galaxies: An Empire Divided and Star Wars Galaxies: Jump to Lightspeed
- Customize your character's appearance -- body types, facial features, tattoos and more
- Take on one of over nine iconic professions, including Bounty Hunter, Smuggler, Commando, or a Jedi
- Inspired by all the George Lucas films, including all the trilogy and prequel movies
Features:
2. 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:
3. iOS and macOS Performance Tuning: Cocoa, Cocoa Touch, Objective-C, and Swift (Developer's Library)
4. Don't Make Me Think: A Common Sense Approach to Web Usability, 2nd Edition
- test
Features:
6. Cocoa Programming for OS X: The Big Nerd Ranch Guide (5th Edition) (Big Nerd Ranch Guides)
7. iOS 8 Swift Programming Cookbook: Solutions & Examples for iOS Apps
- Jin Li High quality tungsten steel Full-function nail clipper set 12 sets of nail
Features:
9. Swift Programming: The Big Nerd Ranch Guide (Big Nerd Ranch Guides)
- Addison-Wesley Professional
Features:
10. Swift Programming: The Big Nerd Ranch Guide (2nd Edition) (Big Nerd Ranch Guides)
- Big Nerd Ranch Guides
Features:
14. Introduction to Algorithms, 3rd Edition (The MIT Press)
- Hard Cover
Features:
15. The Algorithm Design Manual
- More and Improved Homework Problems
- Self-Motivating Exam Design
- Take-Home Lessons
- Links to Programming Challenge Problems
- More Code, Less Pseudo-code
Features:
16. TCL 40S325 40 Inch 1080p Smart LED Roku TV (2019)
- Easy Voice Control: Works with Amazon Alexa or Google Assistant to help you find movie titles, launch or change channels, even switch inputs, using just your voice. Also available through the Roku mobile app
- Smart Functionality offers access to over 5,000 streaming channels featuring more than 500,000 movies and TV episodes via Roku TV
- 1080p Full HD Resolution excellent detail, color, and contrast
- Direct lit LED produces great picture quality with 60Hz refresh Rate for fast moving action scenes with virtually no Motion blur
- Inputs: 3 HDMI, 1 USB, RF, Composite, Headphone Jack, optical audio out
Features:
18. Writing Compilers and Interpreters: A Software Engineering Approach
- John Wiley Sons
Features:
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.).
I definitely would. However, I would like to point out that there are many things to programming; no resource can cover them all not only because of the sheer amount of things that there are, but also because of how different these parts are. I think that not many people mention this, so I would briefly describe to you what I think these components are:
Hope this helped. Feel free to drop me a PM if you need some more infos.
PS: yes, it's true that many tutorials just teach you to play with an adult version of LEGO where you just build something holding a manual. The resources I've listed are the only ones that I've seen that do try to teach you some actual thinking and reasoning. It's sad that these are so scarce, but I hope someday people will remember that computer science is called science for a reason ;]
And oh, as a general guideline: only buy some courses or books when you are sure that you can't find better for free. It's not just a money management advice, but rather due to the fact that in the programming world, paid content is, sadly, rarely much better.
Practically, you can use Swift for anything where you would use Objective-C, but there are a few situations you might use Objective-C and a few times you must Objective-C.
However even with the above, Swift is a better choice for new development. Apple has decided Swift is the future and is heavily investing in it. Performance is improving with Swift, the language is generally source code compatible for the last two years at least, and every year, more of the few remaining Objective-C only APIs have a Swift overlay.
very realistically.
is started learning swift in may, beginning with this book (german):
https://itunes.apple.com/de/book/einf%C3%BChrung-in-die-app-entwicklung-mit-swift/id1215105506?mt=11
the english verison ist 5x longer, so definetly more in depth:
https://itunes.apple.com/de/book/intro-to-app-development-with-swift/id1118575552?mt=11
the books are free and made by apple. they come with excercises that helped me a lot.
after i finished the book (1-2months) i imidietly started with my idea and quickly noticed that my skills arent good enough yet.
i ordered this book:
https://www.amazon.de/gp/product/1491970073/ref=oh_aui_detailpage_o02_s00?ie=UTF8&psc=1
its super great, extremely well written and it answered so many questions that apple didnt.
yesterday i enrolled in the apple developer program and im planning to submit my first app to the appstore end of this month.
the app uses firebase, pushnotifications, a timer, has a tutorial (when opened for the first time) and some more functions.
definetly get started! swift is fun!
also connect to developers in your area through meetups for example. they are always happy to help!
Hi Jaspar,
Note the following:
You make some great points about good practices, especially in online tutorials. I see so much horrendous code out there posted on forums by beginners and it just makes me sad. It isn't their fault (or at least not entirely).
I wrote two editions of a Learning Swift book before I burned out (they are pretty out of date since even the second edition was only written for Swift 2). I got great feedback on them but it is INCREDIBLY exhausting and complicated to present good programming practices along side practical learning. I definitely developed a new respect for text-book writers.
There is also a reason that beginning computer science classes start on the command line learning data structures and algorithms before ever diving into UI. However, I also don't think everyone needs to dive that deep to get something useful out of programming. I don't know what the solution is, but there are certainly thousands of people trying with online courses, tutorials, boot camps, universities, etc.
Headfirst Java is an excellent book that would teach you the basics of what OOP is, how, and why they work. They are iOS articles out there like Raywenderlich that would teach you the OOP concepts but honestly; I believe this book would teach you in a way you would want to learn them.
https://www.amazon.com/gp/aw/d/0596009208/ref=mp_s_a_1_1?ie=UTF8&qid=1501095615&sr=8-1&pi=AC_SX236_SY340_QL65&keywords=head+first+java&dpPl=1&dpID=51Gsycdh-TL&ref=plSrch
Also as for Algorithms the best algorithm course I have ever taken was from Coursera, Algorithms part 1. With the headfirst Java book, you should proceed with this course nicely. Cracking the code interview book as well would be great after learning the algorithms/data structures fundamentals.
https://www.coursera.org/learn/algorithms-part1
Course will surely prepare you, about most used/popular iOS APIs. However they won't be covering all of them, obviously. Here's what I suggest: Don't get any swift book. Apple's official book is great and enough. However do get a book which teaches about iOS Apps and APIs. It's the APIs which are important and difficult to learn and where you will be spending most of your time with. BNR guys have been proven with great material, so I guess you can buy their books. However their swift books are not out yet, so you have to wait. Another book I would suggest is iOS 8 Swift Programming Cookbook This is not the usual learning book, rather a collection of recipes you would want to use. This book is not for a beginner, ofcourse. Also, keep following this blog: www.raywenderlich.com.
so to answer,
> Do you think that I should finish the course first and then supplement my knowledge of iOS with any other book/course resource?
I would to say yes to this. Course won't cover all the APIs and it's more of a beginner level course. Once done, hop onto advanced topics/books/resources. If you are confident, then you start with another material/book by the lecture 6/7.
TLDR; complete the course, get the BNR iOS 8 book when it comes out and keep building apps. more you write code, more you learn :)
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
> I can recommend them too but where do you go to take it to the next level?
Was this done in Java? Head First over Java is a good place if you're looking for object oriented programming. I don't know where to find good object oriented programming resources for Swift, maybe someone on here can post some good OOP Swift resources.
I LOVE shopping online for books, so here are my recommendations:
There are (in my opinion) no good Swift specific algorithm books out. The reviews for the available books are pretty bad.
PS: Grokking Algorithms is available through https://www.safaribooksonline.com/. They have a free 10-day trial.
You might think about a TV rather than an explicit monitor; they do a great job for anything but high-FPS gaming and cost about half as much as “monitors”. I bought a 40” 4K tv for $200 recently, and I’ve been really happy coding on it. Something like: https://www.amazon.com/TCL-40S325-Inch-1080p-Smart/dp/B07GB61TQR
This is a really good and easy to read book about design patterns.
https://www.amazon.com/Head-First-Design-Patterns-Brain-Friendly/dp/0596007124/
Gives you a good idea about basic concepts.
Advanced Swift is the only book I know that addresses your needs. I'm in the same boat. I decided to just start learning compiler architecture and programming languages. After Advanced Swift, (I got a book on writing a Pascal compiler in Java)[http://www.amazon.com/Writing-Compilers-Interpreters-Software-Engineering/dp/0470177071]. Next, I'm going to find a general purpose programming language text book to read. All the while I'm going to work on my C++ understanding.
After that, I should be competent enough to dive into the open source Swift project.
Here is a great book to start with:
https://www.amazon.com/Cracking-Coding-Interview-Programming-Questions/dp/0984782850/ref=pd_lpo_sbs_14_t_0?_encoding=UTF8&psc=1&refRID=VYKNSB6ZE37T8GSP8GKY
Stay active in the Swift community. Finish the test app, add features, experiment with UI, etc.
This guide will get you started with testing in Swift 4. It'll help you get everything set up properly and show you how to write your first tests in Swift. If you want even more depth, you could try Test-Driven iOS Development with Swift 4, Test-Driven iOS Development (Objective-C), or the seminal book, Test-Driven Development: By Example which uses Java.
If you can afford the book, the iOS 8 Swift Programming Cookbook has an excellent section on this. It shows how to use NSURLSession as well as NSURLConnection.
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 :)
Big Nerd Ranch just released their Swift book and it's excellent. I'd work through that as well as read and follow along with the Swift documentation (you can find it on the iBook store).
iOS 10 Programming Fundamentals with Swift It complements apple's offical swift documentation well. If you're looking for something at a similar technical level as the apple documentation but explained somewhat differently that's a good book.
Assuming you already know a few languages, the one thing that I think deserves the most attention are optionals since they're a relatively new feature in programming languages. Most of the other stuff is nothing new. Also, structs and the fact that the most basic data types are implemented as structs.
There's also Cocoa Programming for OS X, which is very good.
P.S. Also, check out their related Swift book.
Programming iOS 12 and Advanced Swift 4 are the two books that I would say take your iOS/Swift knowledge to "better than hirable."
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.
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.
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
there's also Neuberg's book https://www.amazon.com/iOS-10-Programming-Fundamentals-Swift/dp/1491970073/ref=sr_1_7?ie=UTF8&qid=1478129245&sr=8-7&keywords=swift+3
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.
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