2017年度、千葉県にある公立小学校の放課後教室で毎週1回、プログラミング教室を実施しました。
プログラミング教育に特別敏感な家庭や才能がある子を対象にしたのではなく、放課後スクールにいるごく普通の子たちに29回実施したレッスンの中で、Swift Playgrounds にチャレンジした結果や、つまづきどころを紹介します。
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改善の為に行っている事、またこれから改善していきたい事についてお話します。
Xcode Source Editor Extensionの登場によって死んだ感のあるXcode Pluginですが、実現したい機能としてSource Editor Extensionでは実現できないものについては、まだ生きているものもいくつか存在しています。そんなXcode Plugin開発のイマを紹介します。
アプリの中の複雑な状態はステートマシンなどを導入することで管理しやすくなります。
しかし、コードだけを見ても流れが分かりにくかったり、状態遷移図を作ってもコードに合わせて更新していくのが面倒だったり、継続したメンテナンスは大変です。
このトークでは、シンプルなステートマシンとSourceKit・Graphvizなどのツールを使ってコードから状態遷移図を自動で生成する仕組みを作り、継続的にメンテナンスしやすくする方法をお話しします。
今やウェブサービスは、ブラウザからだけでなくスマホアプリにも対応して当たり前の時代。
一昔前のようにサーバサイドで全て処理することはあまりなくなりました。
そこで必要になるのがAPIですが、ウェブサービス向けのAPIとアプリ向けのAPIは似ているようでところどころ違います。
API設計の基本から認証・セキュリティまで、ウェブサービスでもアプリでも使えるいまさら聞けないAPIの作り方を解説します!
天啓。それは人智を超えた神の導き。
今まで悩んでたものが、突然のひらめきで解決した経験がある人はいると思います。
このひらめきを自由自在に起こせたら素晴らしいと思いませんか。
そんな「天の声」を聴くための心理学や思考のトレーニングを紹介します。
自由自在とまではいきませんが、「発動確率」は多少なりとも上がるとおもいますよ。
※宗教の勧誘ではありません。
プロダクトの顔ともいえる名前。
プロダクトの成功・失敗を分ける大きな要因はもちろん中身ですが、名前で惹きつけられることは確実にあるので名前にもこだわりたいですよね。
単なるフィーリングや製作者の自己満足ではなく、誰が、どのように使うかを考えてつけなくてはいけません。
新規プロダクトに関わる方、独自サービスを作る方、ぜひ参考にしてください。
そうでない方も、もしかしたら新たな気付きがあるかもしれませんよ。
例えば「ファイルサイズ」はInt型に見えますが、
メガバイト表記とキロバイト表記は同じものでも、数字としては違うので、
Int, Double自体とは少し異なった性質があります。
そういった状況でも、
Codableを活用することでユーザビリティを損なうことなく、
より具体的に、より安全に情報を表現することができました。
他の活用例も交えながら、そのテクニックをご紹介します。
昨今のiOS界隈でも、関連する発表・トークが多い印象のDIについて。
ReactorKitは、RxSwiftをベースにFlux Architectureを実現するためのフレームワークですが、
RxSwiftの恩恵により、イメージよりも手軽に、小回りの効いたDIを組み込むことができます。
今回は、そんなReactorKitにフィットするDIを自作してみましょう。
昨今のiOS界隈でも、関連する発表・トークが多い印象のDIについて。
ReactorKitは、RxSwiftをベースにFlux Architectureを実現するためのフレームワークですが、
RxSwiftの恩恵により、イメージよりも手軽に、小回りの効いたDIを組み込むことができます。
今回は、そんなReactorKitにフィットするDIを自作してみましょう。
2015年にFacebookが発表し、じわじわと存在感を増しているGraphQL。
しかしその実績や運用方法などの情報は、未だに充分には浸透していないように思えます。
このトークでは、初めて実案件でGraphQLに触れた経験から、
GraphQLの基本概念、Apollo-iOSとの付き合い方、またサーバーサイドエンジニアとの連携方法など、
(ベストとはいえないまでも)ベターなプラクティスとしてお話しします。
2015年にFacebookが発表し、じわじわと存在感を増しているGraphQL。
しかしその実績や運用方法などの情報は、未だに充分には浸透していないように思えます。
このトークでは、初めて実案件でGraphQLに触れた経験から、
GraphQLの基本概念、Apollo-iOSとの付き合い方、またサーバーサイドエンジニアとの連携方法など、
(ベストとはいえないまでも)ベターなプラクティスとしてお話しします。
Objective-C++という言語をご存じでしょうか。iOSアプリ開発に利用できる言語でC++とObjective-C両方の記述ができる言語です。つまりiOSアプリ開発においてC++が使えるということです。
そこで、iOSアプリ開発をするまではC++でアプリ開発をしていた私が、C++フル活用してiOSアプリを作ってみた話を紹介します。
昨年4月頃、それまで社内で抱えてたいくつかの問題を解決するために全アプリ開発チームでReduxの導入を決定しました。その後会員系アプリから銀行系アプリまで10個弱のアプリ開発が行われてきました。今回はそれらを通して得られたナレッジを話せる限り話そうと思います。
現在予定している内容
-Storeはアプリ全体で1つでなくてはならないのか
-ビジネスロジックをSwaggerみたいに定義、自動生成できないか
等
社内で抱えてたいくつかの問題を解決するために我々は全アプリ開発チームでReduxを導入しました。その後会員系アプリから銀行系アプリまで10個弱のアプリ開発が行われてきました。今回はそれらを通して得られたナレッジを話せる限り話そうと思います。
現在予定している内容
-iOSでのStore/State設計について
-ビジネスロジックをSwaggerみたいに定義、自動生成できないか
等