{"id":18763175,"url":"https://github.com/mybridge/learn-swift","last_synced_at":"2025-07-19T19:39:24.912Z","repository":{"id":93137667,"uuid":"119603214","full_name":"Mybridge/learn-swift","owner":"Mybridge","description":"Learn Swift from Top 45 Articles of 2017","archived":false,"fork":false,"pushed_at":"2018-02-06T00:37:21.000Z","size":364,"stargazers_count":64,"open_issues_count":1,"forks_count":12,"subscribers_count":12,"default_branch":"master","last_synced_at":"2025-03-26T21:38:28.570Z","etag":null,"topics":["ios","ios-swift","ios11","swift","swift4"],"latest_commit_sha":null,"homepage":null,"language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Mybridge.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2018-01-30T22:35:39.000Z","updated_at":"2025-01-19T18:42:25.000Z","dependencies_parsed_at":"2023-03-25T15:34:29.190Z","dependency_job_id":null,"html_url":"https://github.com/Mybridge/learn-swift","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Mybridge%2Flearn-swift","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Mybridge%2Flearn-swift/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Mybridge%2Flearn-swift/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Mybridge%2Flearn-swift/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Mybridge","download_url":"https://codeload.github.com/Mybridge/learn-swift/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248664046,"owners_count":21141878,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ios","ios-swift","ios11","swift","swift4"],"created_at":"2024-11-07T18:24:57.960Z","updated_at":"2025-04-13T04:32:29.969Z","avatar_url":"https://github.com/Mybridge.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"# learn-swift\nLearn Swift from Top 45 Articles of 2017\n\n\u003cimg src=\"background.png\" width=\"800\" alt=\"Mybridge\"\u003e\u003c/a\u003e\n\nFor Jan-Dec 2017, we compared nearly 15,000 articles about iOS Swift and picked the Top 45 (0.3%).\n\nThis is an extremely competitive list. Mybridge AI ranks articles based on the quality of content measured by our machine and a variety of human factors including the number of shares and minutes read.\n\nThis directory is designed to make your life easier as it organizes the most useful articles by 27 key topics, where experienced programmers share their lessons working with Swift.\n\n\u003cimg src=\"chart.png\" width=\"1400\" alt=\"Mybridge\"\u003e\u003c/a\u003e\n\nIf you like a version with images: [Go to our Medium link](https://medium.com/@Mybridge/learn-ios-programming-from-top-swift-articles-of-2017-811de7273936)\n\n\u003cbr\u003e\n\n1. [Toolset ](#toolset)\n1. [Build ](#build)\n1. [Architecture ](#architecture)\n1. [Table Views ](#table-views)\n1. [Lesson Learned ](#lesson-learned)\n1. [API Design \u0026 URL Routing](#api-design--url-routing)\n1. [Machine Learning ](#machine-learning)\n1. [Parallel Programming ](#parallel-programming)\n1. [Scalability ](#scalability)\n1. [Framework ](#framework)\n1. [Keywords ](#keywords)\n1. [Parsing JSON](#parsing-json)\n1. [Concurrency ](#concurrency)\n1. [Memory Management ](#memory-management)\n1. [Managing Environment ](#managing-environment)\n1. [Server-side ](#server-side)\n1. [MacOS \u0026 iPhone X](#macOS--iphone-x)\n1. [Game ](#game )\n1. [Kotlin \u0026 React Native](#kotlin--react-native)\n1. [Testing \u0026 Debugging](#testing--debugging)\n1. [Animation ](#animation )\n1. [Reactive Programming ](#reactive-programming)\n1. [Algorithm ](#algorithm )\n1. [Interview ](#interview )\n1. [Hacks ](#hacks )\n1. [Guide ](#guide )\n\n\u003cbr\u003e\n\n### Recommended Learning\n\nA) Beginner: [The Complete iOS11 Swift 4 Development: Build 28 Apps. Use Xcode 9 and learn CoreML (Machine Learning) \u0026 ARKit (Artificial Reality).](http://bit.ly/2BDOD7U) [7,208 recommends, 4.7/5 stars]\n\nB) iOS Game: [Introduction to iOS Game Development with SpriteKit \u0026 Swift](http://bit.ly/2FvB4tg) [972 recommends, 4.6/5 stars]\n\n\u003cbr\u003e\n\n### Toolset \n* [My Development Toolset 2017 for iOS](https://medium.com/ios-os-x-development/my-development-toolset-2017-for-ios-7c0758e3e5ce?utm_source=mybridge\u0026utm_medium=email\u0026utm_campaign=read_more)\n\n\u003cbr\u003e\n\n### Build \n* [Optimizing-Swift-Build-Times: Collection of advice on optimizing compile times of Swift projects.](https://github.com/fastred/Optimizing-Swift-Build-Times?utm_source=mybridge\u0026utm_medium=email\u0026utm_campaign=read_more)\n\n\u003cbr\u003e\n\n### Architecture \n* [How not to get desperate with MVVM implementation](https://medium.com/flawless-app-stories/how-to-use-a-model-view-viewmodel-architecture-for-ios-46963c67be1b?utm_source=mybridge\u0026utm_medium=email\u0026utm_campaign=read_more)\n* [iOS Architecture: A State Container based approach](https://jobandtalent.engineering/ios-architecture-an-state-container-based-approach-4f1a9b00b82e?utm_source=mybridge\u0026utm_medium=email\u0026utm_campaign=read_more)\n* [Introducing Clean Swift Architecture (VIP)](https://hackernoon.com/introducing-clean-swift-architecture-vip-770a639ad7bf?utm_source=mybridge\u0026utm_medium=email\u0026utm_campaign=read_more)\n* [Design Patterns on iOS using Swift – Part 1/2](https://www.raywenderlich.com/160651/design-patterns-ios-using-swift-part-12?utm_source=mybridge\u0026utm_medium=email\u0026utm_campaign=read_more)\n\n\u003cbr\u003e\n\n### Table Views \n* [Dealing with Complex Table Views in iOS and Keeping Your Sanity](https://medium.cobeisfresh.com/dealing-with-complex-table-views-in-ios-and-keeping-your-sanity-ff5fee1fbb83?utm_source=mybridge\u0026utm_medium=email\u0026utm_campaign=read_more)\n* [Contacts: How to Implement UITableView Sections Intelligently (Ep 1)](https://www.youtube.com/watch?v=VFtsSEYDNRU?utm_source=mybridge\u0026utm_medium=email\u0026utm_campaign=read_more)\n\n\u003cbr\u003e\n\n### Lesson Learned \n* [14 must knows for an iOS developer](https://swiftsailing.net/14-must-knows-for-an-ios-developer-5ae502d7d87f?utm_source=mybridge\u0026utm_medium=email\u0026utm_campaign=read_more)\n* [Swift with a hundred engineers at Uber: The good, bad and ugly of rewriting Uber’s app using Swift.](http://www.skilled.io/u/swiftsummit/swift-with-a-hundred-engineers?utm_source=mybridge\u0026utm_medium=email\u0026utm_campaign=read_more)\n* [How a Designer Built and Shipped an iOS App in 6 Months](https://medium.com/sofa-blog/how-a-designer-built-and-shipped-an-ios-app-in-6-months-58258869b5fa?utm_source=mybridge\u0026utm_medium=email\u0026utm_campaign=read_more)\n\n\u003cbr\u003e\n\n### API Design \u0026 URL Routing\n* [Using Closures, generics, POP and protocols with associated types to create reusable API’s for your networking layer](https://medium.com/@jamesrochabrun/using-closures-generics-pop-and-protocols-with-associated-types-to-create-reusable-apis-for-your-a9d3468ce6b1?utm_source=mybridge\u0026utm_medium=email\u0026utm_campaign=read_more)\n* [URL Routing in iOS apps: Compass Beginner Guide](https://medium.com/flawless-app-stories/url-routing-with-compass-d59c0061e7e2?utm_source=mybridge\u0026utm_medium=email\u0026utm_campaign=read_more)\n\n\u003cbr\u003e\n\n### Machine Learning \n* [How to train your own model for CoreML](http://www.reza.codes/2017-07-29/how-to-train-your-own-dataset-for-coreml?utm_source=mybridge\u0026utm_medium=email\u0026utm_campaign=read_more)\n* [Getting started with TensorFlow on iOS](http://machinethink.net/blog/tensorflow-on-ios?utm_source=mybridge\u0026utm_medium=email\u0026utm_campaign=read_more)\n* [Deep Neural Networks in Swift, lessons learned](https://www.tooploox.com/blog/deep-neural-networks-in-swift-lessons-learned?utm_source=mybridge\u0026utm_medium=email\u0026utm_campaign=read_more)\n\n\u003cbr\u003e\n\n### Parallel Programming \n* [Basics of parallel programming with Swift](https://medium.com/flawless-app-stories/basics-of-parallel-programming-with-swift-93fee8425287?utm_source=mybridge\u0026utm_medium=email\u0026utm_campaign=read_more)\n\n\u003cbr\u003e\n\n### Scalability \n* [Building iOS Apps at Scale - Yusei Nishiyama](https://academy.realm.io/posts/yusei-nishiyama-mobilization-2017-building-ios-apps-at-scale?utm_source=mybridge\u0026utm_medium=email\u0026utm_campaign=read_more)\n\n\u003cbr\u003e\n\n### Framework \n* [Getting Started with Reusable Frameworks for iOS Development](https://medium.com/flawless-app-stories/getting-started-with-reusable-frameworks-for-ios-development-f00d74827d11?utm_source=mybridge\u0026utm_medium=email\u0026utm_campaign=read_more)\n\n\u003cbr\u003e\n\n### Keywords \n* [Swift + Keywords (V 3.0.1) - Jordan Morgan, iOS @buffer](https://medium.com/the-traveled-ios-developers-guide/swift-keywords-v-3-0-1-f59783bf26c?utm_source=mybridge\u0026utm_medium=email\u0026utm_campaign=read_more)\n\n\u003cbr\u003e\n\n### Parsing JSON\n* [Parsing JSON Just Became Super Easy in Swift 4 with Decodable](https://www.youtube.com/watch?v=YY3bTxgxWss?utm_source=mybridge\u0026utm_medium=email\u0026utm_campaign=read_more)\n\n\u003cbr\u003e\n\n### Concurrency \n* [Concurrency in Swift: One possible approach - Chris Lattner](https://gist.github.com/lattner/31ed37682ef1576b16bca1432ea9f782?utm_source=mybridge\u0026utm_medium=email\u0026utm_campaign=read_more)\n\n\u003cbr\u003e\n\n### Memory Management \n* [Make Memory Management Great Again: Swift 3 Automatic Reference Counting explained](https://medium.com/ios-geek-community/make-memory-management-great-again-f781fb29cea1?utm_source=mybridge\u0026utm_medium=email\u0026utm_campaign=read_more)\n\n\u003cbr\u003e\n\n### Managing Environment \n* [Managing different environments in your Swift project with ease](https://medium.com/flawless-app-stories/manage-different-environments-in-your-swift-project-with-ease-659f7f3fb1a6?utm_source=mybridge\u0026utm_medium=email\u0026utm_campaign=read_more)\n\n\u003cbr\u003e\n\n### Server-side \n* [Server-side Swift Using Vapor](https://academy.realm.io/posts/try-swift-nyc-tanner-nelson-server-side-swift-using-vapor?utm_source=mybridge\u0026utm_medium=email\u0026utm_campaign=read_more)\n\n\u003cbr\u003e\n\n### MacOS \u0026 iPhone X\n* [A Swift Transition From iOS To macOS Development – Smashing Magazine](https://www.smashingmagazine.com/2017/10/from-ios-to-macos-development?utm_source=mybridge\u0026utm_medium=email\u0026utm_campaign=read_more)\n* [iPhone X: Dealing with Home Indicator](https://medium.com/the-traveled-ios-developers-guide/iphone-x-dealing-with-home-indicator-2e8e47f5647f?utm_source=mybridge\u0026utm_medium=email\u0026utm_campaign=read_more)\n\n\u003cbr\u003e\n\n### Game \n* [Imagine Engine Tutorial #1: Asteroid Blaster](https://github.com/JohnSundell/ImagineEngine/tree/master/Documentation/Tutorials/1-AsteroidBlaster?utm_source=mybridge\u0026utm_medium=email\u0026utm_campaign=read_more)\n\n\u003cbr\u003e\n\n### Kotlin \u0026 React Native\n* [Comparing the Performance between Native iOS (Swift) and React-Native](https://medium.com/the-react-native-log/comparing-the-performance-between-native-ios-swift-and-react-native-7b5490d363e2?utm_source=mybridge\u0026utm_medium=email\u0026utm_campaign=read_more)\n* [Combining Swift/Kotlin with C/C++](https://academy.realm.io/posts/kowalczyk-mobilization-combining-swift-kotlin-c-cpp?utm_source=mybridge\u0026utm_medium=email\u0026utm_campaign=read_more)\n* [Kotlin vs. Swift: Are Android and iOS moving towards creating a universal language?](https://dev.to/sciencesoft/kotlin-vs-swift-are-android-and-ios-moving-towards-creating-a-universal-language?utm_source=mybridge\u0026utm_medium=email\u0026utm_campaign=read_more)\n\n\u003cbr\u003e\n\n### Testing \u0026 Debugging\n* [The complete guide to Network Unit Testing in Swift](https://medium.com/flawless-app-stories/the-complete-guide-to-network-unit-testing-in-swift-db8b3ee2c327?utm_source=mybridge\u0026utm_medium=email\u0026utm_campaign=read_more)\n* [Testing an Untested App](https://realm.io/news/cmdu-michael-may-testing-untested-app?utm_source=mybridge\u0026utm_medium=email\u0026utm_campaign=read_more)\n* [Debugging Swift code with LLDB](https://medium.com/flawless-app-stories/debugging-swift-code-with-lldb-b30c5cf2fd49?utm_source=mybridge\u0026utm_medium=email\u0026utm_campaign=read_more)\n\n\u003cbr\u003e\n\n### Animation \n* [iOS Animation Tutorial: Getting Started](https://www.raywenderlich.com/173544/ios-animation-tutorial-getting-started-3?utm_source=mybridge\u0026utm_medium=email\u0026utm_campaign=read_more)\n* [iOS: Animate TableView Updates](https://medium.com/@stasost/ios-aimate-tableview-updates-dc3df5b3fe07?utm_source=mybridge\u0026utm_medium=email\u0026utm_campaign=read_more)\n\n\u003cbr\u003e\n\n### Reactive Programming \n* [Reactive Programming in Swift: Tips, tricks and scenarios to avoid - Agnes Vasarhelyi](https://news.realm.io/news/everyday-reactive/?utm_source=mybridge\u0026utm_medium=email\u0026utm_campaign=read_more)\n* [RxSwift: Deep Cuts](https://academy.realm.io/posts/krzysztof-siejkowski-mobilization-2017-rxswift-deep-cuts?utm_source=mybridge\u0026utm_medium=email\u0026utm_campaign=read_more)\n\n\u003cbr\u003e\n\n### Algorithm \n* [Swift Algorithm Club: Swift Dijkstra’s Algorithm](https://www.raywenderlich.com/178761/swift-algorithm-club-siwft-dijkstras-algorithm?utm_source=mybridge\u0026utm_medium=email\u0026utm_campaign=read_more)\n* [Dijkstra’s Algorithm In Swift](https://medium.com/swiftly-swift/dijkstras-algorithm-in-swift-15dce3ed0e22?utm_source=mybridge\u0026utm_medium=email\u0026utm_campaign=read_more)\n* [CryptoSwift: A collection of standard and secure cryptographic algorithms implemented in Swift](https://github.com/krzyzanowskim/CryptoSwift?utm_source=mybridge\u0026utm_medium=email\u0026utm_campaign=read_more)\n\n\u003cBr\u003e\n\n### Interview \n* [50 iOS Interview Questions And Answers Part 2](https://medium.com/ios-os-x-development/50-ios-interview-questions-and-answers-part-2-45f952230b9f?utm_source=mybridge\u0026utm_medium=email\u0026utm_campaign=read_more)\n\n\u003cbr\u003e\n\n### Hacks \n* [iOS hacks from Twitter](https://medium.com/flawless-app-stories/best-ios-hacks-from-twitter-october-edition-ce253347f88a?utm_source=mybridge\u0026utm_medium=email\u0026utm_campaign=read_more)\n\n\u003cbr\u003e\n\n### Guide \n* [Swift tips \u0026 tricks](https://github.com/JohnSundell/SwiftTips/blob/master/README.md?utm_source=mybridge\u0026utm_medium=email\u0026utm_campaign=read_more)\n* [A quick reference cheat sheet for common, high level topics in Swift.](https://github.com/iwasrobbed/Swift-CheatSheet?utm_source=mybridge\u0026utm_medium=email\u0026utm_campaign=read_more)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmybridge%2Flearn-swift","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmybridge%2Flearn-swift","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmybridge%2Flearn-swift/lists"}