try! Swift は、Swift におけるベストプラクティス、アプリ開発、サーバーサイド Swift、オープンソース Swift、そして Swift のコミュニティなど、プログラミング言語 Swift に関するコミュニティ主催のカンファレンスです。今年も東京で開催し、 3月1日、2日にエキスパートによるトーク、3日にピアラボ(もくもく会)、ワークショップを行います。
try! Swift Tokyo 2019に興味がありますか?
登録して招待をお待ちください!
Twitter @tryswiftconf をフォローして、最新の情報やお知らせをゲットしよう!
try! Swiftは、さまざまな地域やコミュニティから集うすべての人びとに対して開かれたカンファレンスを目指しています。特に、性別や人種など、多様な背景を持つ人びとが互いに敬意を払って楽しい時間を過ごせるよう、当カンファレンスでは、発表者や参加者、スポンサーの皆様に行動規範を守っていただくようにお願いしています。行動規範の全文はGitHubにて公開しています。
講演者
Norman Maurer
Software Engineer at Apple
Norman Maurer
Norman Maurer は Apple の iCloud チームのソフトウェアエンジニアです。 Apple の多くのサービスの根底にある非同期ネットワークのフレームワークに取り組んでいます。
Krzysztof Zabłocki
Creator of Sourcery & Objective-C Playgrounds
Krzysztof Zabłocki
KrzysztofはNew York TimesのリードiOSエンジニアで、 Sourceryや Objective-C Playgrounds 、さらにFoldifyや3D Game Engineなど、Appleに欠かせないアプリの開発で有名です。品質の高いコードを書いたり、他の人も同じように書けるようにすることにも熱心です。merowing.infoでブログを書いており、公開されているOSSはGitHub github.com/krzysztofzablocki で見ることができます。
Sarah Olson
iOS Developer at Trello
Sarah Olson
Sarah Olsonは Atlassian で Trello を作っている iOS 開発者です。 iOS, Android, Java, Wordpress を含む様々な技術領域で18年以上開発しています。 Women Who Code Twin Cities のディレクターとして、より包括的な技術文化の創造に着目した様々な構想やイベントを率いています。Twitter @saraheolson をフォローしましょう。
Brandon Kase
iOS Engineer at Pinterest
Brandon Kase
Brandon Kase は型付関数プログラミングを奇妙な場所に導入しています。 Kotlin で Android アプリを、 Swift や React Native で iOS アプリを、そして JS/Flow/React で Web サイトを作ってきました。 今は O(1) Lab で新しい暗号通貨を作っています。彼はカーネギーメロン大学でコンピュータサイエンスの学位を取りながら、関数プログラミングを学んできました。強い静的型付けや関数プログラミングが主流となってきたことにワクワクしており、かつて学問のために進んだ技術が、より品質の高いソフトウェアを作り出すことに役立つと信じています。良い設計のプログラミング言語やライブラリなどにハマっています。
Tamar Nachmany
iOS Engineer at Tumblr
Tamar Nachmany
Tamar Nachmany はこの2年間、iOS エンジニアとして Tumblr のコミュニティ、メッセージ、コア iOS チームで Tumblr の開発を行ってきました。彼女は、世界中の技術コミュニティから学ぶことに対して情熱を持っており、エンジニアリングやプロダクトデザインのトークをこれまでドイツ、オーストラリア、メキシコ、アメリカで行ってきました。そしてもうすぐ日本でも!ソフトウェア以外では、エンジニアリングを教えたり、小説を書いたり、アートレジデンスを組織しています。ニューヨーク在住。
Wendy Lu
iOS Engineer at Pinterest
Wendy Lu
Wendy は iOS エンジニアとして5年間 Pinterest で働いていました。今は、モバイルを中心とした広告フォーマットチームのエンジニアリングマネージャです。以前は、モバイルにおけるコマース製品を立ち上げ、データレイヤーからUIフレームワークに至るまですべてを担当してきました。これまでいくつかのiOSカンファレンスでトークしたり、 Grace Hopper Conference の mobile development panel をモデレートしています。昔は、アメリカのシンクロナイズドスイミングナショナルチームで競い合っていました。
Samuel Goodwin
Founder of Roundwall Software
Samuel Goodwin
Samuel は、SDKの初期リリースからiOSに取り組んでおり、この6年間アムステルダムで Roundwall Software を経営しています。スケートボードに乗ったり、ベースギターを弾いたり、自転車にも乗ります。
Karl von Randow
Creator of Camera+, Charles Proxy, and Vee
Karl von Randow
かつて、Karl は App Store で1200万以上ダウンロードされている Camera+ の Co-Founder でした。 最近では、動画を素早くとったり、編集したり、共有したりする、Vee for Video をいうアプリを作りました。また、アプリのネットワーク監視のデスクトップアプリとして人気のある、Charles Proxy も作っていたり、動画が大好きな人のためのソーシャルウェブサイトとアプリである、 Letterboxd の Co-Founder でもあります。物を作ることが大好きなのです。
Katsumi Kishikawa
Freelance Software Engineer
Katsumi Kishikawa
RealmのiOS/macOS開発者。オープンソースの開発を行ったり、有名なライブラリを自身のGitHubに公開している。日本においては、その経験と知識で、日本のiOS開発者コミュニティに大きく貢献している。
Kohki Miki
Engineer at Cookpad
Kohki Miki
クックパッドのエンジニア。業務ではモバイル向けの開発基盤に携わり、開発者の生産性向上のため尽力している。 OSS では幾つかの開発ツールをホストしているほか、 fastlane tools の Core Contributor でもある。
趣味はインディーゲーム開発。著書に「cocos2d-xで始めるゲーム開発」など
Ellen Shapiro
iOS Developer at Bakken & Bæck
Ellen Shapiro
Ellen Shapiro は最近オランダに移住したネイティブモバイルエンジニアです。 2010年からiOSとAndroidのアプリを作り始めて、最近までは、SpotHero でリードモバイルエンジニアを努めていました。さらに、 RayWenderlich.com でiOSとAndroidのチュートリアルを書いており、 作曲のiOSアプリでは有名な Hum でリードエンジニアを努めています。暇なときは、ギターを弾いたり、旅行したり、自転車に乗ったり、女友達や2匹の猫とぶらぶらしたりしています。
Shuichi Tsutsumi
iOS Developer in Tokyo/San Francisco
Shuichi Tsutsumi
元フリーランスiOSエンジニア、2016年末よりサンフランシスコのFyusion社勤務。著書に「iOS×BLE Core Bluetooth プログラミング」(2015)、「iOSアプリ開発 達人のレシピ100」(2013)。GitHubで「iOS Sampler」シリーズ他さまざまなオープンソースを公開している。
Samuel Giddins
Bundler & CocoaPods Core Team, Developer at Square
Samuel Giddins
Samuel は開発者向けツールを作ることに精通しています。日中は Square におけるモバイル開発者の負担を減らすような仕事をしている開発者で、夜はBundler と CocoaPods の Core Contributor です。
開発者になる前は、シカゴ大学で数学や経済学の学科で、「数」、「社会理論」、「ミーム」のような科目を学んでしました。キッチンに立つことが多く、夕食が見た目よりもにおいの方が良いという事実に驚いています。
Ben Scheirman
Creator of NSScreencast
Ben Scheirman
Ben Scheirman はヒューストン出身の個人開発者です。iOS開発を動画で学べる NSScreencast を作っていることでよく知られています。Ben は2009年からiOSアプリを作り始めて、300本以上の動画を作成してきました。Webサイト benscheirman.com や Twitter @subdigital をチェックしましょう。
Javier Soto
iOS Developer at Twitch
Javier Soto
Javier Soto はスペイン出身で、SFのベイエリアで5年間iOSエンジニアをしています。以前は、 Pebble や Twitter で働いていて、今は Twitch にいます。Swift の大ファンです。コードを書いていないときは、チェスをしたり、ルービックキューブを解いたり、飛行機を飛ばしています。
Daisy Ramos
iOS Developer
Daisy Ramos
Daisy は熱心なiOSエンジニアで技術が大好きです。最近は Citi FinTech でデータドリブンなソリューションを構築したり、自社顧客向けの銀行アプリへの新機能を追加しています。また、将来大きなことを成し遂げようとしているアーリーステージの会社へのコンサルティングにも積極的です。try! Swift NYC meetup の所縁の地でもある、ニューヨークの Queens College でコンピュータサイエンスの学士を取りました。今は多種多様な Swift の技術的なトークが披露されるミートアップを主宰しています。Twitterは @daisyr317 です。
David Hoang
Head of Product Design at One Medical
David Hoang
David Hoang は、 Swift やビジュアルプログラミングが大好きで、デザインとエンジニアリングのプロセスを融合させています。この15年で、 ExactTarget の B2B、HTC のブランド担当、デジタルスタジオの創設者、Black Pixel のデザインディレクターを経て、今では One Medical のプロダクトデザインのヘッドとして働いています。
Appleにフィーチャーされた3つのアプリをつくっており、アイディアをより具現化するためにデザイナーとしてプログラミングをはじめました。HyperCardを使えるようにするために、Mac OS 9が動作するVMを持っているのは本当のことです。仕事以外では、他のデザイナーやエンジニアと協業したり、旅行や読書、ペイントするのが好きです。今はサンフランシスコにすんでますが、想い出はニューヨークにあります。
Kate Castellano
Senior iOS Developer at Clue
Kate Castellano
Kate Castellano はベネズエラ出身のモバイル開発が得意なソフトウェアエンジニアです。初めは Android アプリのエンジニアでしたが、仕事を始めて6年たった頃に、iOSの開発に移りました。テクノロジーに関わる女性を増やすことに高い意欲を持っており、Women Who Go Berlin chapter の共同主催者や、ベルリンの Geekettes Mentorship Program のイベントマネージャ、Learn It Girl! のメンターを務めていました。現在はClue のシニアiOSエンジニアで、さらに参画する組織を探しています。休みの日は旅行に出かけたり、新しいミュージカルを探しています。
Yuka Ezura
iOS Engineer at LINE
Yuka Ezura
LINE の iOS エンジニア。クラウド AI プラットフォーム Clova 開発チームに所属。カンファレンスや勉強会で主に Swift を中心にしたテーマで発表している。また、web ラジオ局 mookmook radio でパーソナリティを務めている。
Pushkar Kulkarni
Server-Side Swift at IBM
Pushkar Kulkarni
Pushkar Kulkarni は IBM のサーバーサイド Swift の開発者です。Swift に関わる前は、IBM の Java のランタイムの部署にいて、 JIT コンパイラや、 Java の標準ライブラリを開発していました。過去二年間、オープンソース Swift の Foundation にコントリビュートしており、特に Linux の URLSession 関数型の世界にすることに注力しています。Swift は最もクールな言語で、サーバーサイドで提供されることにわくわくしています。
Yusuke Kita
iOS Developer at Mercari
Yusuke Kita
メルカリのiOSエンジニア。iOSチームのMercariアプリの国際化に取り組んでいます。新しい技術を学ぶのが大好きです。コーディングしていないときは、サイクリングをしています。
Kentaro Matsumae
Engineer at DeNA
Kentaro Matsumae
DeNA のエンジニア。マンガボックスというサービスの iOS アプリを開発しています。前職ではニコニコ動画のアプリなどを開発していました。最近は趣味で機械学習の勉強をしています。
Vu Nhat Minh
iOS Engineer at Mercari / Souzoh
Vu Nhat Minh
Orakaroは、現在メルカリのiOSエンジニアで、日本の地域コミュニティアプリであるアッテに取り組んでいます。彼は何年にもわたり、PythonやScalaなどの言語を使用したバックエンドWebプログラミングの経験を持っていましたが、スマートフォンアプリが毎日世界に影響を与えるような素晴らしい仕事をしていることを知り、ネイティブモバイルエンジニアとして取り組むことにしました。また、関数プログラミングの概念や理論を掘り下げ、抽象代数を学び、そのアカデミックなコンセプトを業界のプロダクトに近づけることを楽しみにしています。
時間のあるときには、囲碁を楽しんでいます。二段のアマチュアです。
Toru Kuriyama
iOS Engineer at Sansan
Toru Kuriyama
名刺管理サービスを手がけるSansan株式会社に所属するiOSアプリエンジニアです。法人向け名刺管理サービス 'Sansan' のiOSアプリ開発を担当しています。
Tatsuya Tanaka
Engineer at Yahoo! JAPAN
Tatsuya Tanaka
ヤフーのエンジニア。業務では主に乗換案内のiOSアプリを開発。 勉強会やブログでSwiftやiOS開発のTipsなどを紹介しています。 ハッカソンが好きで、よく参加しています。
Yuki Asai
iOS Developer at Recruit Marketing Partners
Yuki Asai
iOSアプリを開発したりScalaでサーバーアプリを開発したりしてます。得意な言語はSwift、Haskell、Ruby。あ、ReactNativeもやってます。
Takeshi Ihara
iOS Engineer at Recruit Marketing Partners
Takeshi Ihara
リクルートマーケティングパートナーズで英語系の学習サービスのiOSエンジニアをしています。個人サービスでサーバーサイドSwiftを活用しています。趣味はボルダリングと格闘ゲームです。
Tiago Martinho
Developer at ThoughtWorks
Tiago Martinho
バルセロナにあるThoghtWorksのエンジニアです、Swift Peer Lab (もくもく会)を開催しています。アプリを作るのが好きで、主にiOSのアプリをつくっています(これまで15以上のプロジェクトを立ち上げました)。今は機械学習を勉強していて、プロとしてiOS開発を始めたのは2014年で、Swift1.0のときでした。
Yuya Hirayama
iOS Engineer at VASILY Inc.
Yuya Hirayama
株式会社VASILY iOSアプリエンジニア プロトコル指向プログラミングの思想が好きで、プロトコル+プロトコル拡張によって局所の定義を最小限に型安全な動作を実現するコードを追求しています。 また、最近はiOS開発よりもよりSwiftそのものに注目できるサーバーサイドSwiftに強い魅力を感じ、サイドプロジェクトとして仮想通貨関連のサービスをiOSアプリからバックエンドのAPIまで通じてSwiftで開発しています。 iOS Discordでアクティブに発言したり、同コミュニティ初のオフラインイベントDiscord Offlineを主宰したりするなど、コミュニティ活動も精力的に行います。
Nobuo Saito
iOS Engineer at Mercari
Nobuo Saito
株式会社メルカリ所属の iOS エンジニアです。 Swift とゲームと睡眠が好きで、時間配分に悩んでいます。最近 MHW を買ってしまい、ゲームに必要な時間が2倍になってしまいました。大変です。
3月1日(木)
8:30 -🍩 受付・朝食
9:45 - 開会
10:00 - 裏 Swift Tour
裏 Swift Tour
Swift を学び始めるとき、Apple の公式チュートリアル 'A Swift Tour' に取り組んだ方も多いのではないでしょうか。 そして、時を経て、Swift に慣れ親しんだ今だからこそ理解し、得られるものがあります。もう少し深堀りした Swift の世界、'A Swift Tour' の裏面に取り組んでみましょう。
10:25 - ⚡️🎤 SIL入門
SIL入門
Swiftのコンパイラは複数のフェーズにわけて実行され、そのうちもっとも大きなものが SILの最適化です。SIL Optimizer はSwift特有のすべての最適化を担うので、SwiftのエンジニアがSILを理解しておくことは極めて重要だと考えます。このトークでは、SILの基礎を簡単な例を用いて説明します。
10:40 - Clang モジュールの探検
Clang モジュールの探検
Swift や Objective-C のフレームワークは Clang モジュールをベースとした同じモジュールシステムを共有しています。ライブラリのインターフェースとやりとりすることでヘッダファイルを置き換えますが、それぞれにエッジケースが存在します。Clang モジュールの `#import` 文の置き換え方、モジュールを使うことによる影響、Clagnモジュールの設計がSwiftのライブラリにどう影響してきたかを調べてみます。11:00 - 休憩
11:40 - レスポンダチェーンを知ろう
12:05 - 関心の分離と単純化のためのSwiftコードの最適化
関心の分離と単純化のためのSwiftコードの最適化
関心の分離は、コードが再利用されないときには時期尚早な最適化とみなされることがよくありますが、我々がコードが何をしているのかを理解することに対しては大きく影響します。Swiftにおけるこの実例を紹介します。
12:30 - コーダーがデザインすべきなのか
コーダーがデザインすべきなのか
ほとんどのソフトウェアエンジニアは、デザイナーがコーディングする世界がより良い世界であることに同意します。 このトークでは、反対の考えを探求したいと思います。 コアデザインの原則を知っていることによって、時間を節約し、よりプロダクトに実用的な課題に対する弾力性を持たせ、ユーザーとのコミュニケーションを改善し、スマートで楽しいプロダクトを作るのに役立つということを探究したいと思います。
13:00 - ランチ
14:30 - Event driven networking for Swift
Event driven networking for Swift
Swift が iPhone, iPad, Mac, Apple Watch そして Apple TV のアプリを開発する言語として選ばれていることはみなさんご存知でしょう。この数年、Swift は Linux で動作するサーバーサイドアプリケーションを開発するのにも優れた言語としても浮上してきました。現在、Apple, Facebook, Google, Netflix, Twitter などの企業が運用する大規模な環境では、Java、C ++などの言語による、パフォーマンスに最適化されたネットワークフレームワークが使われています。このトークでは、Apple のサーバーインフラストラクチャーチームが長年の経験を活かし、どのように高性能でスケーラビリティの高いネットワークアプリケーションを作成して、どのように開発時にSwiftを利用しているかについて説明します。
14:55 - ⚡️🎤 変性のダイヤモンド
変性のダイヤモンド
ジェネリクスはSwift言語における悩みの種となっている面白いトピックです。Generics Manifest では、Swift の型システムが定義よりも実践に重きを置いて作られたかについて素晴らしい説明がされています。ですが、「変性のダイヤモンド」という理論では、型システムの完全性とSwiftのジェネリクスがいかにこの理論にフィットしているかを別の視点で見ることができます。
このトークでは、Swiftにおける変性、共変性、反変性と、ダイヤモンドの上に輝く、Phantom Type について説明します。
15:05 - SwiftyPi
SwiftyPi
モバイル開発からサーバーサイドアプリケーションまで、我々はSwift 言語に柔軟性を見出だし始めています。ですがまだSwiftには開拓されていない領域があり、Swiftエンジニアがその可能性を切り開くかもしれません。このトークでは、Kate が Raspberry Pi で Swift の開発環境を構築するにあたって良かったこと、悪かったことについてお話します。
15:25 - ⚡️🎤 我が家を支えるSwiftの技術
我が家を支えるSwiftの技術
Swiftは我が家庭内のコミュニケーションには欠かせない技術となっています。育児用のiOSクライアントアプリ、そのリクエストを受け取るWebサーバー、ちょっと便利なSlackBot、妻が喜ぶ定期実行タスクなどなど、いろんなものがSwiftによって作られ活用されています。数え切れないほどある中で厳選した幾つかを紹介したいと思います。15:35 - UI Test の楽しさとメリット
UI Test の楽しさとメリット
多くのiOS開発者はユニットテストには精通していますが、Xcodeを使ったUIテストを行なっていない方が多いと思います。自分のアプリに UI テストを導入した際のハイライトと、すべてをテストすることの苦労を共有します。
16:00 - 休憩
16:30 - ブロックチェーンのクライアントをSwiftで実装する
16:50 - ⚡️🎤 Protocol Oriented WebAPI Abstraction
Protocol Oriented WebAPI Abstraction
今やスタンドアロンで動くiOSアプリは数少なく、ほとんどのアプリではWebAPIを経由してサーバーと情報のやり取りを行います。アプリの動作の根幹となるAPI通信を適切に設計し、将来の改修や通信/マッピングライブラリの入れ替えなどをより容易にするためのプロトコル指向なAPI定義の仕方と、さらにそれとRxSwiftを組み合わせた型安全なAPI抽象レイヤーの設計について紹介します。また、ここで話す内容をフレームワーク化したAbstractionKitの紹介をします。17:05 - 👾
👾
インディーズゲームの開発者の多くは、開発にSwiftを使ったことがありません。Swiftでモバイルゲームを作ってみましょう。このトークでは、Swiftでカジュアルゲームを作る方法を紹介します。SpriteKitやゲームのアルゴリズム、ツールについてもお話します。インディーズゲームの開発者になりましょう!
17:30 - AST メタプログラミング
AST メタプログラミング
Swift にはランタイムにおける動的な振る舞いがほとんどありません。コード注入の実現方法や、AST を用いたアスペクト指向プログラミングについてお話します。
18:00 - クロージング
3月2日(金)
9:00 -🍩 朝食
9:45 - 開会
10:00 - Expression Problem を解決する
Expression Problem を解決する
UIKitでは、一連の UIView と UIView のサブクラスをまとめてビュー階層を記述します。UIViewをサブクラス化することによって自分自身のビューを作成することもできます。しかし、この View Description をAppKitやシリアライゼーションに再利用することはできません。UIKit と似たようなものに EnumKit があり、 View は列挙型のケースとして提供されています。これで View Description を使いまわすことができますが、EnumKit なしで (もしくはライブラリをフォークしないと)ビューを生成することができません。
'Final Tagless' は、Swift のプロトコルの内部にある強力な Self 型を用いて、双方の世界をベストな状態にします。
10:25 - ⚡️🎤 Swift もくもく会 in Barcelona
Swift もくもく会 in Barcelona
バルセロナで開催した Swift Peer Lab の体験についてお話します。コンセプトから説明し、これがあなたの街でもでき、簡単で価値ある体験が得られると思っている理由を説明します。いくつかのTipsについてもお話します。
10:40 - Swift によるアルゴリズムの可視化
Swift によるアルゴリズムの可視化
視覚教材は、アルゴリズムがどのように機能するかを明確にするのに役立ちます。 このトークでは、UIBezierPathがどのように動作するかを、我々が見ることができるインタラクティブな方法で、アルゴリズムを再実装して調べてみます。 Swift Playgroundを使って、実装のフィードバックをすばやく入手し、学習ツールとして使用することができます。
11:00 - 休憩
11:30 - Kitura で Codable ルーティング
Kitura で Codable ルーティング
Swift 4では、Codable が導入されました。これは、JSONEncoder や JSONDecoder を通して、JSON を扱いやすくしてくれるものです。 JSONのエンコードやデコードが、RESTful API を扱う際の一番複雑な部分です。Codable を使うことで、 Kitura 2.0 は JSON の処理の責務を受け持ち、型安全な方法で、独自の Codable 型で直接処理できます。KituraKit を用いることで、iOS アプリとサーバーサイドの間で型の定義を共有することができるでしょう。
11:50 - ⚡️🎤 超解像+CoreML+Swiftを使ってアプリの画像データ転送量削減に挑戦する
超解像+CoreML+Swiftを使ってアプリの画像データ転送量削減に挑戦する
「超解像」は低解像度画像を高解像度に変換する技術のことです。この技術をiOSアプリに適用することで、画像データの転送量削減が期待できます。本トークではCoreMLとSwiftを使って超解像処理を実装し、従来手法と比較・検証した結果についてご報告します。12:05 - iOSでCharlesを導入する
iOSでCharlesを導入する
我々が開発するアプリの多くが、インターネット経由でAPIにアクセスします。macOS上で実行されるCharles Proxyは、iOSからの HTTP と HTTPS のトラフィックをキャプチャできるため、障害をデバッグしたり、パフォーマンスを測定することができます。try!Swift Tokyoでは、Charles Proxy の作者である Karl が Charles for iOS という新しく強力なアプローチを発表します。これにより、あなたのiOSデバイスでトラフィックを直接キャプチャすることが可能となります。
12:30 - 拡張現実における体験設計
拡張現実における体験設計
技術が現実世界でよりユビキタスになっていくにつれて、経験がスクリーンや物理空間からはみ出てくるのは避けられません。VRや声のように、また10年前モバイルアプリケーションがそうだったように、拡張現実 (AR) は未知の段階にいる新しい技術です。
David Hoangは、ARの設計で経験したことをお話します。このトークでは、優れたAR体験を実現するためのベストプラクティス、物理的なプロトタイプ作成方法、AppleのARKitを使ったコンセプトを紹介します。
13:00 - ランチ
14:30 - Swift エンジニアのための Kotlin 入門
Swift エンジニアのための Kotlin 入門
Kotlin は JVM に書かれた関数型言語です。あなたのAndroid開発者の友達は、この言語の登場をとても喜んでいることでしょう。Swiftとの共通点が多いこの言語を学ぶことで、Android チームのメンバーとコミュニケーションが取りやすくなります。Swiftの視点からこの言語を眺め、何が同じで何が違うのか、他の言語を書いている人が羨ましがるのはどの辺なのかを見てみましょう。
14:50 - ⚡️🎤 Swift5のOwnershipに備える
Swift5のOwnershipに備える
Ownership(所有権)は今年後半に登場予定のSwift5で追加される機能です。ABI安定化に向けても重要な機能ですが、Ownershipを使いこなすことでメモリコピーを減らすことができ、プログラムのパフォーマンスを向上させることができると期待されます。本セッションでは、昨年公開されたマニフェスト(OwnershipManifesto)に記載された内容を元に、Ownershipの概要をご紹介します。15:05 - デジタル信号処理 in Swift
デジタル信号処理 in Swift
デジタル信号処理の分野に潜って、Apple の Accelerate framework が高速フーリエ変換を使ってどうやってオーディオ周波数を特定しているのかを見てみましょう。Swift のような強力な言語でオーディオサンプリングレートを分解する方法を対話的なデモを通して見てみましょう。
15:25 - ⚡️🎤 Codableが導く型安全な世界
Codableが導く型安全な世界
CodableはAPIのレスポンスをマッピングするためだけの機能ではありません。Codableは様々な場面で利用でき、ソースコードを型安全にすることができます。このLTではCodableをフル活用するためのアプローチや、よりアグレッシブなCodableの活用方法をご紹介します。15:35 - iOS / Swift における対話型インターフェースの作成
iOS / Swift における対話型インターフェースの作成
アプリで対話型インターフェースを実現するための最新技術を紹介します。AppleのAPIとAmazon Lexのような他社の技術による音声認識を見てみましょう。また、音声再生における別なストラテジーについても紹介します。さらに、アプリで対話型インターフェースを構築するにあたってのベストプラクティスについてもお話します。
16:00 - 休憩
16:30 - UIImageView vs Metal
UIImageView vs Metal
MetalはGPUへのアクセスを提供するAPIで、OpenGLより10倍速いという謳い文句で登場しました。本セッションではMetalの基礎を解説しつつ、そのグラフィックス描画性能をUIImageViewと比較してみます。
MetalのAPIを直接利用する機会がなくても、Metalはあなたのアプリの裏で暗躍しています。身近なクラスとの比較を通じて、普段我々が意識することのないGPUのレイヤで何が起きているのか、目を向けてみるきっかけになればと思います。
16:50 - ⚡️🎤 Swiftが動くDockerコンテナの各OSの性能比較
Swiftが動くDockerコンテナの各OSの性能比較
Swiftがオープンソースとして公開されてLinuxサポートがされてから数年経ち、サーバーサイドSwiftの導入・運用事例が増えてきました。その間にもSwiftはアップデートされ続けていて、Swiftのバージョンを複数の開発・運用マシンで揃えることのコストが高くなってきています。このコストを削減するためにDockerを用いると、Swiftのバージョンを固定したコンテナ型の仮想化環境を用意できるので、マシンのローカルのSwiftのバージョン依存することなく開発することができます。また、Dockerは完全仮想化を行うわけではないのでディスク使用量は少なく、仮想環境の作成や起動は速いという特徴があります。このトークではSwiftに最適なDockerコンテナを紹介します。17:05 - ⚡️🎤 型とパフォーマンスで見るType-erasureの利点
型とパフォーマンスで見るType-erasureの利点
2016年のtry! Swiftで紹介されてから誰もが知るところとなったType-erasure、これを採用するメリットを型とパフォーマンスの面から紐解きます。また、stdlibのAnySequenceの実装をヒントに、効率が良くパワフルなType-erasureの実装を探っていきましょう。
17:30 - 開発者ツールと経験への時間投資
開発者ツールと経験への時間投資
開発者のツールと経験を向上させるためのアイディアを探すにはどうすればよいでしょうか?新しい開発ツールを作成するか、開発プロセスを調整することで、日々の開発における共通の苦しみとその改善方法を見ていきます。 10倍の開発者がいるなら、その人は他の10人の開発者の生活をより良くするものに取り組むことを決めた人です。
18:00 - クロージング
18:30 - Party 🎉
3月3日(土)
9:00 - 使える!Kitura を使ってサーバーサイド Swift アプリを作ろう! @ Casareal
使える!Kitura を使ってサーバーサイド Swift アプリを作ろう!
みなさんの大好きなプログラミング言語 Swift で、強力なサーバーサイドアプリが作れます。 このワークショップでは、IBM Developer Advocate の Taiji が iOS アプリのバックエンドサービスを作る際に何が必要かを説明します。さらに、Kitura を使用してクライアント側のアプリケーションとインターフェイスするサーバーサイドアプリを構築します。
API の使い方、インストール方法、Kitura アプリのテンプレートの作り方とそのデプロイ方法、コーディング可能なルーティングの使い方、そして全体的なストーリーをデモアプリと共にお見せします!
9:00 - Cloud Firestore Workshop @ Casareal
Cloud Firestore Workshop
Cloud Firestore は Firebase のクラウド上にある次世代のドキュメントオブジェクトデータベースです。 このワークショップでは、Cloud Firestore のすべての機能を理解したり、実用段階でスケーラブルなアプリケーションを開発する際に、その機能を最大限に活用する方法を理解するためのお手伝いをします。NoSQL データベースの概要を紹介し、クエリ、トランザクション、セキュリティルール、オフラインサポート、ページネーションなど、より高度なトピックについて説明します。
9:00 - Open Source Swift Workshop @ LINE
Open Source Swift Workshop
Nicholas Maccharoli & Sho Ikeda
このワークショップでは、Swift のコンパイルプロセスとその構成要素について説明し、LLVM について少し学び、bugs.swift.org から取り組むバグを見つけ、変更を加えてテストを実行する方法を学びます。
プルリクエストがマージされることはこのワークショップの目標ではありませんが、このワークショップに参加した後は、すぐに始められるだけの十分な知識を身につけ、より学ぶために見るべき場所がわかっていることでしょう。C++ に習熟していたり、LLVM の経験があるなら、すぐに Swift コンパイラを使い始めることができます。 C++ の経験がなくても、Swift の標準ライブラリは主に Swift で書かれていたり、python と Swift のハイブリッドである '.gyb' ファイルで構成されています。
9:00 - Swift の値型を極める powered by SWIFT QUEST @ Casareal
Swift の値型を極める powered by SWIFT QUEST
Swift は値型中心の言語ですが、それを使いこなすにはトレーニングが必要です。本ワークショップでは RPG の戦闘シーンという具体的なプログラムを実装しながら、次の手順で値型の使い方を身に付けていただくことができます。
- Objective-C や Java で多いミュータブルクラス中心のコードで RPG の戦闘シーンを実装
- ミュータブルクラスの問題を解決するためにイミュータブルクラス中心のコードに修正
- イミュータブルクラスと値型の対応関係に基づき、より簡単に実装できる値型中心のコードに修正
プログラミングの概念を学ぶときには抽象的な説明や人工的な例が用いられることが多いですが、実際の開発における使い方を理解するのはなかなか難しいです。 RPG を題材にすることで、現実のプログラミングに即してそれがどのように役立つのかを理解し、他の問題でも効果的に応用できるようになっていただくことを目指します。
9:00 - AR を Swifty に! @ DeNA
AR を Swifty に!
Thomas Paul Mann, Alex Rozanski, Jason Harris
Facebook の AR Studio チームと一緒に、Swift, Objective-C(++), C++ が混ざった大規模な macOS アプリに挑戦してみましょう。Swift を使ってあなたの AR 体験を作ります。
9:00 - Realm Cloud を使ってアプリを作ろう @ Casareal
Realm Cloud を使ってアプリを作ろう
Realm Platform を簡単に利用できる Realm Cloud を使って、API を開発することなくサーバーサイドと連携するアプリを作ります。
13:00 - ワークショップ 閉会
================
9:00 - もくもく会(ピアラボ) @ LINE
もくもく会(ピアラボ) 開会
ピアラボ(もくもく会)はtry! Swift のプレゼンテーションから学んだことやスピーカーと議論した問題に取り組む場所です。他の人と仲良くなったり、オープンソースプロジェクトに取り組んだり、即興でLTをはじめたりなどの絶好の機会です!ピアラボには決まった形はなく、オープンです。同じ会場にいる仲間と一緒に作り上げていきます。最初にお互いに自己紹介をしてから、質問しあったり、興味のあるプロジェクトに一緒に取り組んだりしてみましょう。
18:00 - もくもく会(ピアラボ) 閉会
We noticed that you are running ad blocking software. While we cannot hack into your computer and prevent you from doing so, we also cannot run our event without the support of our sponsors.
Please consider turning off your ad block software for this website. Thanks.
コミュニティパートナー
try! Swiftについてのお問い合わせはメール[email protected]またはTwitter@tryswiftconfにてご連絡ください。またtry! Swiftではスポンサーを募集しています。ご興味のある方はメール[email protected]にてご連絡ください。
主催者
Natasha Murashev
Founder of try! Swift
Natasha Murashev
昼間はiOSデベロッパ、夜はロボットです。natashatherobot.comでSwiftやwatchOS、iOS開発に関するブログを書いています。急成長中の週刊Swiftニュースレター、This Week in Swiftや(今回を含めて)世界中で try! Swift カンファレンスを運営しています。現在は@NatashaTheNomadとしてデジタルノマド生活を送っています。
Satoshi Hachiya
Founder of Pancake Meetup
Satoshi Hachiya
株式会社アールキューブと株式会社ookamiのiOSデペロッパーです。 おもに株式会社アールキューブが運営するウェディングサービス、ハナコレに参画しています。ベラルーシのMobile Optimized 2017で講演しました。また、これまで東京とサンノゼ、ニューヨークでPancake Meetupを開催しています。Twitter、GitHub、Instagramではパンケーキのアイコンで活動しています。🥞
Hideyuki Nanashima
Swift Lover
Hideyuki Nanashima
Swift愛好会会長です。みんなでもっとSwiftを楽しめるようなネタを探してます。かんぱいやー(勉強会で乾杯をする人)としても知られていて、乾杯の力でSwift好きの輪を広めています。
Daiki Matsudate
iOS Freelancer
Daiki Matsudate
大学在学中からiOSアプリ開発を始めて、現在フリーランスのエンジニアとして活動しています。アプリ開発だけでなく、エンジニアやデザイナーで英語を頑張りたい人のための CLEM や、国内のfastlaneコミュニティであるfastlane勉強会などの勉強会運営や、Serverlessconfなどのカンファレンスでの登壇、 Realm Newsの翻訳を行なっています。国内を旅行するのが好きで、最近では東京以外の場所での勉強会にもよく参加しています。
Yoichiro Sakurai
iOS / Web Developer at Retty
Nino Sakuma
Designer / iOS Developer
Nino Sakuma
フリーランスのイラストレーター兼デザイナー。アップル製品好きがこうじてiOSデベロッパーにもなりました。初心者向けiOSアプリ開発講座「 アプリ道場(アプリクリエイター道場)」の講師。Apple イラストブログ 「 もっと知りたいリンゴあれこれ(リンあれ)」。try! Swiftのマスコットキャラクターの「Riko」のデザインを担当しています。
Matthew Gillingham
Developer
Matthew Gillingham
株式会社Eventacularの共同創業者とCTOです。9年間iOSプラットフォームを開発して、7年間Tokyo iOS Meetupをオーガナイズしています。カンフーもやります。
We noticed that you are running ad blocking software. While we cannot hack into your computer and prevent you from doing so, we also cannot run our event without the support of our sponsors.
Please consider turning off your ad block software for this website. Thanks.