入館受付は 19:00 ~ 19:45 まで です。オフィスフロア入口(11F)にお越しください。
オフィスフロア入口(11F)オフィス総合受付の側に本イベント用の特設受付を設置しています。
そちらで connpassの受付番号 を提示後、受付の案内に従ってください。
名刺を2枚持って、受付で渡してください。
※持っていない場合は受付にて必要項目への記入でも構いません
※ヒカリエビル内の地下フロアB3FやJRとの連絡通路がある2Fなどに、11Fへの直通エレベータが数ヶ所設置されています。
19:45 以降に入場される方については、11Fの総合受付にて入館手続きをお済ませいただき、21F会場まで直接お越しください。
名刺をお持ちでない場合は顔写真付きの身分証があれば手続き可能です。
※本会場は、技術者支援プログラム「DeNA TECH STUDIO」の支援を受けて運営しています。
◆ DeNA TECH STUDIOとは?
DeNAでは 世の中の技術向上に貢献する 勉強会やイベントを積極的に支援してまいります!
具体的には、会場提供、開催費用負担、事前準備・当日の運営サポートをDeNAが担当します!
https://denatechstudio.connpass.com/
Track A | Track B | Track C | |
---|---|---|---|
19:00 | 開場 | ||
19:15 | 会場説明 | ||
19:28 |
|
|
|
19:48 |
|
||
20:08 |
|
||
20:45 |
|
||
21:25 | 懇親会 | ||
22:50 | Closing |
Track A | Track B | Track C | |
---|---|---|---|
19:00 | 開場 | ||
19:15 | 会場説明 | ||
19:25 |
|
||
19:45 |
|
|
|
20:05 |
|
|
|
20:40 |
|
|
|
21:25 | 懇親会 | ||
22:50 | Closing |
iOSアプリケーションの高速化においてメインスレッドをブロックするUIの描画コストは無視できない問題です。
日経電子版アプリでは非同期なUI描画を実現するTexture(AsyncDisplayKit)を導入し、大量のテーブルをスムーズに描画しています。
本セッションではTextureの検討から具体的な導入ステップ、導入にあたって遭遇したトラブルと対応方法について紹介します。
「2017年に登場した iPad Pro では、従来一般的であったリフレッシュレートの 60Hz ではなく、最大 120Hz で描画が可能になりました。高いリフレッシュレートを保ちながら、UIをなめらかに更新できるアプリケーションの実装は、ますます重要になると考えられます。」 |
スクラムに関する情報と書籍は世の中に溢れています。もし、間違った解釈によってエンジニアがより少ない情報・短い時間での開発を強いられるとしたら、改善をする必要があります。このトークでは、スクラムの原論文と言われる"The New New Product Development Game"を読み解き、エンジニアの成長を促すような環境と組織に利益をもたらす開発の両立を目指すための活動について話します。
「「スクラム」というワードがバズワードのように広まって久しいです。その中で、改めてオリジナルに立ち返って見つめ直すというのが重要な時期に入っていると思い、採択しました。」 |
AppleDeveloperProgramに、BugReporterがあることを知っていますか?開発中に見つけたiOSの不具合やドキュメントのミスなどを、Appleに報告するツールです。ネット上にはレポートの書き方を紹介している記事がいくつかアップされていたりしますが、Appleにレポートを送るなんてハードルが高く感じて躊躇ってしまいませんか?一度送ってしまえばもう怖くないはず。iOSDCでBugReporterデビューしましょう。
「みんながもっとすれば良いことを推奨しようとするセッションなので良い」 |
継続的に開発していく上で、テストは非常に重要です。意図しない影響を防ぎ、毎回のレビューの負荷を大きく下げます。一方で、テストがない複雑なコードはすぐにブラックボックス化し、変更もレビューも大変になります。しかし最初からテストを書くことは難しいことも多く、テスタブルなコードでないこともあります。そのような場合でも、大幅な書き換えをすることなく、最小限の負荷でテストを書いていくさまざまなテクニックを、私の経験から実例を用いて解説します。
「今ブラックボックスのようなコードを見たりしているので、テストを書くのが難しく感じます。そこにテストを書いていくテクニックをぜひ知りたい」 | |
「ちょうど苦しんでいるのでめっちゃ聞きたい。テストの無いコードがすでにある状況で、どこからどんなふうに入れていくかという判断は経験のなせる技なので、それを聞きたい。」 | |
「テストがないプロジェクトで、現在テストを書くのに苦しんでいるので、実際の経験を踏まえたテストを書いていくテクニックを知りたいため推薦させていただきました」 | |
「現実的でかつ大事なのでw」 | |
「新規に開発を始めるときに、どの段階からどれくらいテストを書くかをいつも悩んでいます。おそらくこのトークにはそのあたりの実践的な知見が詰まっていると感じたため。」 | |
「まさによく悩む部分であり、タイトルから毎日の開発に役たちそうだと思いました。」 | |
「最初からテストが書かれてないコードに手を入れるときは一ミリもテストを書こうとは思はないので、その態度を改めるために参考にしたい。」 |
Swiftで書かれたOSSのBDD FrameworkとしてQuickがあります。
Quickは独自のDSLによりテストを構造化できていますが、それをSwiftでどのように実現しているのでしょうか?
本トークでは実際のソースコードを元に、Quickがどのような仕組みで構造化されたテスト・DSLを実現しているのか解説します。
「Quickで行ってるテストの構造化をどのように考え、作っているのかを知りたい」 | |
「QuickはXCTestとは異なるDSLで実装されています。 そこには異なるライフサイクルがあって、異なる思想があって、それを追うのは新しいプログラミングパラダイムに触れることになります。 新しいパラダイムに触れるのはとてもワクワクするので、選定しました!」 |
|
「枯れた技術を仕組みから説明しようという感じが良い」 |
アプリ開発と言うとほとんどがAndroid・iOS両OS開発するシーンがほとんどかと思われます。
その中でiOSでは容易に実装できるけどAndroidではキツイ!と言う実装やその逆のパターンも数多くあります。
本セッションではAndroid実装を考慮するとiOSでやってはいけないアンチパターンを両0S開発の経験を基にお話しします。
「最近個人的に、Material Designを勉強したり、Androidエンジニアと設計議論をすることが増えてきました。その中で痛感したのは、俺Androidのこと全然知らないんだなぁということです。普段使いのデバイスもiPhoneなので、なかなか実感を持ってプラットフォームの違いに気付くこともできません。なので是非是非聞きたい!」 |
「このトークは登壇者病欠のため中止となりました。」 |
昨年4月頃、それまで社内で抱えてたいくつかの問題を解決するために全アプリ開発チームでReduxの導入を決定しました。その後会員系アプリから銀行系アプリまで10個弱のアプリ開発が行われてきました。今回はそれらを通して得られたナレッジを話せる限り話そうと思います。
現在予定している内容
等
「Reduxは、MVC,MVP,MVVMなどと比べても発想の切替が必要なアーキテクチャですし、iOSでの活用例はまだそこまで多くはありません。すでに10個弱のアプリ開発経験をもとに話される、使い込んでいるからこその話は必聴なのではないかと思い採択しました。」 |
動画や配信サービスの流行している昨今、iOSアプリ側で動画のデコードする需要は大きくなりました。
このセッションではiOS上でVideoToolbox.framework,AudioToolbox.frameworkを使い、mp4のh264/avc・aacをデコードする手法を紹介します。
低レイヤーAPIを利用することで独自の暗号化をかけたり、パフォーマンスやカスタマイズ性の高いデコーダーを実装することができます。
「画像やJSONをどう扱うかはこれまでたくさんの知見が共有されてきましたが、動画は業務で触れてみないと知見が得られにくい領域です。mp4をデコードするだけでなく、暗号化やパフォーマンス面に考慮してカスタマイズを行なっており、ぜひ聞いてみたいと思いました。」 |
アプリがクラッシュするとデバイス内にもクラッシュログが残ることをご存知でしょうか。ただ、そこには16進数のアドレスが並んでいるだけの場合もよくあります。本トークではそのアドレスをメソッド名に変換するツールを紹介し、それがどのように動作するのかを解説します。うまく変換できない原因を取り除けば、それはハッピーシンボリケーション!
●話さないこと:クラッシュログの読み方・クラッシュログを活用したデバッグ手法
「近年、クラッシュログの内容がよくわからないまま迷宮入りする悲しい事件が後を絶ちません。そんなクラッシュログを救いたいという思いから、採択させていただきました。」 |
UIWindowが複数存在する場合、preferredStatusBarStyleやprefersStatusBarHiddenが呼ばれるViewControllerはどのWindowから選ばれるかを、調べた限りの情報で説明します。
かなり独特のロジックになっており、コントロールするのもかなり難しいです。
「複数のUIWindowを切り替える実装は、私も経験がありますが、Apple公式でもネット情報でもなかなかまとまったベストプラクティスが見当たりませんね。普通のViewControllerベースのライフサイクル管理とは違う注意点が多いなと感じます。StatusBar周りは意識したことがなかったので、どんな知見が得られるのか楽しみです。」 |
普段の業務の中ではどうしてもリリース優先になってしまい、
リファクタリング等の改善活動になかなか時間を割けていない方も多いのではないでしょうか?
弊社では毎月2日間、継続的に開発できるよう開発環境の改善を行っています。
おかげで今ではテストコードを用いたテストができるようになりました。
今回はその中で効果のあった改善施策と、その改善活動をチーム全体で推進するためのポイントについてご紹介します。
「「開発環境を改善したい」という思いはあってもなかなか進められない理由のひとつは、やるべきことが多すぎて、どこから手をつけるのが効果的かわからないことにあるのではないでしょうか。泥臭い現場の話、価値が高い知見だと思います。」 |
巷で噂となっているPinterestによって開発されている、UIが猛烈に高速化されるTexture(AsyncDisplayKit)ですが、
非常に巨大なフレームワークであり、UIKitをラップする形でAPIが提供されています。
既存のアプリで「UIが重い!Textureを入れて速くしたい!」「でも途中から導入できるものなの?」という問題に対し、
実際のところ、導入は可能なのか?どのように?についてお話しします。
「パフォーマンスが劇的に向上すると噂のTextureを自社アプリにどのように導入していけばいいのかきになるため」 |
近年、アプリの複雑化に伴ってiOS界隈でもテストの機運は高まっています。
しかしどんなテストをどうやって書いていけばいいかわからず、一歩を踏み出せない人も多いのではないでしょうか。
このトークでは、iOS開発でよく目にするロジックに対して、まず一歩目として、ユニットテストをどう入れていくかのサンプルを、コードとともに紹介していきます。
テスト技法やなぜそこにテストを書くのかなども紹介しようと思います。
「どうやってテストを導入するかという最初のステップを知るということは非常に重要であり、それをSwiftを使ってというのは珍しいので是非とも聞いてみたい。」 |
アトミックデザインは、デザインコンポーネントの共通化により開発プロセスの効率化を図るためのフレームワークです。Wantedly VisitのiOS Appでは、このフレームワークを導入し、開発の効率化とデザインの一貫性を向上させることができました。このトークでは、具体的にどのようにコンポーネントを分類し、どのようにプロセスを回していったかについて、実際に作成したコンポーネントと共にご紹介します。
「iOSアプリでどういう規則でコンポーネントを定義しているのか気になる それぞれのレベルの境界が曖昧なものもあるため他の場所でどうやっているのか聞いて参考にしたい」 |
今の自分の姿に飽きていませんか?
このトークではiPhoneを通じて、あなたを俗世から解放し、バーチャルな世界で生きるための技術について紹介します。
「iOSは、iPhone X につづいて顔認識が可能なカメラシステムを搭載するデバイスが次々と発売されることが予想されており、世界で最も、軽率に「バーチャル受肉」が可能なプラットフォームになる可能性があります。iPhoneでコスプレする技術の知見は、今後一定数のiOS開発者にとって大きな意味を持つと考え、採択させていただきました。」 | |
「かわいいアイドルになりたい」 |
モーダル遷移、プッシュ遷移のどちらを利用すべきか明確に説明できますか?モードについての考え方は、OSアプリを構成する重要な要素です。デバイスの大画面化やApp上のタスクの複雑化に合わせて、標準アプリも新しいモーダルデザインが導入されています。このトークでは、モードについての基礎的な考え方から、昨今の進化したモーダル/モードレスデザインについて「Wantedly Visit」での実例を交えながらご紹介します。
「なんとなくで判断していた、モーダルとプッシュの使い所を知ることができると思った。モードの基礎あたりから説明してもらえるので理解が深まりそう」 |
色んなアプリを使っていて「メニューがなぜモーダル表示?ドロワー表示の方が良いのでは?」など、UIに疑問を覚えたことありませんか?
しかしUIを考える側になってみると、ユーザからUIの指摘を受けるなんてこと、よくあるのではないでしょうか。
私はWWDC18に参加してAppleのデザイナーに直接質問してきました。そこで得た知見をもとに「〇〇の場合に理想的なUIは△△ではないか」という話をしたいと思います。
「Appleのデザイナーに直接聞いた話聞きたい!」 | |
「どこに何を配置すればよいかの自分の中で根拠を持っていないためUI設計は常に悩みの種となっており、UI設計時のヒントが欲しいと思いました。」 |
多くのサービスは縦や横に固定したアプリではないでしょうか。
iOS8から「Adaptive User Interface」という考え方が取り入れられ、
解像度の異なるデバイスや画面の向きによって最適なレイアウト対応が推奨されています。
iPhoneでの画面回転に対するニーズはそこまで多くないかもしれませんが、iPadの対応にも応用できます。
Adaptive UIへの対応と知見についてお話したいと思います。
「スクリーンのサイズが変わるだけで考慮することが爆発的に増えます。そのうえでユーザーへ最適なUIを提示しながら、こちらの工数も必要以上にかけすぎないような工夫が必要になるので、そういった解決方法を聞きたいと思い採択しました。」 | |
「回転やデバイスの幅・高さをしっかりと考慮したUIを作る上では避けて通れない部分ではありつつも、まとまった知見を探すと数が少ないので是非お聞きしたいと思います。」 |
WWDC2018のセッション"Desiging Fluid Interfaces"で、アプリ起動・終了のアニメーション中にも別の画面操作ができるよって話があったので、モーダルViewControllerの開閉アニメーションでそれを実現してみました。作り方を紹介します。
「最新のWWDCのセッションを元にしたトーク! Appleの思想は興味深いけれど、さて実装は、と言われると立ち止まってしまいます。そのギャップを埋められるトークは意義深いと思い、採択しました。」 |
運用段階のサービスで新規の機能実装した場合などに、QAテスト時にログの発火ミスなどのバグがあがってるくことがしばしばあるかと思います。
そこで画面操作に合わせたログの発火テストを自動化する試みをしました。
はじめはXCUITestで実装してみましたが様々な壁にぶつかったため、途中から方針を変えてUnitテストで実装することにしました。
本トークでは、実装する上での問題点や改善方法について話して行きたいと思います。
「ログはアプリのUIに出てこないので見落としやすく、特に工夫なく実装すると、確認するのが大変です。工数のかかる自動テストよりも、Unit Testで対処できる方が良いなと僕も思っているので、その話を聞きたいと思いました。」 |
try! Swift Conference にて発表されたSwiftNIOのアーキテクチャーをざっくりと解説します。
また解説だけでなく、発表者が SwiftNIO を用いて作成している RxHttpClient にてどのように組み立てているか具体例を紹介します。
この発表の聴講者が SwiftNIO を用いて実践的なアプリケーションを作れるようになるとよいなと考えています
「掘り出し物をみつけたような気持ちになりました。try! Swift Tokyo 2018では、Swift NIOが公開され、Vaperがすぐに追従したことで話題になりましたが、その実用例についてはまだあまり表に出ていない印象でした。どんなことができるのか聞くのが楽しみです。」 | |
「try! Swift 2018のセッションでSwiftNIOを理解できなかったので知識を補完したいため」 |
timers-inc. ios lead, scrum master, lib arxiv, coffee
人事職からiOSアプリエンジニアへキャリアチェンジをして、現在エンジニア歴2年。自分自身色んな方々に助けてもらってエンジニアになったので、その体験を拡げたいと思いSwift愛好会コミュニティ運営メンバーをしています。iOSアプリのUIデザインを少々たしなみます。
iOSエンジニア8年目。最近はSwiftにコントリビュートしたり、本を書いたりしています。
Yuji Hato, Software Engineer[iOS, Android]at AbemaTV Co. Ltd. CyberAgent, Inc.
developer account/Rakuten/Rakuma/ios engineer/天パ/元fablic .inc/元MTI/元直毛/programmer/swift/objective-c/c#/android/tempa/wwdc18参加/iosdc2018スタッフ
岩手の高専を出て東京でエンジニア Swiftメインでアプリ開発 稀にKotlin/Java
1136 x 640 1334 x 750 1920 x 1080 (2208 x 1242) iOSアプリ開発してます
iOSエンジニアのはず。iPhone持ってないし、Androidの方が好きだけど、会社ではiOSの人と思われてるっぽいのでiOSやっていたらAndroidの開発に着いていけなくなった
PEAKSより、iOSの設計パターンを入門から徹底解説「iOSアプリ設計パターン入門」執筆プロジェクト! 今回は急遽、takasek、ダンボー田中 が Interactive Round Table枠として登壇します。
メルカリの開発組織を強くするためにいろいろやっている人。趣味でSwift愛好会やtry! Swiftなど、みんなでもっとSwiftを楽しめるようなネタを試しています。 かんぱいやー(勉強会で乾杯をする人)としても知られていて、乾杯の力でSwift好きの輪を広めています。
iOS/macOS developer.
百合好きのダンボールの人。 『iOSアプリ設計パターン入門』書いてるなう。 https://peaks.cc/iOS_architecture 最近のホットキーワードは設計・テスト・リファクタリング。
Yahoo! JAPAN で iOS/Android アプリ開発をしたり勉強会運営をしたりしています。文章のように直感的にコードが読み書きできるプログラミング言語、特にSwiftが好きです。あと音楽と漫画が好きです。
iOSエンジニアだったりアニメ見たりゲームしたり。
Bodybuilder & iOS Engineer|今のところ筋肉しかないのでいろいろ頑張っています
iOS Application Engineer/Swift/Objective-C at CyberAgent, Inc. AbemaTV モバイルアプリ開発エキスパート養成読本著者 会津大18期 福島東 松三
チャットの会社でジャッバしてる☕️
iOS Engineer at eureka, Inc. #switlang #iosdev
Software Engineer. Wantedly, Inc.
「コード : ボルダリング : ゲーム = 0.9 : 1.0 : 1.0」で日々を暮らしています。
🦊💕💊きつね 夜狐とか作ってたけど最近は Miew とか #f 作りながら渋谷でふわふわしてる。 iOSがすき ご連絡は noppelabs@gmail.com まで。連絡しないでください。 icon by yyuta342
iOS/Androidアプリエンジニアをしてます。Swift/Objective-C/Javaを書いたりしてます。趣味は、ゲームとボード系スポーツです。
フリーランスのiOSアプリ開発者。難しいことは考えられない性格で、難しいことを全部引き受けてくれる堅牢な設計・型システムが好き。趣味としてカンファレンス・勉強会での発表を継続的に行っている。ActionClosurable, PasteTyeTypeなどのOSSやツールを公開している。
iOS Developer / Yahoo! JAPANで乗換案内アプリの開発などをしています。
DeNAのSWETで、主にモバイルアプリのテスト戦略、自動テスト、CI/CD環境の整備などを担当。 iOS Test Night / Android Test Nightの主宰をしています。
iOS歴3年、Swiftは1.0の頃から触っています。最近はKotlinも好きです。
Twitter している合間に Wantedly という会社で Wantedly Visit のメインデザイナー的なアレをしています
iOS/Androidアプリ💻Swift/Kotlin/🛠趣味はお金を稼ぐこと💸