It’s been an awesome year since Apple announced Swift!
Thousands of developers have rushed to write code in swift – we can see over 41.000 public repositories on github and 36.000 questions on stackoverflow.
The number of Swift repositories is growing day by day:
Number of github repositories:
Number of new github repositories that appear each week.
Redmonk predicted that Swift will be in the top 20 most used programming languages by Q3 this year. In the 2015 Developer Survey we can see that Swift is the most loved programming language – over 77% of those polled said they already develop with Swift and will continue to do so. In another survey done by Vision Mobile we can see that 20% of mobile developers were using Swift just 4 months after it was introduced.
The open source community made a bit over Swift 400 libraries/frameworks in the past year. Out of which I mention my top 5:
- Alamofire is an HTTP networking library written in Swift
- Surge is a framework that provides high-performance functions for matrix math, digital signal processing, and image manipulation. It harnesses SIMD instructions available in modern CPUs to significantly improve performance of certain calculations.
- SwiftyJSON makes it easy to deal with JSON data in Swift
- Dollar is a Swift library that provides useful functional programming helper methods without extending any built in objects. It is similar to Lo-Dash or Underscore.js in Javascript.
- Cartography will help you set up your Auto Layout constraints declaratively with ease!
We ❤ Swift
I remember last year, me an Silviu where watching the live WWDC stream and we saw Swift – it was an ecstatic moment. We rushed to download the book Apple released with the language. In about an hour me and Silviu went through the whole book page by page scanning the code examples and language descriptions learning what Apple has been working on. We were so happy with so many things about the language – it made programming on iOS cool again.
Immediately after that we started working on a blog – what later became We ❤ Swift and published our first tutorial –How to make a simple tableview with iOS 8 and Swift. We got a lot of readers and we started making more tutorials out of which I want to mention:
- How to make a custom keyboard in iOS 8 using Swift
- Higher Order Functions: Map, Filter, Reduce and more
- How to make awesome UI components in iOS 8 using Swift and XCode 6
- Fractals in Xcode 6
- How to make a custom keyboard in iOS 8 using Swift
- Object Oriented Programming in Swift
- Swift resources for Objective-C developers
- A very detailed introduction To SceneKit by Silviu:
We were working on a iOS Swift course and we kept hitting the same wall – there is no resource that teaches you how to code in Swift that puts in enough basic notions to be able to follow the material we wanted to present. So in the end we decided to spend some time to make that resource. In the beginning we started with a book with a bit of theory and a lot of exercises – Swift Programming from Scratch in 100 exercises – you can read the whole book for free!
Soon after we started working on the book we were experimenting with playgrounds and we figured out that we can hack them – we made an app that tells you if you correctly solved an exercise from the book or if you made a mistake.
Team
Andrei started programming when he was 10, after training for four years he won a bronze medal at the International Olympiad in Informatics in 2009. In the last 5 years he has worked as an iOS developer for local companies and as a freelancer.
Silviu has 4 years of iOS development experience and is currently working as a consultant on multiple iOS projects. He enjoys learning and teaching to others. In his spare time he likes to work on computer graphics and math.
Collaborators
Claudiu helped us make the book better for people who are learning to code – he knew nothing about programming – except that he wanted to learn it. He even added an exercise to the book – 2.5 Breakfast. Now he is learning iOS and digging into low level C details in order to better understand how computers work.
Raul started working on a couple tutorials – we recently posted the first one NSTimer in Swift. Raul started programming from 6’th grade. He participated in national contests on Programming and Physics until he graduated from college. During college he built an autonomous robot A.T.T.K. and his own OCR library after college. Raul is working as a freelancer in iOS and Swift and he loves to share his knowledge with others.
If you want to write articles for We ❤ Swift – give us an email!
Top Swift links
Beginner
- Learn Swift Programming from Scratch with 100 exercises
- Swift’s Answer to #pragma mark, FIXME and TODO
- Swift for scripting
- The point of Optionals?
- Swift: Spiroswiftograph – a cool example of what you can do in the Playground
- A quick look at Ranges by Erica Sadun
- Jameson Quave made an awesome tutorial about developing apps on iOS 8 using Swift:
- Part 1 and Part 2 goes over the basics of Swift and a simple example project that creates a Table View and a puts some API results from iTunes inside of them
- Part 3 Best Practices
- Part 4 Adding Interactions
- Part 5 Async image loading and caching
- Part 6 Interaction with multiple views
- Part 7 Animations, Audio, and Custom Table View Cells
- How to use the Swift REPL language shell
- Learn-Swift a no-frills introduction to Swift for busy and/or curious people
- Favorite Swift Tips & Tricks of 2014
- Prototyping UIView Animations in a Swift Playground
Intermediate and Advanced topics
- The Death of Cocoa
- Interesting Swift Features, Secrets of Swift’s Speed by Mike Ash
- Swift InFlux a community maintained reference on many Swift related topics.
- Access Control – In Xcode 6 beta 4, Swift adds support for access control – Apples geniuses give you the details.
- Metal Tutorial on Ray Wenderlich
- Inside Swift
- Practical Swift shows us the List of implicitly defined variables in Swift and Swift Standard Library: Documented and undocumented built-in functions in the Swift standard library – the complete list with all 74 functions
- Creation of pure Swift module Alex Denisov makes a logging library and shows us how to document classes in Xcode.
- How to write unit tests in Swift with XCTest
- A first look at ReactiveCocoa 3.3 by Colin Eberhardt
- Michael Teeuw shows us how he built a gesture recognizer in Swift.
- Swift Language Highlights: An Objective-C Developer’s Perspective
- Colin Eberhardt explains how
Sequence
protocol works and cool things you can do with sequences in Swift Sequences and lazy evaluation - Solving the binding problem with Swift
- If you want to develop games using Swift then How to Make a Game Like Candy Crush with Swift Tutorial Part 1and Part 2 should get you started.
- Michael Buckley started an interesting – and very well documented – conversation about the importance of message passing in Mac and iOS apps – The Case for Message Passing in Swift
Code
- Noah’s Ark, in Swift is a funny example of unicode support
- Mattt Thompson made working with API’s in Swift delightful with Alamofire this is the most stared Swift repository.
- Playground – Create Xcode Playgrounds for the Swift programming language with rich documentation generated from Markdown
- Cartography – Set up your Auto Layout constraints declaratively and without any stringly typing! – a good example of what can be achieved with Swift custom operators
- Swifter is a tiny http server engine written in Swift. It uses object subscripting in a creative way in order to create routes.
- Welcome!…and Generics by Swift Yeti
- Design Patterns in Swift
- DKChainableAnimationKit is a DSL to make animation easy on iOS with Swift.
- Siren will notify users when a new version of your app is available, and prompt them with the App Store link.
Video
- Stanford updated their iOS class with Swift and iOS 8.
- Skip Wilson made a bunch of video tutorials that you should check out if you are learning to make apps
- Drawing With Swift in Playgrounds
- Apple WWDC 2014
Finally here’s a teaser for an article we’ll be publishing later this week:
1 comment for “Happy Birthday, Swift!”