【 大阪オフィス開設1周年勉強会 】第3回 Swiftのアツさを語る! 〜AKIBA.swift in Osaka〜 2017/4/28 #cm_osaka

http://dev.classmethod.jp/news/mobileteam-inosaka-vol-3/ 勉強会での発言をまとめました!
0
にわタコ @niwatako

いまは東京にいます。できれば東京はでたい #cm_osaka

2017-04-28 20:05:13
にわタコ @niwatako

身の上話です。 この会社に入る前は3年ほどObjective-Cで開発していました。クラスメソッドに入る前はSwift未経験。できれば一からSwiftプロジェクトに携わりたかった。 でも当時はSwift1。安定していなかった。対応OSの問題でObj-Cが多い #cm_osaka pic.twitter.com/9mC1g4tuKN

2017-04-28 20:06:24
拡大
にわタコ @niwatako

そしたらこんな広告が、察されたんか出るようになってきて、クラスメソッドに転職しました…!! #cm_osaka pic.twitter.com/9lfarDjQFp

2017-04-28 20:07:06
拡大
拡大
拡大
にわタコ @niwatako

社長が書いたSwiftの記事がバズって、エンジニアがたくさん記事を書いていると出版の打診も舞い込むように。 #cm_osaka pic.twitter.com/9FmQKtgI5I

2017-04-28 20:07:47
拡大
にわタコ @niwatako

しかし入社当時、Swiftプロジェクトは1つ。 やりたいと言い続けて、仙人でそのプロジェクトを担当できることに。そしていくつかの機能修正を担当。 前任者は、バックエンド担当になっていた。Scala・Play。Swiftをやっている人はそのうちScalaに行く? #cm_osaka pic.twitter.com/IA0Vw39rex

2017-04-28 20:08:56
拡大
にわタコ @niwatako

ここから、プロジェクトとの戦いの始まり! アジェンダです。3番めはスライドが長くなりすぎたので削りました。 #cm_osaka pic.twitter.com/ChtrGEF0vt

2017-04-28 20:09:46
拡大
拡大
拡大
にわタコ @niwatako

アーキテクチャとの接触 たったひとつのプロジェクトだが、先程の話であったVIPERを採用していました。 なかなか先進的だったのではないかと思います。 前任者が発表しています。よかったらご覧ください。 #cm_osaka pic.twitter.com/5KNUostlsB

2017-04-28 20:10:50
拡大
拡大
ダンボー田中📦 @ktanaka117

マッシブViewControllerという表記ww #cm_osaka

2017-04-28 20:11:17
にわタコ @niwatako

納期優先がおおい現場で、ViewControllerに機能が集中し、とにかく早く開発することが許容されがちな環境ながら、設計が徹底していたのが新鮮に感じた。 #cm_osaka pic.twitter.com/SdSYTvafYo

2017-04-28 20:11:50
拡大
にわタコ @niwatako

しかし一方で、CocoaPodsに対応していないライブラリはSubmodule経由でインポートしたり、設計アーキテクチャに寄ってファイルが多く、修正箇所の特定になれるまで時間がかかったりする。 使われていたライブラリの中に見慣れないライブラリが #cm_osaka pic.twitter.com/M4eTmFZKnr

2017-04-28 20:13:01
拡大
拡大
拡大
ダンボー田中📦 @ktanaka117

コーメイさんの十八番、Futur/Promiseの話 #cm_osaka

2017-04-28 20:13:31
もちゅる|リモートパパエンジニア @mothule

尊敬ほんとにほんとほんとーに大事!!!【登壇資料】エンジニアのチーム開発入門 – 心技体を磨いて自身とチームをより良くしよう #cm_osaka|クラスメソッドブログ dev.classmethod.jp/server-side/be…

2017-04-28 20:14:32
にわタコ @niwatako

前任者が入れた非同期処理ライブラリだった。 前提として、Future/Promiseという考え方がある。Swiftにはこの機構はないが、それを入れている。 APIを直列で処理したい時、前の結果を使って次の処理をする、というのがやりたかったようだ。 #cm_osaka pic.twitter.com/16dzxDaLfz

2017-04-28 20:14:36
拡大
拡大
拡大
拡大
にわタコ @niwatako

なぜ標準の機能を使わないかと聞いたら、前任者いわく、美しいということだった。 #cm_osaka pic.twitter.com/rUBU7cndtH

2017-04-28 20:15:04
拡大
にわタコ @niwatako

“たったひとつの願いを叶えるために生まれたとってもシンプルなメソッドです” 口説きにかかっていますね #cm_osaka pic.twitter.com/9zJn6fWj56

2017-04-28 20:15:42
拡大
拡大
ダンボー田中📦 @ktanaka117

たった一つの願いを叶えるために生まれた、シンプルな考え方 #cm_osaka

2017-04-28 20:16:03
にわタコ @niwatako

「なぜRxSwiftを使わないのか」 「美しいから」 #cm_osaka pic.twitter.com/jSdDYiEmUa

2017-04-28 20:16:10
拡大
🥞 @jpmartha_jp

田中さん同士でモメるのか #cm_osaka

2017-04-28 20:16:25
にわタコ @niwatako

・利用するライブラリはチームメンバーとレビューすることはヒス。 マッシブViewControllerにならないよう、アーキテクチャの導入は極力行う ・どのアーキテクチャを導入するかは、チームと納期と相談 #cm_osaka pic.twitter.com/Iz4a4yT8aL

2017-04-28 20:17:02
拡大
にわタコ @niwatako

〜Swiftとのたたかい〜 swiftを2.1にしよう Apple様がマイグレーションツールを導入してくださった。 使い方は簡単。 かと思ったら、、、、これを手動で変える必要が #cm_osaka #cm_osaka pic.twitter.com/g3lC9I4Bc1

2017-04-28 20:18:29
拡大
拡大
拡大