[レポート] MOB303: AWSを有効活用したiOSアプリの開発 #reinvent

MOB303 - Developing Well Architected iOS Apps with AWS

In this fast-moving world of mobile app development, cloud services complement well architected front-end techniques to improve user experience. In this session, you learn how to build a scalable and secure backend for your iOS native app and how to apply the best client-side development techniques to access your backend while providing real-time and offline data, authentication, and analytics that you can leverage to make your app a success.

セッション

  • End Userが求めているもの
    • リアルタイム性
    • レスポンス
  • ビジネス要件
    • Data Security
    • Data が利用できること
    • Userの振る舞い
    • User Adoption

App Development Essentials

  • Authorization
    • 認証できるこt
  • Connectivity
    • ネットワークに繋がること
  • Resource Consumption
    • リソースの利用を最小に
  • Telemetry
    • アプリグロースのための測定が
  • App Update
    • 新機能の追加があること

Starting app development

Manageing backend

  • Serverless for security and scale
    • AWSの利用
  • Amplify toolchain
    • 認証の追加
    • アナリティクスの追加
    • ストレージの追加
    • Push

Sample Architectuer - 写真共有サービス

  • Cognito
    • ユーザー認証
  • AppSync
    • GraphQL
  • Pinpoint
    • Pushサービス
  • Dynamo DB
  • S3

AWS iOS SDK の機能

  • 認証のワークフローの提供
  • ネットワークの管理
    • ネットワークアクセスがない時の挙動
  • Caching
    • ユーザー体験に影響をあたえる
    • イメージのダウンロードを逐次行わせない
    • オンライン・オフラインモード
  • Real time data

Client architecure

要件

  • Security
  • Acailability
  • Responsive UI
  • オフラインでも動く
  • ユーザーの振る舞いを理解する

AWS SDKs

  • Amazon Cognito
  • Amazon Pinpoint
  • AWS AppSync
  • Amazon S3 Transferutility

Userful tips

  • 賢くデータの取得
  • メモリとネットワークに敬意をはらう
  • ビジュアルデザインのフィードバック

まとめ

モバイル向けのセッション自体が珍しいかったので、レポートしてきました。 デモを交えて、Pin pointのアナリティクスからアプリの利用状況を見れたり、実際にiOSアプリとして動作させるところまで見せていただきました。

Amplify toolchain を利用してスマートな iOS アプリのバックエンドを構築できることを、短い時間でしたが体感することができました。