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.

Top comments mentioning products on r/swift:

u/42657536 · 3 pointsr/swift

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.).

u/wtedst · 1 pointr/swift

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:

  1. I wanted to say that the first thing is the programming language, but huh, you first need an IDE to even be able to write it. The IDE (the text editor you code in) + the compiler. If you plan on using Swift and code for the iPhone/Mac, go and download Xcode. Fiddle around with it a little, but don't get too crazy trying to understand all of it, you will find that many courses will explain the functionality to you sooner or later.
  2. Now, the programming language. Well, it's inevitable that you start from this. If you consider learning Swift, there are two resources that you should visit first:
    1. https://docs.swift.org/swift-book/LanguageGuide/TheBasics.html — it is the official guide to the language and is written for both new and experienced developers, so don't try to understand every feature that the guide describes, but this will be the resource you would visit the most in the month or so you're learning the language. And I say month not because the language itself is hard, but because every little programming concept will be very new for you. Once you get acquainted with programming techniques, you will be able to use this guide much more fluently.
    2. Apple has recently released this book: https://books.apple.com/us/book/ap-computer-science-principles-with-swift/id1456795905 — go and download it. Once again, one resource can't cover everything, but it's quite entertaining and it's free.
  3. Then, there is the platform (or libraries/frameworks within this platform), and this is a huge thing. Programming languages are very primitive within their own functionality; they don't do that much; whenever something shows on your screen or you download something from the internet, there is a library behind that — that is, somebody very clever already figured our how to tell a computer how to download and display an image. Now, this is the time when you would watch the Stanford course. They also teach the Swift language too, but I would recommend you at least spending a week on the previous step just to not get overwhelmed.Sometimes I see that it's not clear for newcomers what this platform thing really means, so I will use an analogy: the programming language is your wrench, while a platform is a car. Or a plane. Or a boat. A wrench is a quasi-universal tool, but the platform is something that functions in a very specific way that you need much more time to learn how to repair an aircraft than how to hold a wrench.The same holds for platforms: you will spend much more time on learning how iOS and third-party libraries work than how Swift works as a language.After the Stanford course, I would recommend you Matt Neuburg's book https://www.amazon.com/Programming-iOS-12-Controllers-Frameworks/dp/1492044636/ref=sr_1_1?__mk_de_DE=%C3%85M%C3%85%C5%BD%C3%95%C3%91&keywords=neuburg+ios&qid=1567076010&s=gateway&sr=8-1 — he explains how iOS works better than I've seen elsewhere.
  4. Lastly, you will learn architecture. Architecture is just a fancy word for not just getting things to work, but getting them to work properly (hopefully). Basically, it's a step up from building a raft to building a cruise ship. I would recommend objc.io for this, but at this rather professional and advanced stage, it will hugely depend on your personal needs and your projects.

    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.
u/bluk · 3 pointsr/swift

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.

  • If you need to call C code, you might choose to use Objective-C because you may find directly using Objective-C is easier than dealing with Swift's various Unsafe* APIs. Then, you can use Swift to interoperate with your Objective-C code if the rest of your app is in Swift.
  • Objective-C can outperform Swift significantly. Not only in terms of compilation speed but in terms of runtime performance. For instance, the book iOS and macOS Performance Tuning ( https://www.amazon.com/iOS-macOS-Performance-Tuning-Objective-C/dp/0321842847 ) gives some concrete examples. Of course, it depends on your code and where the hotspots are, so you need to measure performance. Swift can be faster than Objective-C, but there are situations where idiomatic Objective-C is naturally faster than idiomatic Swift. However, if you ever find yourself in a situation where you think Swift itself is slow, I would watch some of the WWDC talks regarding Swift performance to try to improve your Swift code before even thinking about re-writing it in C or Objective-C.
  • A very few Apple APIs are still only accessible via Objective-C (e.g. Activity Tracing, XPC, some of the very low level audio frameworks). You'll usually know it when you try to read the headers for the function/method in Xcode (which are more up to date than the online docs) and the auto-generated Swift header doesn't make any sense .

    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.
u/felixmaria · 1 pointr/swift

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!

u/omparay · 1 pointr/swift

Hi Jaspar,

Note the following:

  1. Is your app doing something that differentiates itself from the other apps that perform similar functions:
    1. Is your app limited to a subset of functions that other apps are already providing?
    2. Is it providing the exact same functions as other apps or does it do something unique that distinguishes itself?
    3. Is it providing a function that nobody else has thought of to do in a particular way?
  2. Is your app presenting information succinctly:
    1. Is it easy to figure out from a glance and without reading any instructions?
    2. Does it require people to have any experience with other similar apps?
      1. I myself know a lot about programming but I know nothing with regards to Elo (I had to look it up). Only after I had read about Elo did I finally start relating to some of your screenshots and the description of your app. THAT is a problem. Your app should present enough to get me by without me having to look up how something is supposed to work.
    3. There is a book called "Don't Make Me Think" by Steve Krug. Read and understand it. https://www.amazon.com/Dont-Make-Me-Think-Usability/dp/0321344758
  3. Did you take the time to build this app or are you rushing?
    1. Are you doing this to make a quick buck for yourself??? If so then you are thinking this through wrong... you should do this because its fun for you and you are ok with days, weeks, months maybe even years of pain before you get any kind of financial reward.
      1. Your immediate reward is the "coolness" of making something that makes you feel proud of yourself.
    2. For every "Yes" on your app was there at least several "No"? Did you reflect before doing something? On wether or not its been done before, and wether or not you were doing something new and exciting?
    3. Did you ask other peoples advice? Not just other developers or programmers but actual people who love music and who will eventually be the users of your app?
u/drewag · 8 pointsr/swift

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.

u/MDeLaCruz111 · 1 pointr/swift

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

u/avinassh · 2 pointsr/swift

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 :)

u/ArvoHeikki · 2 pointsr/swift

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.

u/Third_beach · 1 pointr/swift

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

u/Bizkitgto · 1 pointr/swift

> 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.

u/rudedogg · 1 pointr/swift

I LOVE shopping online for books, so here are my recommendations:

  • Start with Grokking Algorithms. It's the most approachable book on the subject that I know off (disclaimer, I've only read a couple chapters).
  • After that, I'd try The Algorithm Design Manual. It's always highly recommended when people ask for algorithm books.
  • The de-facto book on the subject is Introduction to Algorithms. It's commonly referred to as "CLRS", after the author's last names.

    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.
u/thicket · 1 pointr/swift

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

u/MarkusPretzelApp · 2 pointsr/swift

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.

u/Lanza21 · 1 pointr/swift

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.

u/jtbrown · 1 pointr/swift

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.

u/dar512 · 2 pointsr/swift

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.

u/jeramyfromthefuture · 1 pointr/swift

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 :)

u/TheMiamiWhale · 4 pointsr/swift

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).

u/KangstaG · 1 pointr/swift

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.

u/Mandack · 1 pointr/swift

There's also Cocoa Programming for OS X, which is very good.

P.S. Also, check out their related Swift book.

u/lanzaio · 1 pointr/swift

Programming iOS 12 and Advanced Swift 4 are the two books that I would say take your iOS/Swift knowledge to "better than hirable."

u/PrometheusTitan · 1 pointr/swift

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.

u/flexdevio · 3 pointsr/swift

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.

u/jzed · 1 pointr/swift

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

u/tgregoryknox · 3 pointsr/swift

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.

u/organiccoder · 1 pointr/swift

The best two books that you can add to you list are going to be release in December 2015: