UIWindowが複数存在する場合、preferredStatusBarStyleやprefersStatusBarHiddenが呼ばれるViewControllerはどのWindowから選ばれるかを、調べた限りの情報で説明します。
かなり独特のロジックになっており、コントロールするのもかなり難しいです。
ネイティブアプリとWebアプリの両方の利点を持ち、お互いのギャップを埋めることができる技術として WPA (Progressive Web Apps) が注目されています。AWS Amplifyを利用するとPWAのService Workersを簡単に登録し、利用することができます。このセッションでは、AWS Amplifyを利用してPWAを実装する手順を分かりやすくデモを交えながら解説します。
RxSwiftを利用していると必ず使うことになる dipose メソッド。dispose が実際にどのスレッドで実行されるか意識していますか?
本セッションではdisposeが実行されるスレッドによってクラッシュが発生する可能性を提示し、より安全にdisposeするために取りうる方法を説明します。
UITableViewをいかに高速に描画、更新するかはiOSアプリケーションの実装において頻繁に遭遇する問題です。
本セッションでは単純な reloadData を用いた場合と差分計算アルゴリズムを用いた場合で実際にどの程度の差が生じるのか検証した結果を提示します。
また、複数の差分計算アルゴリズムとその実装を比較することで、それぞれの実装が適しているケースを提示します。
iOSアプリケーションの高速化においてメインスレッドをブロックするUIの描画コストは無視できない問題です。
日経電子版アプリでは非同期なUI描画を実現するTexture(AsyncDisplayKit)を導入し、大量のテーブルをスムーズに描画しています。
本セッションではTextureの検討から具体的な導入ステップ、導入にあたって遭遇したトラブルと対応方法について紹介します。
VIPERはiOSアプリ開発において共通の設計パターンの一つになっています。アプリ全体として構造をしっかりと作れる反面、同じような記述を繰り返さなければならないというマイナスの面も持ち合わせています。Genericsを用いることで繰り返しの記述を減らし、よりスッキリとVIPERを使用するための方法をご紹介したいと思います。
昨年Google iOでFlutterが発表され、KotlinConfではKotlin NativeでのiOS開発が発表されたりと、再びクロスプラットフォームアプリ開発が脚光を浴びようとしています。本セッションは、Fultter、Kotlin Nativeの他、従来のReactNativeやXamarinでの開発も踏まえて、今後私たちがどのような方向性で進むべきか考察していきます。
グラフを簡単に表示するライブラリはたくさんあります。しかし、表示したいグラフのデザインに合ったライブラリがなかったり、デザインを柔軟に変更したい理由から、グラフの表示を自作する方も多いのではないでしょうか。最近はフィンテックやライフログのサービスが注目され、グラフを表示するアプリが増えたように感じます。今回のトークでは、有名なライブラリの実装を参考にしながら、グラフの描画方法の紹介と、実務でどのように活用したのかを話します。
iOSのプロジェクトで、UIテストを利用しようとしてうまくいかなかったケースはあると思います。
また、そもそも手を出すことすらためらっていることもあるかと思います。
本トークでは、世に公開されているような成功事例の話はしません。
なぜ、難しいのかを「導入時」「実装時」「運用時」とそれぞれのフェーズについて話します。
本トークにより、実際にUIテストを利用するきっかけになればと思います。
Swift for TensorFlowはTensorFlowに関連したプロジェクトの中でも異彩を放つものです。そこではTensorFlowではなく、Swiftの開発が行われていました。このトークではそうなった経緯について、「機械学習に必要なものはなにか」という問への真正面からの取り組みと、Graph Program Extractionを含むその問への解答を中心に扱います。
AVSpeechSynthesizerは文字列を読み上げてくれる便利なAPIです。
しかし読み方というものは一意に決まりません。
例えば"上手"という文字列をこのAPIは何と読むでしょう?「じょうず」?それとも「うわて」?答えは「かみて」です。
"1kg"は「いちきろぐらむ」ですが"1g"は「いちじー」です。では絵文字を読ませると…?
本LTでは、読ませてみて驚いたものや意図しない読み方をしたものなどを紹介します。
2017年度、千葉県にある公立小学校の放課後教室で毎週1回、プログラミング教室を実施しました。
プログラミング教育に特別敏感な家庭や才能がある子を対象にしたのではなく、放課後スクールにいるごく普通の子たちに29回実施したレッスンの中で、Swift Playgrounds にチャレンジした結果や、つまづきどころを紹介します。
単純にプッシュを打つだけでは意味がありません。カスタマーエンゲージを目指すならばカスタマーの分析を行う必要があり、さらに言うならばリアルタイム性の高い情報を使った分析が必要となります。Amazon Pinpointを利用するとEvent Streamを利用して簡単にリアルタイム分析を行えます。本セッションではリアルタイムな分析を行うためのアーキテクチャとそれを使ったマーケティングを行うためのベストプラクティスを紹介します。
iOS App市場は飽和しつつあります。アプリがダウンロードされたとしても80%はアクティブユーザーにならない。80-90%のアプリは一度使われただけで削除されてしまう、などアクティブユーザー獲得の難易度はあがってきています。本セッションではカスタマーの情報をリアルタイムに分析し最適なマーケティングを行うためのアーキテクチャを紹介します。
「 GraphQL vs REST 」と紹介されることが多く、Rest APIの次のパラダイムとして注目されている GraphQL 。 スキーマをベースにした設計、クライアントからのレスポンス指定、pub/subの簡単な実装などの特徴があり、クライアントから使いやすいI/Fを簡単に構築できます。 本セッションは iOSエンジニアの方にもわかりやすいようGraphQLを解説します。
今まで私はMVC、MVPなどいくつかのアーキテクチャを試してきました。その中でもVIPERアーキテクチャが一番しっくりきています。その理由を実際のコードをもとに5分で解説していきます。
・VIPERアーキテクチャの特徴
・View/Interactor/Presenter/Entity/Router それぞれの役割
・Routerによる画面遷移処理の切り出し
みなさんは、Appleが提供している公式のiOSアプリ開発トレーニングをご存知ですか?
アプリ開発を学び始めるにあたり、公式が提供しているものは比較的信頼性が高いと言えます。
「とは言え、トレーニングを受けるにはお金が…」という方のために、実は無料で利用できるAppleのトレーニングコンテンツのお薦めポイントをApple認定トレーナーからご紹介します。
みなさんは、Appleが提供している公式のiOSアプリ開発トレーニングをご存知ですか?
アプリ開発を学び始めるにあたり、公式が提供しているものは比較的信頼性が高いと言えます。
「とは言え、トレーニングを受けるにはお金が…」という方のために、実は無料で利用できるAppleのトレーニングコンテンツを利用した学習のポイントをApple認定トレーナーからご紹介します。
私の現在担当しているアプリケーションはファーストリリースから早5年が経過しようとしています。
しかし、ユーザの求めるサービス、そして何よりUI/UXへの期待値は5年前とは比べ物にならないくらいに上がりました。
ユーザの期待を裏切らない為に、我々iOSチームがfpsを一つの指標に置いてUI/UX改善の為に行っている事、またこれから改善していきたい事についてお話します。
私の現在担当しているアプリケーションはファーストリリースから早5年が経過しようとしています。
しかし、ユーザの求めるサービス、そして何よりUI/UXへの期待値は5年前とは比べ物にならないくらいに上がりました。
ユーザの期待を裏切らない為に、我々iOSチームがfpsを一つの指標に置いてUI/UX改善の為に行っている事、またこれから改善していきたい事についてお話します。