みなさんは、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を使って開発したかをお話します。
gRPCはGoogleが開発したハイパフォーマンスなRPC(Remote Procedure Call)プロトコルです。
Firebase SDKにも組み込まれていて、間接的に使った方も多いと思います。
トークでは、アプリからの通信の選択肢として、RESTやGraphQLに加えてgRPCも選べるように、
gRPC自体の解説、grpc-swiftの開発状況や現状の課題をデモを交えお伝えします。
アプリ開発と言うとほとんどがAndroid・iOS両OS開発するシーンがほとんどかと思われます。
その中でiOSでは容易に実装できるけどAndroidではキツイ!と言う実装やその逆のパターンも数多くあります。
本セッションではAndroid実装を考慮するとiOSでやってはいけないアンチパターンを両0S開発の経験を基にお話しします。
ARKit2.0では3Dの物体認識や空間の共有など、従来のARKitでは実現できなかった機能が追加されました。
「ARって何?」とか「面白そうだからやってみようかな?」とか思っている方向けに、ARKitの各機能の紹介と
簡単な実装方法について話せればと思います。
iOS の dynamic framework 開発のイントロダクションになります。
framework 開発で得た以下の地検などを説明さ背てもらおうと思っています。
「ギガが足りない?メガが足りないんだ!」
昨年、日本で公開してきたアプリをインドにも公開しました!
日本では問題なく動いているのに、インドでは問題多発。。。
実際にインドに2週間赴いて調査をしてみると、通信環境が日本とは全然違うことが発覚。
そんな環境でもちゃんと動いているアプリは多々あります。
他アプリの挙動からも学んだ、インドの通信環境の攻略法についてお話しします。
テストを書くのって面倒ですよね?理由は様々ですが、ひとつは入力値と期待値を用意する手間だと思います。ベタに用意すると再利用性が低く、また構造変化に弱いというデメリットがあります。その解決策としてFactoryがあります。
ただ、実際はFactoryを用意するのも手間でコストがかかってしまいます。今回はFactoryを自動生成することで、再利用性が高く構造変化に強いツールを作りました。そのツールの特徴とコード生成についてお話します。
Swiftには実行するメソッドを効率的に決定する機構があります。
しかし、静的型付け言語であるにも関わらず動的に決定せざるを得ないパターンや、finalやprivateなどの修飾子がパフォーマンスに影響するパターンなど、実際にはどのような動きをしているのでしょうか。
このトークではSwiftコンパイラの中からその疑問を紐解いていきます。
昨年iMac Proが発売され、そのスペックに多くのiOSエンジニアが魅了されています。
少しずつ企業でも採用されてきましたが、比較的高価なマシンであるが故手が出せていない企業が大半なのではないでしょうか。
このトークでは、新卒エンジニアが初めてiOSアプリ開発を経験し、そのビルド時間と向き合い如何に会社からiMac Proを買ってもらうに至ったかを紹介します。
現開発環境やそこでのビルド時間の計測/測定方法も紹介していきます。
ARKit は WWDC2018 で ARKit 2.0 として大幅なアップデートが行われ、今まで以上に AR で表現できることの幅が広がりました。
今回は ARKit の Ver1.0 ~ 2.0 を実際のサンプルコードと実演で振り返り、ARKit 2.0 まででどういったことをARで表現できるのかをお話しします。
創業2年の新潟のWeb会社に転職し、同時にアプリ事業を持ち込みました。社会人2年目のペーペーが転職と同時にアプリ文化を持ち込んだとき...いわゆる”不毛”と言われる環境下でのスタートでした。
その中でこっそり自社Webメディアを両OSアプリ化した話や、アプリ文化が無い会社組織との付き合い方、アプリに対する相場感やスキル難易度によるギャップなど、新潟のiOSエンジニアならではの苦悩を題材に地方アプリ市場の現状や未来についてお話しします。
最近、気味の悪い拡張子で有名になってしまった(?)JSON さん。
そんなJSONデータですが、valueは型が決まっていることが多いと思います。
しかし、不幸にもvalueの型が不定、かつ、それをRealmに保存することになったら。。。
型に厳しいSwiftでどのように対処すれば良いのでしょうか?
はじめてiOSアプリを開発して(うっかり沼にハマったことから)得られた知見を共有したいと思います。