2014年10月19日日曜日

iOS 8/Swift エンジニア勉強会@ヤフー

このエントリーをはてなブックマークに追加

iOS 8/Swift エンジニア勉強会@ヤフーのスタッフをやりました。社内ではほぼ毎週iOSやApple製品についての新しいトピックスだとか失敗・成功事例、個人的に研究しているテーマの発表まで、活発な発表と議論が行われていて、私もたまにこの集まりに参加したり発表をしたりしているのですが、いつも和気あいあい楽しんでいていいなぁと思っていました。今回はその場でたまったノウハウなどを社外の人々とも共有して交流をしようということで、大きい規模の勉強会が企画され、一度は台風で延期になったものの、昨日無事勉強会を行うことができました。

私はUstream配信を担当しました。

主催の概要と当日のプログラムはconnpassで確認できますし、どんな雰囲気だったのかを知りたいのであれば小川さんがまとめてくれたtogetterを見ると良いと思います。勉強会の実況はUstreamでも配信されていて、そのアーカイブも公開されています( 社員セッション / LT )。私も発表内容を簡単にまとめてみました。

ヤフー社員のセッション

iOS 8 / Swift 概要 平松 亮介 資料
この勉強会のキーパーソンの平松さんによる概要説明。ヤフーでは社員がWWDCに行ってきたり、社内で活発に情報交換をしていた。iOS6から7の時はデザインが一新されたが、今度はアプリ連携・UX向上・画面サイズ追加といった変更が主になっている。App ExtensionやInteractive Notificationなどの機能追加について。Swiftとその文法の簡単な紹介。Swiftはシンプルで堅牢に書けるので個人的にはとても気に入っている。

Xcode6の新機能 佐藤 新悟 資料
Xcode6でPlayground, 非同期テスト, Interface Builderのような機能が追加された。Debug View Hierarchyを使ってViewの階層構造を3Dで表示することができたり、自前ViewクラスをInterface Builderで描画できる。それぞれの機能に対して、実際Xcode6を使ったデモ。

既存アプリのiOS8対応 西 磨翁
iOS8の対応と言うと、1. 動くようにする、2. iOS8独自の機能に対応する、3. 6や6 plusのサイズに対応する、といった三つのことがあると考えていて、ヤフオク!は1と2に対応した。実際の事例をあげて、iOS8に対応するときに気をつけないといけないことを説明。例えばHeightとWidthの関係を間違って理解してると、レイアウトが崩れるなど。Widget機能を使った入札に対応するなど、新しいフィーチャーを積極的に取り入れた。

Extension(Widget) 田邉 裕貴 資料
Widgetは使い勝手が良く、場所的にも一等地。今日はWidgetを作ったことがない人でもわかるような内容。まずはHello worldを出してみる。プロジェクトを作成して、Today Extensionを追加することが簡単にWidgetを作ることができるが、詰まるところが多いのでその内容のシェアとTipsを紹介。Widgetでやってはいけないこととしてはキーボードの使用とスクロールビューの配置などがある。

Extension(Document Provider)大西 智也 資料
Document Providerで、自分のアプリに対して他のアプリがファイル操作をすることができる。Import/Export/Open/Moveの詳しい紹介。やり方はApplication ExtensionでDocument Providerを追加。自分のアプリから、画像をDropBoxにアップロードするサンプルアプリの紹介。

オトナのHomeKit 羽田 健太郎 資料
HomeKitはスマート家電とiPhoneを連携させるためのインターフェース。iPhone連携する家電になるためにはMFi(Made for iPhone)というライセンスを買わないといけない。Googleもnearbyで対抗しようとしている。実際に天気ステーションだとか、スマート鍵、スマート電球などのプロダクトが連携をしている。いい感じのムードを作る「Adult Key」のデモ。でも実際はラジオボタンが動くだけ。HomeKitで開発をやるために、経費で家を買いたいと言ってみましょうという提案。でも本人は言えてないみたい。

虚数は作れる!Swiftで学ぶ複素数 佐野 岳人 資料 / サンプルコード
学校で複素数について習うときに、仮定に基づいている概念が実際の演算に使われたりしてモヤモヤしていた。信じることを前提にしなくても、実際虚数が作れることをSwiftで試演。Swiftでシンプルに書けて、UIViewで表示できる。見てると美しい。まさに「神のクレープ」

シークレットセッション 佐々木 海
シークレットにつき内容は公開しない。

Lightening Talk

Swiftでアプリを開発した体験記 杉上さん 資料
知的好奇心を刺激するニュースアプリ、Sioriをリリースした。その開発の振り返り。Swift発表を見て、アップルの本気度を感じた。プロジェクトの半ばで、Swiftの全面採用が決まった。Swiftの良いところはやりたいことがよく書けて気持ちいいところ。

オプショナル型 長谷川智希さん 資料
Swiftで、Stringにnilは入らなくなった。nilも文字列も入れたい場合はオプショナル型として宣言しないといけない。その場合Optional<String>をつける。それを省略したのが?である。元の型として使う場合アンラップし、それを強制的にやる場合につけるのが!である。その他にも色々なアンラップの形がある。なんとなくに?や!をつけるのではなくて、きちんとロジックを理解した上でつけないと混乱してしまう。

SceneKit dsgarageさん
3Dモデルのためのキットの紹介。今まで主にUnityでゲームの開発をしてきたが、SceneKit、SpriteKitなどの便利なキットを使うと3Dモデリングが簡単になる。大変なC++実装をするより、ゲーム開発においてこのようなキットを使うと良いはず。

swift-jsonについて dankogaiさん 資料 / ソースコード
swift-JSONではなくswift-jsonである。SwiftでJsonの取り扱いを簡単にできるハンドラー。書き方もSwift風で読みやすく、タイプチェックやエラーハンドリングも簡単。

Flat Designの裏にあるもの nakajijapanさん 資料
iOS6まではスキュモだったが、iOS7ではフラット化。ただ、Appleは自分たちのデザインをフラットデザインとは呼んでいない。あくまでもiOSのためのデザイン、コンテンツを重視したデザインとしている。デザインは人々の進化や習熟度によって変わってきた。デザイン思想としてMaterial Honesty, Minimalismを紹介。「Material Honesty」という考え方は、工業製品は素材を重視し、装飾ではなく機能に従ったデザインをすべきというもの。

カスタムキーボード niwatakoさん
外部接続のデータスキャン機構をSDKを使わず他のアプリに提供するために、カスタムキーボードを使ってみた。カスタムキーボードでバーコードを入力し、その結果をSafariに渡して検索するアプリの紹介。カスタムキーボードでゲームするなど、無限の可能性があると思う。ただAppleの審査が通るかどうかはまだわからない。

参加してくださったみなさん、ありがとうございました。そしてスタッフのみなさん、お疲れ様でした。また社内・社外で面白い話が聞けることを楽しみにしています。

クリエイティブ・コモンズ・ライセンス

0 件のコメント:

コメントを投稿