View
460
Download
1
Category
Preview:
Citation preview
HOME’S アプリ Swift 化株式会社ネクスト池田 和洋
池田 和洋いけだ かずひろ
iOS 開発 G開発 :
Web 、 API 、 R&D 、 iOS(PHP 、 JS 、 AWS 、 C++ 、 OpenCV 、 C#
Objective-C 、 Swift)
サービス・プロダクト :HOME’S
GRID VRICKHOME’S アクセシビリティ対応版
目次● HOME’S アプリ● Swift 化● 実際どうなの?
( 特徴・共存・チーム )
● さいごに
HOME’S アプリ
HOME’S アプリ● 総合不動産情報アプリ
● 3 デバイス対応● やることリスト、見学メモ
● Rich Notification 対応● Sticker 対応
HOME’S アプリ● 2009 年 12 月 24 日 初リリース● 2015 年 9 月まで全て Objective-C● Swift 化の開始
0 1 2 3 4 5 6 7 8 9 10 11
ver.1 ver.2ver.3
- 新しいことやりたい- 危機感
Swift 化● ソースコード量大● 一括は非現実的● 段階的に移行
- 新機能は Swift- extension を活用して一部 Swift- リファクタリング
特徴
Swift● WWDC2014 で発表● WWDC2015 でオープンソース化発表
● 現在最新は Swift3.0( 互換性ないよ! )
● Objective-C より 2.6 倍高速(Apple 調べ )
※HOME’S は Swift 2.3 対応済み、 Swift 3.0 対応中
Swift 化のメリット● タイプセーフ , 型推論● Enum, Struct, Generics
● case, Trailing Closure Syntax
- 実行時に気づくエラーを減らせる
- 柔軟な設計ができる
- 可読性が上がる
Swift 化のデメリット● アップデートが頻繁にある● 影響が大きいアップデートがある
Swift 3.0 破壊的…
Swift 化● 大きな改変は大変● 反面、様々なメリットもある
共存
Objective-C との相互連携Swift Objective-C
● Bridging-Header.h● 必要なファイルを import
Objective-C との相互連携Swift Objective-C
● [ プロダクト名 ]-Swift.h● 実装ファイル (.m) 上で import
Objective-C との相互連携Swift Objective-C
● @class [ クラス名 ]● ヘッダファイル (.h) 上で宣言
Objective-C との共存Swift Objective-C
● nullable, nonnull
Objective-C との共存Swift Objective-C
● (Enum, Generics,) Struct, Tuple
Objective-C との共存● 連携は簡単● 気をつけることはあるが、運用できる
チーム
意思統一● コーディング規約● SwiftLint参考: https://github.com/github/swift-style-guide
スキルアップ● 社内勉強会
クイズゲームを作る● 全く慣れていないメンバーが慣れる● 「家賃相場クイズ」を作る
● 元々あった機能を Swift で書き直し
簡単な HOME’S を作る● 実践編として実施● 実際の API を活用し、検索機能を作る● 具体的なイメージに繋がった
チーム● コーディング規約 & Lint で設計の意識統一● 設計の意識統一も必要
● スキルアップは実践!実践!実践!
実際どうなの?
所感● Swift 化を進めてよかった!
● 新しいことを実践で取り入れられる● nil 等に対する意識、設計への意識の変化
● チーム連携● スキルアップに繋がる
さいごに
ネクストのエンジニア● 自ら考え、自ら作る● 様々な挑戦の機会がある● フランクなコミュニケーション
ネクストではエンジニアの募集を行っています。興味お持ちの方は是非採用サイトよりエントリーください。【募集職種】・ Web エンジニア・ iOS エンジニア・ Android エンジニア・セキュリティエンジニア・ QA エンジニア
ご静聴ありがとうございました
Recommended