AKIBA.swift×Swift愛好会を開催しました! #love_swift #akibaswift

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

はじめに

こんにちは!
モバイルアプリサービス部の田中孝明です。

8月29日月曜日にレバレジーズ株式会社様にてAKIBA.swift×Swift愛好会が開催されました。

今回はSwift愛好会様が快く引き受けてくれたことで、コラボ開催と相成りました!

弊社の方でも別途ブログにて告知しました。

台風10号が史上初の挙動をしたとのことで、開催されるかヒヤヒヤしましたが、無事執り行われました!

過去の開催についてはこちら。

AKIBA.swift を開催しました! #akibaswift
第二回AKIBA.swift を開催しました! #akibaswift
第三回AKIBA.swift を開催しました! #akibaswift
「AKIBA.swift 第4回」を開催しました! #akibaswift

乾杯

Swift愛好会様の醍醐味は何と言っても乾杯からの談義!
代表の七島 偉之さんの乾杯の挨拶で一気にヒートアップしました! IMG_4503

談義1:「UIライブラリを作ったので紹介」 廣瀬 雄大(hirose_yudai)さん

IMG_4511
Swift愛好会常連の廣瀬 雄大さんから自作のUIライブラリの紹介をいただきました。
Kaeruという自作ライブラリでiOSのタスクマネージャライクの画面遷移を実現しています。
ライブラリ開発のモチベーション向上のために、是非スターをあげてください!

談義2:「UITableViewとのSwiftyな付き合い方を考えてみる」takasek さん

IMG_4512
takasekさんからUITableViewをSwiftyなコードにするにはどうすればよいのかを発表いただきました。
値付きEnumをつかった手法、CellのidentifireをClass名を同じにして共用化する方法など、試行されていました。
TableViewに関しては様々な方々がライブラリ開発に挑戦されている分野でもあるため、Twitterのタイムラインでも話題が持ちきりでした。

談義3:「チーム開発にSwiftLintを導入してみた ・詳細版」 ikamooon さん

IMG_4516

ikamooonさんからチーム開発にSwiftLintを導入した際の話を共有いただきました。
potatotipsで発表された内容の詳細版とのことで、Xcodeに導入する方法、Jenkinsの静的解析するファイルにymlファイルを入れる方法、 メンバーに周知する方法などを共有いただきました。
導入することでコードレビュー前に治せたり、好みから生じる摩擦を減らしたとのことでした。

談義4:「進化を続けるSwift/iOSに追随し続けるために」 田畑 浩平(kohei_tabata)さん

IMG_4517

田畑さんから変化し続けるiOSに柔軟に対応していく方法を共有いただきました。
protocolを利用した実装の抽象化したり、必要に応じて必要な分だけライブラリをつかうことで共用化したり、テストを追加することでOSの変化による挙動の変化に素早く検知することが実感できたとのことでした。

談義5:「Swiftで便利なライブラリやUIパーツに工夫を凝らしてUIを彩るサンプル例(ライブラリ選定とベース作成)」 酒井 文也(fumiyasac) さん

IMG_4521
Swift愛好会ではUI番長の名で通っている酒井 文也さんからUI作りを楽しむためのUIライブラリの選定方法とその実践方法を共有いただきました。
iOS Cookies などでUIライブラリを探し、そんな中でいいなと思ったのをピックアップし、ご紹介いただきました。
Storyboardと相性がよさそうなもの、綺麗な動きやモーションを使うものを選定されていました。
ただ、複数ライブラリを選定することで、依存関係の解決等に必要以上の工数がかかったりするので注意が必要とのことでした。

資料はQiitaにまとめられています

サンプルはこちらです

談義6:「LLDB の世界からみた Swift」dealforest さん

IMG_4522

iOSDCで発表され、ベストトーク賞を取られたdealforestさんからLLDBでSwiftのコードデバッグをする方法という大変濃い内容で発表をいただきました。
既存のSwiftのコードが動かないことや、1命令1行でしか実行できないことなど、色々なバッドノウハウとデバッガの可能性を示していただきました。

談義7:「Objective-Cのプロジェクトをリニューアルを機にSwift移行し始めた話」marty-suzuki さん

IMG_4526

755アプリでも知られているmarty-suzukiさんからSwiftとObjective-C相互の互換を意識したコードの書き方を共有いただきました。
Objective-CからSwiftのコード利用するために型の宣言を意識したり、Bridging-Headerの定義が循環参照しないようにしたり、Objective-Cで利用できないStructを利用できるようにNSObjectを継承させたりと、貴重なノウハウを数多く共有いただきました。

談義8:「Swift 3 を書くときに知っておきたい API デザインガイドライン」熊谷 友宏(es_kumagai)さん

IMG_4535


熊谷さんからAPI デザインガイドラインの3.0からのAPIデザインガイドラインの破壊的変更をおさえて、素晴らしいAPIを書くためのノウハウを共有いただきました。
発表に関しては膨大な資料から要点だけ抽出されており、完全版として非常に内容の濃い資料を共有いただいています。
3.0を適用することで重複するAPI定義に関しては@swift3_migrationを活用するなど、

まとめにも記載されていますが

* 英文をイメージして書きましょう
* 引数ラベルの使い方が見直された
* 場面ごとの命名方法が示された

このことで

* 既存コードへの影響範囲は大きい
* 統一感が出て読みやすくなる
* 指針ができ、書くときの悩みが低減

とのことでした。

談義9: CAshapeLayerの塗りつぶしルールでちょっとリッチな描画をしよう

IMG_4550


最後は弊社の田中からCAshapeLayerの塗りつぶしルールについて、駆け足でしたが発表していただきました。
塗り潰しの描画のルールの説明などを詳解されていました。
時間の関係で説明不足の部分はブログを参照してくださいという弊社伝統の技法も披露しました!

最後に

ご来場頂いたスピーカーの方々、参加者の皆様、ご足労いただきまして大変恐縮でした。
今回コラボを快く引き受けてくださいましたSwift愛好会様、本当にありがとうございました!
会場を提供していただきましたレバレジーズ株式会社様、本当にありがとうございました!

AKIBA.swiftでは今後も様々なゲストスピーカーの皆様と盛り上がれるような会にしていきたいと思いますので次回開催の際は是非お越しください!
※主催者様のお名前の記載に誤りがございました。謹んでお詫び申しあげます。。。

バックナンバー

AKIBA.swift を開催しました! #akibaswift
第二回AKIBA.swift を開催しました! #akibaswift
第三回AKIBA.swift を開催しました! #akibaswift
「AKIBA.swift 第4回」を開催しました! #akibaswift