Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

SwiftでSioriを開発した体験記

31,074 views

Published on

SwiftでSioriというニュースアプリをどのように開発したのかというお話です。iOS8のリリースにあせて開発を行い、UIUXにこだわった裏側をお見せします。

アプリのダウンロードはこちら
https://itunes.apple.com/jp/app/wired-vicenadono-hao-qi-xinwo/id913849903?mt=8

Published in: Mobile
  • Be the first to comment

SwiftでSioriを開発した体験記

  1. 1. Swift LT @Wantedly Swiftでアプリを開発した体験記 2014-10-16 yohei sugigami
  2. 2. 杉上 洋平 (スギガミ ヨウヘイ) Twitter / GitHub @susieyy iOSエンジニア長い 6月からWantedly Join
  3. 3. 9月17日 iOS8 Day1 Sioriリリース
  4. 4. Siori 1.リリースはiOS8と同時(期間タイト) 2.開発はBeta版のSwift&Xcode&iOS8 3.チャレンジングなUIUX
  5. 5. どM感漂う 楽しい開発でした (́・ω・`)
  6. 6. DEMO
  7. 7. 開発スケジュール 6月2日 iOS8 Swift発表 7月中旬 開発開始 9月上旬 申請 6月1日 Wantedly入社 ・7月中旬からプロタイプ作成 ・8月から本格開発 ←2ヶ月弱→ 7月末 Swift採用決定
  8. 8. 開発体制 3名 スーパーエンジニア新米エンジニアスーパーデザイナ ディレクション iOS (Swift) Server (Rails) iOS (Swift) だけ汗 デザイン iOS (Swift) !
  9. 9. みんなでSwiftコーディング
  10. 10. プロジェクトが始まる前 6月~7月中旬 6月7月8月9月
  11. 11. センセーショナルなSwift発表 Appleの本気が伝わってくる
  12. 12. まずは勉強&情報収集 勉強会を開いてSwiftの知見を みんなでディスカッション Swiftに関心があるエッジの 効いた人たちが参加してくれ たので濃ゆい情報交換が できました
  13. 13. 調べたことをアウトプット Qiitaにアウトプット Swiftの記事18本 コメント欄で議論して 助け合い
  14. 14. Swift力がついたのは Swiftでつながった人たちのおかげ
  15. 15. Swift楽しいね 次のプロジェクトで使いたい!
  16. 16. 新規プロジェクト発足 7月中旬~末 6月7月8月9月 Swiftで開発は決まってませんでした
  17. 17. プロトタイプをSwiftで作ってみる 試作1号 アニメーションもするよ 今のデザインとは全然違うw
  18. 18. プロトタイプをSwiftで作ってみる 試作2号 Railsサーバと通信もするよ このころは記事を見るのは 縦スクロールでした (今は横) RestKitを検証 -> OK
  19. 19. 仕様策定とプロタイプ 期間にSwiftを検証 行けそう! Swift採用決定! 7月末 あと残り1ヶ月ちょっと
  20. 20. 本格開発 8月~9月上旬 6月7月8月9月
  21. 21. 8月中旬 UXの飽くなき追求 UXの変更とInteractive Transitionの活用
  22. 22. Beta版のXcode&iOS8 &Swiftに悩まされる
  23. 23. Beta版のXcode&iOS8&Swiftに悩まされる ・問題が発生したときにXcode, iOS8, Swiftの  どのレイヤーの問題か切り分けが必要  全部Beta それぞれ安定しないし挙動がおかしいw ・Xcodeがよく落ちる !・シンタックスハイライト&入力補完が  よく効かなくなる
  24. 24. Beta版のXcode&iOS8&Swiftに悩まされる ・XcodeBeta1からBeta7までアップデートする  度に大量のコンパイルエラー ! ・PureSwiftライブラリがBetaバージョンアップの対応を  待てないのでPureSwiftライブラリを諦める ! ・ObjCライブラリも一部動かない  iOS8 or Swift(予約語とバッテイング) !・デバッグ時に変数の値がまったく見えない
  25. 25. Swiftでよかった点
  26. 26. よかった点 他の言語をよく研究されて作られたモダ ン言語はやりたいことがより書ける 書くのが気持ちいい! ! 関数ファーストクラス、クロージャ、タプ ル、タイプインターフェース、プロトコル 拡張、型推論、Generics
  27. 27. よかった点 コード量がObjCに比べて60%ぐらい   Swiftは表現力が高いので端的に記述でき る、可読性も高くコードリーディングし やすい
  28. 28. よかった点 強力なEnumによる状態管理と Switchによるパターンマッチング (状態分岐処理) ! 各状態のロジックをEnumに記述 できるので局所化できる
  29. 29. よかった点 SwiftとObjCの共存した開発が可能 ! 最悪Swiftでどうにもできない部分はObjC で記述すればいいという安心感 ! 一番困るのは #define, マクロを駆使したライブラリ Swiftから見えない部分はObjCでラップ
  30. 30. 困っていること
  31. 31. Swiftもサポートされたけど ちゃんと動いてない?!
  32. 32. Xcode6.0でSwiftはv1.0になったが ! Xcode6.1 Betaでは Swiftの仕様がまた変更されて コンパイルエラーが出る ! 飽くなきドラスティックな Swift言語の改善 素晴らしいですね!
  33. 33. Swiftの学習
  34. 34. ObjC経験者 iOS SDKの知識があれば参入障壁は低い 学習曲線も初期の段階から伸びていきやすい ⇒ 楽しい! 小さめのコードリーディングがおすすめ matttさんのAlamofire https://github.com/Alamofire/Alamofire
  35. 35. iOS初心者 モティベーションで乗り切る! 外的要因の問題 ・情報&サンプルコードが少ない ・ネットではBeta情報が入り乱れる ・ベストプラクティスの模索 ・問題発生時の解決も自己解決する  必要性
  36. 36. チームで導入するなら 設計方針、コーディング規約など 共通認識がないと記述に多様性が あるので統一しにくい PullReqによるコードレビューで担保 してました
  37. 37. Swiftコーディング規約@Wantedly
  38. 38. まとめ ★ Swiftの開発は楽しい! ! ★ Swiftの知見や困ったことは Online/Offline共に情報共有 ! ★ Swiftでアプリは作れる!
  39. 39. iOS, Android Rails エンジニア 募集中 ` 興味がある方はこちらからご連絡ください hiring@wantedly.com こちらからでもOKです 新しい技術にどんどん挑戦したい モバイルエンジニア・ウォンテッド!!

×