読者です 読者をやめる 読者になる 読者になる

try! Swift 書き起こし Swiftのエコシステムに飛び込む #tryswiftconf Day1-1

try! Swift 2016

Himotoki、Carthege、ReactiveCocoaなどを開発するikesyoさんです。

twitter.com

Swiftはこの2年のうちに非常に人気のある言語になり、いまやオープンソース化されました。エコシステムは日々拡大しており、Swiftをサポートするサービスが出てきたり、多くの開発者向けツールSwiftで書かれています。講演ではそういったツールやサービスを紹介し、それらを使ったり、貢献することをお勧めします。大きなチャンスです:-)

f:id:niwatako:20160302100038j:plain

株式会社はてなで働いています。京都に住んでいます。はてなブックマークiOSアプリ開発をしています。日本最大のソーシャルブックマークサービスです。

オープンソース・ソフトウェアのせかいでHimotokiの作者、ReactoveCocoaコミッター、Carthageの管理ツールにも関わっています。CarthageにはReactiveCocoaが使われています。またほかに依存ライブラリのメンテナンスもしています。

本題に入る前に、1月にチケットが完売しました。今日多くの人に来ていただき嬉しいです。準備頂いた皆様、来場者、スタッフ、ボランティア、全ての関係者に感謝します。

f:id:niwatako:20160302100341j:plain

Swiftオープンソース

Swiftオープンソース化され3ヶ月がたちました。 Swiftリポジトリには1500近くのプルリクエストが集まりました。

f:id:niwatako:20160302100417j:plain

Open source Swift は明後日にも発表があるので楽しみにしましょう。

Swift 関連のサービス

f:id:niwatako:20160302100450j:plain

Web上でソースを共有できる。LinuxSwiftが動いている。

f:id:niwatako:20160302100545j:plain

Herokuで動かせる

f:id:niwatako:20160302100605j:plain

IBMからKitura, サーバーレスアーキテクチャが発表発表されました。SwiftPackage Managerも。

SwiftDocというサイトではSwift標準ライブラリのドキュメントを閲覧、サイト生成用のプログラムも公開されている

f:id:niwatako:20160302100720j:plain

CI

Xcodeを利用しSwiftプロジェクトのリリースに利用できる。 Travisでは自分の端末をビルドに設定し、Lunux用Swiftもビルドできる。

コードカバレッジ

f:id:niwatako:20160302100838j:plain

HandCIでのSwiftサポートはつい最近から正式サポートとなりました。SwiftLintが利用されています。

まとめ

沢山のサービスが既に有り、オープンソースでできていて、サービス自体がオープンソース化されています。

Swift関連の開発ツール

パッケージ管理ツール

Carthageというのがあり、私はこの開発に携わっています。 f:id:niwatako:20160302101004j:plain

おなじみCocoaPodsも

f:id:niwatako:20160302101018j:plain 仕事でお世話になっています。

SwiftPackageManager

f:id:niwatako:20160302101045j:plain

Swift3後に正式版になる予定、Swift向けツール開発者はすでに対応を始めています。

SwiftXcode

f:id:niwatako:20160302101145j:plain

SwiftLintにはこの後発表のJPさんが携わっています。

f:id:niwatako:20160302101229j:plain

リソース管理

画像やストーリーボードを文字列で触るのは不安になります。それを解決するツール f:id:niwatako:20160302101349j:plain

テスト

f:id:niwatako:20160302101357j:plain

QuickもSpectreもBDDのテストフレームワーク

こういったオープンソースに貢献することについて

気に入ったら、まず使う、使うと開発者は喜びます。そしてスターを付けましょう、SNSで共有しましょう。

使っていて気になったらIssueを立てましょう。 開発者としてとても助かることです。バグ報告は再現手順や、どのように使っているか、画面キャプチャ、ログと一緒にレポートするのが望ましいです。

f:id:niwatako:20160302101608j:plain

使っているうちに他のユーザーの質問に答えられるようになるかもしれません Issueやスタックオーバーフローで回答してあげることも良い貢献です。

f:id:niwatako:20160302101639j:plain

そして最後のステップ、プルリクエストを投げてみましょう。

f:id:niwatako:20160302101655j:plain

タイポの修正、バグの修正、ドキュメントの翻訳も貢献することになります。

Swiftは世界中からの多大な貢献で成り立っています。ぜひそのエコシステムやコミュニティに参加してみてください。

f:id:niwatako:20160302101745j:plain

日々拡大するエコシステムに、いま、参加する大きなチャンスです。

f:id:niwatako:20160302101805j:plain

質問

最近で新しく貢献したいライブラリはありますか

まず一つには、まだ何もできていないが、AppleSwiftやSwiftFoundationに貢献していきたい。なかなか時間が取れていないが。チャレンジしたいと思います。

スライドの中で、ソースキッチンのライブラリの話が出ましたが、Githubのアダム(atom?)ソースエディタと使えるようにパッケージ化するということはされているでしょうか

通訳をつけていなかった。もう一度m(_ _ )m リポジトリの上では、ソースきっとデーモンでコード補完するテキストエディタのサンプルが公開されています。

Himotokiなど、利用しています。CocoaPodsは使ってもらえると、cocoapods.orgで統計が見られるが、Carthageにはそのような機能はあるか?

中央集権型管理ツールではないので、このパッケージが使われたという情報は管理されていない。Githubリポジトリでは、パルス、で、そのライブラリがどれだけクローンされたかが見られる。そこで人気の目安にはなると思う。ビルド済みバイナリの配布は数字は見えない。

ではStarすることが必要ですね

僕もStarがつくと嬉しいです。

パッケージマネージャについて、いま3つあがっていますが、今後、どれが生き残るのでしょうか。予測を聞きたいです。また発音としてCarthageはカルタゴなのかカーセージなのか。。

パッケージマネージャのツールとしてXcodeのプロジェクトを生成するようなツールをSwiftPackageManagerで提供していくという話がありました。Xcodeとの統合のファーストステップとして予定しているようだが、将来的には更に進んでXcode側が拡張されてSwiftPackageManagerを直接扱えるようになるというのが目標のよう。SwiftPackageManagerがスタンダードになっていくと思う。将来的にはCarthageは必要なくなると思われて、寂しいです。SwiftPackageManagerはまだプロジェクトファイルを生成するようななっている段階ではCarthageも生き残っていくと思っているし、CocoaPodsも手間がなく便利なツールでまだまだ使われていくと思う。

ふたつ目の質問、自分も発音はどちらか迷っているが、カルタゴと言って、こういったツールを思い浮かべるのだろうかということで、カーセージ("パッケージ" 由来である)というのがいいだろうか、と思いますが、カルタゴの方がいい安いのでしょうか。

(会場で手を上げて投票、割れる。)

好きな方で呼んでいただいて良いのではないかなと思います。

気に入った記事は はてなブックマーク

はてなブックマークアプリiOS開発チームから来ました! はてなブックマークにはSwift特集があります! 良い記事を見逃さないように、ご利用ください! http://b.hatena.ne.jp/hotentry/it/Swift

そして良いまとめ記事があったらはてなブックマークでブックマークしましょう! try! Swift の記事で盛り上がると嬉しいです!