Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Dive into Swift Ecosystem

Sho Ikeda
March 02, 2016

Dive into Swift Ecosystem

Swift became a very popular programming language in this two years and is now open sourced. Its ecosystem should be growing day by day and there are already some services those support Swift or many developer tools themselves are written in Swift. I will introduce the services and tools, and encourage you to use, participate in or contribute to them. It's a great chance to do so! :-)

http://www.tryswiftconf.com/

Sho Ikeda

March 02, 2016
Tweet

More Decks by Sho Ikeda

Other Decks in Programming

Transcript

  1. I'm a developer of ... • Hatena Bookmark for iOS

    • Popular social bookmark service in Japan, which have over 250 million bookmarks.
  2. I'm a author/contributor of ... • Himotoki: A type-safe JSON

    decoding library written in Swift • ReactiveCocoa: A framework inspired by Functional Reactive Programming • since January 2014 • Carthage: A simple, decentralized dependency manager for Cocoa (using ReactiveCocoa) • since June 2015 • also maintain the deps: Commandant, ReactiveTask
  3. !"#

  4. Topics • Open source Swift • Swift-related Services • Swift-related

    Dev Tools • Contribute to the services and tools
  5. Open source Swift • Swift.org • https:/ /github.com/apple • apple/swift:

    around 1,500 pull requests! • apple/swift-evolution • Accepted community based proposals: SE-0007, SE-0008, SE-0011, SE-0015, SE-0028, SE-0031, SE-0034
  6. Open source Swift Related Presentation • Jesse Squires • Contributing

    to open source Swift ΦʔϓϯιʔεSwift΁ͷߩݙ • Friday, March 4th, 05:00PM - 05:25PM
  7. Swift-related Services • Heroku with Buildpacks • Swift now runs

    on Linux! • kylef/heroku-buildpack-swift • neonichu/swift-buildpack
  8. Swift-related Services • Swift@IBM • The Cloud Foundry Buildpack for

    Swift on Bluemix • OpenWhisk • Introducing the Swift Package Catalog
  9. Swift-related Services • Codecov: Code Coverage • codecov/example-swift • HoundCI

    (GitHub): Linting backed by SwiftLint • Finally Swift support is out of beta, reviewed by default # .hound.yml swift: config_file: .swiftlint.yml
  10. Swift-related Services • There are many services for Swift already.

    • They are made of open source developer tools. • Many of them are also open sourced. !"
  11. Swift-related Dev Tools Package Management • Carthage • CarthageCache: “Cache

    Carthage/Build folder in Amazon S3” • Cartwheel: “A GUI for CarthageKit” • CarthageLicenseScript: “Download Licenses for Carthage”
  12. Swift-related Dev Tools Package Management • Swift Package Manager •

    A part of Swift open source projects • Will be shipped with Swift 3 in Late 2016 • Many developers are beginning to support SPM
  13. Swift-related Dev Tools Swift and Xcode • SourceKitten: Swift AST

    parser and more interacting with sourcekitd.framework • SwiftLint: Linter for Swift code, based on SourceKitten • jazzy: Documentation Generator, based on SourceKitten • SourceKittenDaemon: “Swift Auto Completions for any Text Editor”
  14. Swift-related Dev Tools Swift and Xcode • Buildasaur: “Automatic testing

    of your Pull Requests on GitHub and BitBucket using Xcode Server” • XcodeServerSDK: “Use Xcode Server's API with native Swift objects”
  15. Swift-related Dev Tools Resource Code Generation • SwiftGen: “A collection

    of Swift tools to generate Swift code” • R.swift: “Get strong typed, autocompleted resources like images, fonts and segues in Swift projects” • clg: “Supports generate clr file or code from ASE file a.k.a. "Adobe Swatch Exchange" etc.”
  16. Swift-related Dev Tools Testing • Quick: BDD framework for Swift

    and Objective-C. Also works with SPM, Linux, swift-corelibs-xctest. • Spectre: BDD framework and test runner for Swift projects and playgrounds. Compatible with both OS X and Linux.
  17. Contribute to the services and tools Use it • Developers

    would be happy if they get more users Star it • Let's add GitHub star to the repository • Approval is great! ⭐⭐⭐
  18. Contribute to the services and tools Share it with your

    follower, friends, colleagues • By Hatena Bookmark, Twitter, Facebook, Google+, Tumblr, Reddit, Digg, ... • The developer may see your comment !, and that may make him/her happy "
  19. Contribute to the services and tools File an issue That

    would be really helpful ! • Questions • Feature requests • Bug reports with the following: • steps to reproduce • problematic code of yours • screen captures • logs (if there are) • ...
  20. Contribute to the services and tools Answer questions of others

    If you have enough knowledge to the area, it's a nice contribution ✋ • Issue Tracker (GitHub, JIRA, ...) • Stack Overflow • SNS • ...
  21. Contribute to the services and tools Submit a pull request

    It's a final step you would enter ! It's really welcome to have a new contributor to its codebase • Fix typo • Improve documentations • Translate documentations into your language • Fix bugs • Add features • ...