Slide 1

Slide 1 text

Dive into Swift Ecosystem SwiftͷΤίγεςϜʹඈͼࠐΉ @ikesyo (Syo Ikeda) #tryswiftconf

Slide 2

Slide 2 text

@ikesyo • Syo Ikeda • ஑ాᠳʗ͍͚͠ΐʔ • Living in Kyoto, Japan • Working at Hatena Co., Ltd.

Slide 3

Slide 3 text

I'm a developer of ... • Hatena Bookmark for iOS • Popular social bookmark service in Japan, which have over 250 million bookmarks.

Slide 4

Slide 4 text

No content

Slide 5

Slide 5 text

No content

Slide 6

Slide 6 text

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

Slide 7

Slide 7 text

No content

Slide 8

Slide 8 text

No content

Slide 9

Slide 9 text

!"#

Slide 10

Slide 10 text

No content

Slide 11

Slide 11 text

Topics • Open source Swift • Swift-related Services • Swift-related Dev Tools • Contribute to the services and tools

Slide 12

Slide 12 text

Open source Swift

Slide 13

Slide 13 text

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

Slide 14

Slide 14 text

Open source Swift Related Presentation • Jesse Squires • Contributing to open source Swift ΦʔϓϯιʔεSwift΁ͷߩݙ • Friday, March 4th, 05:00PM - 05:25PM

Slide 15

Slide 15 text

Swift-related Services

Slide 16

Slide 16 text

Swift-related Services • Online Code Editor • IBM Swift Sandbox • paiza.IO

Slide 17

Slide 17 text

Swift-related Services • Heroku with Buildpacks • Swift now runs on Linux! • kylef/heroku-buildpack-swift • neonichu/swift-buildpack

Slide 18

Slide 18 text

Swift-related Services • Swift@IBM • The Cloud Foundry Buildpack for Swift on Bluemix • OpenWhisk • Introducing the Swift Package Catalog

Slide 19

Slide 19 text

Swift-related Services • Online Docs • SwiftDoc.org (GitHub) • CocoaDocs (GitHub): Based on appledoc and jazzy

Slide 20

Slide 20 text

Swift-related Services • Continous Integration • Travis CI • CircleCI • Bitrise • Greenhouse CI

Slide 21

Slide 21 text

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

Slide 22

Slide 22 text

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

Slide 23

Slide 23 text

No content

Slide 24

Slide 24 text

Swift-related Dev Tools

Slide 25

Slide 25 text

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”

Slide 26

Slide 26 text

Swift-related Dev Tools Package Management • CocoaPods (GitHub) • Framwork and Swift Support since 0.36

Slide 27

Slide 27 text

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

Slide 28

Slide 28 text

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”

Slide 29

Slide 29 text

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”

Slide 30

Slide 30 text

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

Slide 31

Slide 31 text

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.

Slide 32

Slide 32 text

Contribute to the services and tools

Slide 33

Slide 33 text

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! ⭐⭐⭐

Slide 34

Slide 34 text

No content

Slide 35

Slide 35 text

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 "

Slide 36

Slide 36 text

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

Slide 37

Slide 37 text

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

Slide 38

Slide 38 text

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

Slide 39

Slide 39 text

Conclusion

Slide 40

Slide 40 text

Swift consists of such great contributions from various communities around the world !

Slide 41

Slide 41 text

Let's join the ecosystem and the communities

Slide 42

Slide 42 text

It's a great chance to do so!

Slide 43

Slide 43 text

Have nice days of try! Swift ✨

Slide 44

Slide 44 text

Thank you ͋Γ͕ͱ͏͍͟͝·ͨ͠ !