S Link
raywenderlich.com Video Tutorials
Join over 4,000 subscribers in keeping your Swift & iOS skills up-to-date via hands-on tutorials — in video form! Learn Swift, Auto Layout, Stack Views, Collection Views, Core Data, WatchKit, tvOS, and more — the largest collection of Swift & iOS video tutorials anywhere.
The Swift Algorithms Book (30% off)
Written for students and professionals, The Swift Algorithms Book blends modern code, illustrations and computer science to help you pass the interview or build your next app. Perfect for the classroom or the office, the book takes a fresh approach to explain concepts that power search engines, databases and social networks. Use code coupon code NEWYEARS at checkout to receive a 30% discount!
Swift Around the Web
How to be awesome Swift developer
Amazing advice on all fronts here!
- experiment a lot
- don't be afraid doing things in non optimal way - wrong is way better than none
- open your mind, try new things (if this is Swift, try Swift)
- read blogs of other developers
- learn by doing
- check what's inside to understand it more
Migrating `if`s to `guard`s in Swift
Great idea - if you see an old if
in your Swift code, take a minute to refactor it to guard
!
Coding
Dim the lights on those view controllers with protocol extensions
Another great example of using protocol extensions more as mixins - for the purpose of adding a useful method vs having the ViewControllers that conform to the protocol provide any of their own implementation.
Of course, you can always extend the ViewController instead and add this method, but this creates a much clearer intention for the use of this method, and it's a great way to group a series of UIViewController methods (or any other objects) together for one common functionality.
Live Photo API on iOS
Looks super simple! It's 2016. Your app should support this. Live Photos are seriously magical - let's make them happen!
Design
The Rise of Chat Bots: Useful Links, Articles, Libraries and Platforms
I finally watched Ex Machina this weekend (related lol), and chat bots are the first step to get us there, so had to include this... So many great resources to get started with your own AI!
Other Cool Stuff
In Case You Missed It
One of my big goals before the end of the year was to actually write all the blog posts I haven't had time to write! It was challenging (these are the blog posts I've been procrastinating on for months!), but I accomplished that goal and already started off the New Year with a new blog post! The feeling of a clean blogging slate is amazing. Enjoy!
Videos
Protocols with Associated Types
I kept hearing the term "Associated Types", but haven't really looked into it much. LOVED this talk from @alexisgallagher so simply explaining what associated types actually area and their pitfalls, as well as some advanced stuff in the end. "Comprendre c'est pardonner" 😂
Embracing the Internet of Things for Cats, with Sally Shepherd
This is not a joke. @mostgood is actually building wearables for 🐱s!!! And she has some brilliant ideas. Great (and hilarious - I mean, wearables for cats!) talk on how to go from an idea to a prototype and to a Kickstarter campaign! Looking forward to the new business model Cat Toys as a Service (CTaaS)!
Swift Evolution
Commonly Rejected Changes
Official from the Swift Team: A list of changes to the Swift language that are frequently proposed, but that are unlikely to be accepted.
Even if you don't plan to propose any of these, reading the justification for the rejection of these is a great way to understand how the Swift Team thinks.
We are Devo: Swift Evolution continues
Great quick summary of what's going on with Swift Evolution. I like associatedType
.
Swift Package Manager
Creating a Swift Package on github: Not as easy as I thought
Some gotchas on setting up a git repo to be used with the Swift Package Manager... make sure you're a git tags expert 😬
Functional Voodoo
Push vs Pull Signal
This is still a bit above my head, but every time I see these type of articles, I now have a reference point to start from - thanks @ashfurrow for explaining the concept so clearly! I have a feeling this year will be the year I'll get to finally experiment with Reactive Programming!
Swift Code
- Then - ✨ Super sweet syntactic sugar for Swift initializers.
- EventBlankApp - A free open source iOS app for events or conferences.
- Filterpedia - Core Image Filter explorer
- Chirp - The easiest way to prepare, play, and remove sounds in your Swift app!
- clrex - Simple script to generate UIColor factory methods from clr files
- Kvitto - App Store Receipt Validation
Business
Freelance contracts that anyone can understand
Wow, love how easy-to-read this contract is. Also, 😍😍😍 the TESTING part!
2015 Retrospective
Lots of really great advice and books for those thinking of starting or improving your freelance career this year. Especially the becoming a specialist part!
Swift Thoughts
When Swift first came out, it was super risky to adopt it - remember when it was in beta 1?!!! In fact, even now, companies don't really have an incentive to adopt Swift. Objective-C is still around, it works, and everyone on the team already knows it (for now). Until Apple tells us we can't use Objective-C anymore, only certain types of companies will transition to Swift.
Personally, the kinds of companies that use Swift are the ones I'd want to work with. They're forward-thinking, fast-moving, are willing to take risks, and most-importantly, are open to their developers learning and exploring - and they have developers who are excited to learn! For me, working with people who love to learn, are excited to learn, and are given the space to learn is the most important trait in a company.
However, when it comes down to it, it is currently hard to identify the companies that actually do use Swift in their codebase. I hear of companies here and there from friends in the community and in press releases, but I haven't even heard of half the companies from all around the world mentioned yesterday in response to a tweet I posted asking which companies do use Swift in production (check them out here).
So we're putting together a Swift Job Board that will be officially launched next Monday for companies that already use Swift in production or are transitioning to using Swift in production. Those who'd like to be first on the job board get a special discount. Details here.
Also, make sure to check out this fun poll!
Happy Swift Year!