O slideshow foi denunciado.
Utilizamos seu perfil e dados de atividades no LinkedIn para personalizar e exibir anúncios mais relevantes. Altere suas preferências de anúncios quando desejar.

SwiftでSioriを開発した体験記

31.634 visualizações

Publicada em

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

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

Publicada em: Celular
  • Seja o primeiro a comentar

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です 新しい技術にどんどん挑戦したい モバイルエンジニア・ウォンテッド!!

×