【まとめ】iOS 9 週連続 Bootcampを開催しました! #cm_ios9

ios9-bootcamp-info-980x400

iOS 9 週連続 Bootcampとは?

こんにちは!おおはしりきたけです。2015年9月30日(水)から11月25日(水)まで毎週水曜日クラスメソッド主催でiOS 9 週連続 Bootcampという勉強会を開催させていただきました。

日本時間9/10日のAppleのイベントでiOS 9が日本時間の9月17日にリリースされ、クラスメソッドでは、リリースの度に最新iOSに関してのブログを書いていました。iOS 7の時は70本、iOS 8の場合は200本というブログを書きましたが、iOS 9では900本ですか?という話をよく聞かれましたが、今回はブログではなく、9にちなんで、9週連続勉強会という形で開催させていただきました。

iOS 9 週連続 Bootcampではクラスメソッドのメンバーだけではなく、豪華なゲストスピーカーの方にも登壇していただき、iOS 9に関する様々なお話をしていただきました。

ゲストスピーカーの方々

  • 岸川 克己さん@Realm
  • 堤 修一さん@フリーランス
  • 酒多 優太さん@Retty株式会社
  • 北 裕介さん@株式会社メルカリ
  • 三木 康暉さん@クックパッド株式会社
  • 熊谷 友宏さん@EZ-NET
  • 佐野 岳人さん@ヤフー株式会社
  • 安達 彰典さん@株式会社Gunosy
  • 三橋 正典さん@株式会社グッドパッチ

会場

会場は、dots.さんを利用させていただきました提供していてだきました!おしゃれな会場です!

写真は開始前の会場の様子。

20151127113904

毎回大盛況でした!

IMG_4786-e1443699405102

セッションレポート

全セッションのレポートは、クラスメソッドブログに公開されています。まとめとレポートへのリンクを以下に記載させていただきます。

1週目:iOS 9 Overviewの概要編と実践編

  • iOS 9 Overview【概要編】:山本@クラスメソッド
    • Safariの閲覧サイトをPDFでiBookに保存できる!
    • フォントがSan Franciscoに変更!
    • iOS 9では、iPhone4sとiPad2が対象
  • iOS 9 Overview【実践編】:岸川@Realm
    • UIStackView へ切り替えることでメンテしやすくなりそう!
    • StoryBoradが分割できるようになった!
    • Spotlightの検索結果にサードパーティのアプリの内容を表示することが可能に!!

2週目:iOSにおけるサウンド処理&画像処理2015

  • iOSにおけるサウンド処理2015:田宮@クラスメソッド
    • Audio Unit ExtentionはiOS 9で追加されたExtentionpointで、Audio Unitをアプリ間で共有できる!
    • AVAudioSessionModeSpokenAudioは声コンテンツが他アプリの音声の妨げにならない仕組み!
  • iOSにおける画像処理2015:堤さん@フリーランス
    • GPUで高速処理されるブラーフィルタが手軽に使える!
    • Appleが大好きなブラーを使ったUIが実現しやすくなった!

3週目:Contacts.frameworkとwatchOS2

  • AddressBookからContactsへ:田中 孝明@クラスメソッド
    • RecodeIDとIdentifierには互換性がない!
    • Contacts.frameworkはiOS 9から!
  • 可能性が広がるWatchApp開発:酒多さん@Retty
    • pushすることを忘れない!!!
    • Watch App Extensionがネイティブで動くようになった!

4週目:tvOS&Search APIs

  • tvOSをさわってみよう:田中 圭介@クラスメソッド
    • TVMLとjavascriptでプログラムがかける!
    • Parallax Artworkは必須!
  • Search APIs & Universal Links :北さん@メルカリ
    • Webと連携してディープリンクを貼れる!
    • Sportlight経由などで検索可能!

5週目:MapKit & watchOS2でゲーム開発

  • MapKit Framework!!:平井@クラスメソッド
    • Flyoverは使いどころ難しいけどカッコイイ!
    • コンパスとスケールバーが表示できるようになった!
  • Apple Watch + watchOS2でゲーム開発してみた話 :三木さん@クックパッド
    • watchOS 2になっても制約は多い!
    • でも頑張ると色々できる!

6週目:UIKit & Xcode 7

  • iOS 9 の UIKit:平屋@クラスメソッド
    • UIStackView/NSLayoutAnchor/UILayoutGuideはiOS 9から利用可能
    • NSLayoutAnchorで制約を設定するコードが読みやすくなる
  • Xcode 7 の新しいところ:熊谷さん@EZ-NET
    • UIテスト、コードカバレッジ、ドキュメントコメントが便利
    • テキストの装飾やページ移動のリンクが貼れるので、のでPlaygroundコメントの可能性が広がる

7週目:Swift2.x、Scala、Haskell

  • Swift2.xをScalaから見る:安達@クラスメソッド
    • Swiftではprotocol extensionのSelfへの制約によって対象のクラスを制限できる
    • Swiftではグローバル変数や定数は自動で遅延評価される。
    • 反変 contravariant 型引数は、型引数の派生順序が反転する
  • objc2swift 〜 機械がやればいいこととエンジニアが学ぶべきこと:佐野さん@ヤフー
    • ANTLR を使って、文法ファイルを渡すとパーサーが作れる
    • optionalは長さが0または1のArray と考えると本質が見える

8週目:iOS 9とXcode 7で始めるCIとマルチタスキングを使ったiPadプロダクト開発

  • iOS 9とXcode 7で始める継続的インテグレーション(CI):諏訪@クラスメソッド
    • 最初から全部はできないからできる所からやっていこう!
    • 機械的な作業は自動化して、価値ある作業に集中しよう!
  • Swift2.0、マルチタスキングを使ったiPadアプリ開発:安達さん@Gunosy
    • 状態が多いので、QAしやすいように状態を整理するのがオススメ
    • コードでビューを制御しようとすると、いっぱい書かないとダメなのでxibやstoryboardに書くのがオススメ

9週目:奥行きを意識したプロダクト-iOS9で変わる体験

  • エンジニアとデザイナーのあいだ:横山@クラスメソッド
    • エンジニアはデザインの基礎を学ぶ、AutoLayoutから逃げない!
    • デザイナーはデザインに対する明確な根拠を持つ、IBをマスタする!
    • エンジニアとデザイナーの邪魔するものは何もない!
  • 奥行きを意識したプロダクト:三木さん@Goodpatch
    • OSから提供されている機能を理解したうえで、ユーザーに複雑と感じさせないように提供する
    • 実装を意識したデザインを行い、エンジニアとのコミュニケーションを密にとれる環境を!

まとめ

全9回開催させていただき、応募総数は1241名、参加者数は681名と多くの皆様に参加していただけたことが非常に嬉しいです。広く深く学ぶという意味でBootcampという名前で開しましたが、Bootcampという名にふさわしい勉強会だったのではないかと思っています。9週連続参加していただいた方もいらっしゃいましたし、毎回ツイートして盛り上げてくれる参加者の方、ゲストスピーカーの方、クラスメソッドのスタッフ、会場を提供して頂いたdots.さんに感謝です。次のiOSの時も何かやるので、お楽しみに!