数年以内に、皆さんのうちの何割かは、WebやクラウドのAPIを叩くのではなく、ブロックチェーンを叩くアプリケーションを開発するようになるでしょう。そして皆さんのうちほぼ全員が、そのようなアプリケーションを利用するようになるでしょう。
分散型アプリケーションクライアントとしてのiOSアプリの未来を、実際にブロックチェーンサイドとクライアントサイドでプログラムを見ながらご紹介します。
趣味でmacOSのネイティブアプリを作ったときの知見を共有します。
macOSのネイティブアプリを作る「意味」「楽しみ」「つらみ」「つらみ」あと「つらみ」の話です。
みんながもっと作ってくれれば、エコシステムやドキュメントが充実して、この世界はもっと幸せになるはずです。
是非聴きに来て、macOSでアプリを作って、できればライブラリも作って、一緒に世界を幸せにしましょう!
「HTTPS化していればセキュリティ対策は十分」などと思っていませんか?
HTTPS化していても、無線LANやネットワーク機器にセキュリティ対策がなされていないと、中間者攻撃によって通信が盗聴・改ざんされるリスクがあります。これを防ぐ方法として、不正なSSL証明書を検知するピン留めという手法があります。
本発表ではピン留めを実装する手順、またSSL証明書の更新の際に気をつけることを紹介します。
Swiftには実行するメソッドを効率的に決定する機構があります。
しかし、静的型付け言語であるにも関わらず動的に決定せざるを得ないパターンや、finalやprivateなどの修飾子がパフォーマンスに影響するパターンなど、実際にはどのような動きをしているのでしょうか。
このトークではSwiftコンパイラの中からその疑問を紐解いていきます。
Swiftで記述されたiOSアプリでも、grpc-swiftを利用してgRPC通信をある程度手軽に利用可能になります。
gRPCを利用すると、通常の通信を行うよりも通信速度は速く通信量も少なく済み、更には双方向での通信を行うことができます。
今回は、gRPCの概要、grpc-swiftの導入方法、実際にプロジェクトで利用する際の応用的なことや、grpc-swiftにコントリビュートしたときの経験談などをお話させていただきます。
「家族アルバム みてね」は、徐々に国外にユーザーを拡大しています。常に海外での快適な利用が実現されることを意識して開発していますが、その中でもメディアを高速に配信し・閲覧できることは、最重要課題でした。どのように課題を認識・改善したかの知見をお話ししたいと思います。
アジェンダ
iPhoneの画面上で3DTouchを行うと、ブルッと端末が震えるフィードバックを返してくれます。
フィードバックが返ってくると、なんとなく気持ち良いですよね笑
その気持ち良いフィードバックは、iPhoneに搭載されている「Taptic Engine」によって実現されています。
このトークでは「Taptic Engine」とはどういった技術で、
どのような場面で使用すれば良いのかという話をします。
UICollectionViewに複数の種類のセルがある場合、どのセルがいつ表示されるのか把握するのが難しくなります。この問題を解消する手段の1つには、コンテンツの宣言的な定義が考えられます。
このトークでは、はじめにコンテンツの宣言的な定義の実現方法を説明します。続いて、宣言的な定義を導入した時のコードの見通し、レイアウトの役割分担、差分更新、アニメーションなどの面におけるメリットとデメリットを解説します。
通常起動にプッシュ通知、Universal Linksはもちろんのこと、Core SpotlightやWidget、Home Screen Quick Actionには対応してますか?
今年はiOS12でSiri Shortcutが登場。またAppDelegateが肥大化します。
…なんてことがないようにきれいに整理しませんか?
確認に手間がかかる起動経路まわりを効率よく実装するための設計やテストについて具体例を用いて紹介します。
iPhone にプリインストールされているアプリの中でも、 Music アプリの Modal Transition が良い感じですね。Githubなどで探してみると、ほぼ完全に再現してみせているライブラリやサンプルコードがいくつかあるのですが、コードを見てみるとすごく難しそうな印象が…。そこで、Musicアプリのような Modal Transition をより簡単に再現する方法を模索してみて、得られた知見をお話します。
最近のWebフロントエンドとiOS開発は似ているところが多いと思います。それぞれ比較してみて何がイケてるのか見ていけたらと思います
内容
仮)
Content(仮):
アプリの中の複雑な状態はステートマシンなどを導入することで管理しやすくなります。
しかし、コードだけを見ても流れが分かりにくかったり、状態遷移図を作ってもコードに合わせて更新していくのが面倒だったり、継続したメンテナンスは大変です。
このトークでは、シンプルなステートマシンとSourceKit・Graphvizなどのツールを使ってコードから状態遷移図を自動で生成する仕組みを作り、継続的にメンテナンスしやすくする方法をお話しします。
強化学習は機械学習の一種で、試行錯誤を通じて「環境における価値を最大化するような行動」を「エージェント」が学習します。強化学習が例えばゲームでうまく機能した場合、次第にゲームの打ち方は開発者の手を離れ、エージェントは開発者自身よりもずっと強くなっていきます。発表では、強化学習の概要、及びSwiftで強化学習をどのように実装できるのか、そして、AlphaGoで注目を浴びた深層強化学習とは何か、について解説します。
フォントや組版について気にしたことはありますか?
奥深く興味深い世界ですが、そのぶん難しい用語や規則がたくさん。間違えるとこわーい人にツッコミを入れられてしまうかも!
本セッションでは、日頃TextKitと親しくしている皆様、技術同人誌に興味のある皆様を対象に、基礎とちょっとした雑学を学びます。
PWA - Progressive Web Apps はウェブサイトのショートカットをホーム画面に追加するだけの仕組みではありません。
技術・市場の側面からPWAムーブメントの全容を理解し、適切な活用法を知るとともに。
最新ブラウザAPIを使ったプレゼンテーションパターンやJavaScriptとフロントエンドエコシステムをフル活用した「モダンなUI開発」のためのプログラミング環境が持つ可能性についてお話しします。
TableView, CollectionViewの部分更新の為に、RxDataSources, IGListKitなど、多くのライブラリが開発されて来ました。
それらの内部では、効率的な差分検出のために差分アルゴリズムが使われています。作る側はもちろん、使う側もその原理について理解しておくことは重要です。
今回、Myers, Heckelの2種類の差分アルゴリズムについて解説させて頂きます。
近年、動画サービスが盛り上がりを見せています。
単に動画を再生するだけなら簡単ですが、なめらかなUI/UXの実現や複数動画再生の制御、エラーハンドリングなど
実際のサービスでは考慮すべきことが多々あります。
iOSでAVPlayerを使った動画再生の知見についてお話したいと思います。
Swiftの型システムを実装するSemaモジュールはswiftcの中でも1番巨大で複雑ですが、普段お世話になっているTypeCheckerの動きがわかるようになったらSwiftへの理解が一歩深まりそうですし、なにより型の話って楽しいですよね!!
このトークではSemaの実装をチョット読めるようになることを目標に、Swiftの型システムがもつ特徴を「型システム入門」や実際の実装を参考にしながら簡単に解説します。
tvOSアプリはUIKitを利用してiOSアプリと同じ感覚で実装できます。ただ、実際に実装していくとフォーカスの考え方など、tvOSアプリ独自の概念を考慮しつつUI設計を進めていかならければならないことがわかってきます。そのあたり、実際に業務としてtvOSアプリを作りながら得られた知見を、WWDC 2018で発表されたtvOS 12で加わったTVUIKitなどを絡めて紹介できればと思います。