アプリを本格的にグロースしていこうとしたときに「最初に仕込んでおくべきだった...!!」みたいなものが結構あったりすると思います。わかりやすい例をあげると「強制アップデート」なんかがそれに当たると思います。こういった「最初から仕込んでおくべきだった」ものを、自身のこれまでの開発経験からピックアップして整理して発表できればと思います。
プロジェクトが大規模化していくと、さまざまな業務を自動化したくなってきます。同時にロジックが増え、特定の人しかメンテできなくなったFastfileにお悩みの方も多いでしょう。
このトークでは、実際の活用事例を交えながら、大規模プロジェクトにおける効果的なFastfileの書き方、プロジェクトの雑務自動化についてをお話しします。
そのほか、fastlaneコミッターによる明日から使える実践的なtipsも数多くお伝えします。
iOSでは曲を再生する方法としてAVAudioPlayerやMediaPlayerなどがあります。しかし、それぞれのplayerごとに再生キューやライフサイクルを持っており、player間を跨いで連続再生をするのは直感的には実装できません。今回は上記2つ加えてyoutube iframe player・SpotifyPlayerのplayer間を跨いで連続再生できるmusic playerをprotocolを利用して実装した話をします。
DI機運が高まる昨今、AndroidではDagger2を採用する企業は多いかと思いますが、iOS開発においてみなさんはどのように依存性を注入していますか?
StoryBoardを採用するチームでは、VC初期化時に変数を渡せずに苦労して妥協することも多いと思います。
そこで今回のトークでは、DIライブラリ「Swinject」によるいい感じなDIのやり方をご紹介します。
iOSアプリケーションの高速化においてメインスレッドをブロックするUIの描画コストは無視できない問題です。
日経電子版アプリでは非同期なUI描画を実現するTexture(AsyncDisplayKit)を導入し、大量のテーブルをスムーズに描画しています。
本セッションではTextureの検討から具体的な導入ステップ、導入にあたって遭遇したトラブルと対応方法について紹介します。
昨年Google iOでFlutterが発表され、KotlinConfではKotlin NativeでのiOS開発が発表されたりと、再びクロスプラットフォームアプリ開発が脚光を浴びようとしています。本セッションは、Fultter、Kotlin Nativeの他、従来のReactNativeやXamarinでの開発も踏まえて、今後私たちがどのような方向性で進むべきか考察していきます。
iOSのプロジェクトで、UIテストを利用しようとしてうまくいかなかったケースはあると思います。
また、そもそも手を出すことすらためらっていることもあるかと思います。
本トークでは、世に公開されているような成功事例の話はしません。
なぜ、難しいのかを「導入時」「実装時」「運用時」とそれぞれのフェーズについて話します。
本トークにより、実際にUIテストを利用するきっかけになればと思います。
2017年度、千葉県にある公立小学校の放課後教室で毎週1回、プログラミング教室を実施しました。
プログラミング教育に特別敏感な家庭や才能がある子を対象にしたのではなく、放課後スクールにいるごく普通の子たちに29回実施したレッスンの中で、Swift Playgrounds にチャレンジした結果や、つまづきどころを紹介します。
みなさんは、Appleが提供している公式のiOSアプリ開発トレーニングをご存知ですか?
アプリ開発を学び始めるにあたり、公式が提供しているものは比較的信頼性が高いと言えます。
「とは言え、トレーニングを受けるにはお金が…」という方のために、実は無料で利用できるAppleのトレーニングコンテンツを利用した学習のポイントをApple認定トレーナーからご紹介します。
私の現在担当しているアプリケーションはファーストリリースから早5年が経過しようとしています。
しかし、ユーザの求めるサービス、そして何よりUI/UXへの期待値は5年前とは比べ物にならないくらいに上がりました。
ユーザの期待を裏切らない為に、我々iOSチームがfpsを一つの指標に置いてUI/UX改善の為に行っている事、またこれから改善していきたい事についてお話します。
アプリの中の複雑な状態はステートマシンなどを導入することで管理しやすくなります。
しかし、コードだけを見ても流れが分かりにくかったり、状態遷移図を作ってもコードに合わせて更新していくのが面倒だったり、継続したメンテナンスは大変です。
このトークでは、シンプルなステートマシンとSourceKit・Graphvizなどのツールを使ってコードから状態遷移図を自動で生成する仕組みを作り、継続的にメンテナンスしやすくする方法をお話しします。
今やウェブサービスは、ブラウザからだけでなくスマホアプリにも対応して当たり前の時代。
一昔前のようにサーバサイドで全て処理することはあまりなくなりました。
そこで必要になるのがAPIですが、ウェブサービス向けのAPIとアプリ向けのAPIは似ているようでところどころ違います。
API設計の基本から認証・セキュリティまで、ウェブサービスでもアプリでも使えるいまさら聞けないAPIの作り方を解説します!
例えば「ファイルサイズ」はInt型に見えますが、
メガバイト表記とキロバイト表記は同じものでも、数字としては違うので、
Int, Double自体とは少し異なった性質があります。
そういった状況でも、
Codableを活用することでユーザビリティを損なうことなく、
より具体的に、より安全に情報を表現することができました。
他の活用例も交えながら、そのテクニックをご紹介します。
昨今のiOS界隈でも、関連する発表・トークが多い印象のDIについて。
ReactorKitは、RxSwiftをベースにFlux Architectureを実現するためのフレームワークですが、
RxSwiftの恩恵により、イメージよりも手軽に、小回りの効いたDIを組み込むことができます。
今回は、そんなReactorKitにフィットするDIを自作してみましょう。
2015年にFacebookが発表し、じわじわと存在感を増しているGraphQL。
しかしその実績や運用方法などの情報は、未だに充分には浸透していないように思えます。
このトークでは、初めて実案件でGraphQLに触れた経験から、
GraphQLの基本概念、Apollo-iOSとの付き合い方、またサーバーサイドエンジニアとの連携方法など、
(ベストとはいえないまでも)ベターなプラクティスとしてお話しします。
昨年4月頃、それまで社内で抱えてたいくつかの問題を解決するために全アプリ開発チームでReduxの導入を決定しました。その後会員系アプリから銀行系アプリまで10個弱のアプリ開発が行われてきました。今回はそれらを通して得られたナレッジを話せる限り話そうと思います。
現在予定している内容
-Storeはアプリ全体で1つでなくてはならないのか
-ビジネスロジックをSwaggerみたいに定義、自動生成できないか
等
初めてのiOSアプリ開発プロジェクトにアサインされた半年前、それまでなんとなくでコードを書いていた自分を改めるべく、アーキテクチャの勉強を始めました。ググれば多くのアーキテクチャパターンの解説やサンプルを見つけることができますが、実際の開発ではそれらの情報だけでは足りず、自分なりの解釈が必要になってきます。
このトークでは、アーキテクチャ初心者だった自分がどのようにアーキテクチャを勉強し、実際にMVVMを使って開発したかをお話します。
アプリ開発と言うとほとんどがAndroid・iOS両OS開発するシーンがほとんどかと思われます。
その中でiOSでは容易に実装できるけどAndroidではキツイ!と言う実装やその逆のパターンも数多くあります。
本セッションではAndroid実装を考慮するとiOSでやってはいけないアンチパターンを両0S開発の経験を基にお話しします。
ARKit2.0では3Dの物体認識や空間の共有など、従来のARKitでは実現できなかった機能が追加されました。
「ARって何?」とか「面白そうだからやってみようかな?」とか思っている方向けに、ARKitの各機能の紹介と
簡単な実装方法について話せればと思います。
iOS の dynamic framework 開発のイントロダクションになります。
framework 開発で得た以下の地検などを説明さ背てもらおうと思っています。