コース概要

導入

第1週: モバイル開発の概要

  • モバイルエコシステムとプラットフォーム
    • モバイルOS(iOSとAndroid)の概要
    • iOS、Android、クロスプラットフォーム開発の主な違い
    • 主要なアプリストア(Apple App Store, Google Play Store)
    • ネイティブ、ハイブリッド、クロスプラットフォーム開発の紹介
  • ネイティブ vs ハイブリッド vs クロスプラットフォーム
    • 各開発方法の利点と課題
    • iOS用Swift、Android用Kotlin、クロスプラットフォーム用React Nativeの概要
    • JavaScriptがネイティブコードにどのように変換されるか(React NativeでのJavaScriptからネイティブコード)
  • プログラミングの基本
    • プログラミング概念の紹介(変数、データ型、関数、制御フロー)
    • Swift、Kotlin、JavaScriptの文法比較
    • Swift、Kotlin、JavaScriptを使用した簡単なプログラムの書き方と実行方法
  • 開発環境の設定
    • XcodeとAndroid Studioのインストール
    • React Native CLIとExpoの設定
    • シミュレータとエミュレーターで基本的な「Hello World」アプリを実行する

第2週: Swift、Kotlin、JavaScriptの紹介

  • iOS用Swiftプログラミング
    • Swiftでの変数、定数、データ型
    • 制御フロー文(if, switch, ループ)
    • Swiftでの関数とパラメータ
    • XcodeのインターフェースとSwift Playgroundsの紹介
  • Android用Kotlinプログラミング
    • Kotlinでの変数、データ型、関数
    • Kotlinのnull安全性の理解
    • 制御フローとループ構造
    • Android StudioのインターフェースとKotlin Playgroundの紹介
  • React Native用JavaScript
    • JavaScriptでの変数、定数、制御フロー
    • ES6機能: アローカンストラクタ関数、テンプレートリテラル、デストラクチャリング
    • Expoを使用したReact Nativeで基本的なJavaScriptプログラムの書き方と実行方法

第3週: iOSユーザーインターフェースデザイン

  • iOSのUI要素
    • UIKitとSwiftUIの紹介
    • ボタン、ラベル、テキストフィールドなどのUI要素の追加とカスタマイズ
    • Interface Builderを使用したUI設計
    • Storyboardを使用してマルチスクリーンUIを設計する方法
  • Auto Layoutと制約
    • Auto Layoutシステムの理解
    • 異なる画面サイズでレスポンシブレイアウトを作成するための制約の使用
    • スタックビューの作成とUI要素の動的な調整
  • SwiftUIの基本
    • SwiftUIでの宣言的UI設計の紹介
    • SwiftUIを使用した単純なUIコンポーネントの構築

第4週: Androidユーザーインターフェースデザイン

  • AndroidのXMLレイアウト
    • XMLベースのレイアウト設計の紹介
    • LinearLayout、RelativeLayout、ConstraintLayoutなどの一般的なレイアウトの使用方法
    • ボタン、テキストビュー、イメージビューなどのUI要素の追加とカスタマイズ
    • ConstraintLayoutを使用したレスポンシブで動的なレイアウトの作成
  • マテリアルデザイン
    • 色、アイコン、タイポグラフィなど、マテリアルデザイン原則の統合方法
    • ボタン、フローティングアクションボタン、カードなどのマテリアルコンポーネントの使用方法
    • Androidアプリのテーマとスタイル設定の実装

第5週: React Nativeユーザーインターフェースデザイン

  • React NativeのFlexboxレイアウト
    • レスポンシブレイアウト設計のためのFlexboxの理解
    • 列ベースと行ベースのレイアウトの作成
    • justifyContent、alignItemsなどのFlexboxプロパティを使用したUIコンポーネントのスタイル設定
  • React Nativeコンポーネント
    • Text, View, TextInput, Buttonなど、主要なコンポーネントの使用方法
    • フォームやボタンなどの対話型UI要素の作成
    • ScrollViewコンポーネントを使用した動的コンテンツの表示

第6週: iOSとAndroidでのデータハンドリング

  • iOSでのデータハンドリング
    • UserDefaultsを使用した単純なデータ永続化
    • Core Dataを使用した複雑なデータのローカルストレージ
    • URLSessionを使用したAPIからのデータ取得
    • JSONデータの解析とUIでの表示
  • Androidでのデータハンドリング
    • SharedPreferencesを使用した少量データの保存
    • SQLiteとRoom Persistence Libraryを使用したデータベース管理の紹介
    • Retrofitを使用したAPIからのデータ取得
    • JSONの解析とAPIレスポンスの処理

第7週: React Nativeでの状態管理とAPI

  • React Nativeでの状態とプロップ
    • React Nativeコンポーネント内でのデータフローの管理
    • useStateフックを使用したローカルコンポーネント状態の管理
    • 親子コンポーネント間でのデータの受け渡し
  • React Nativeでのデータ取得
    • Fetch APIとAxiosを使用したHTTPリクエストの発行
    • FlatList, SectionListを使用して取得したデータをリストで表示
    • AsyncStorageを使用したReact Nativeでのローカルデータ永続化

第8週: iOSとAndroidでのナビゲーション

  • iOSでのナビゲーション
    • Navigation Controllerの紹介と複数スクリーンの管理方法
    • Segueを使用したViewController間の遷移
    • ViewController間でのデータの受け渡し
    • TabBarとNavigationBarを実装して構造化されたナビゲーションを行う
  • Androidでのナビゲーション
    • ActivitiesとIntentsを使用したマルチスクリーンアプリの作成方法
    • Bundlesを使用したActivity間でのデータの受け渡し
    • Navigation DrawerとBottomNavigationViewの作成
    • Fragmentsを実装して柔軟なUIナビゲーションを行う

第9週: React Nativeでのナビゲーション

  • React Navigationの基本
    • React Navigationのインストールと設定方法
    • Stack Navigatorを使用したスクリーン遷移
    • Tab NavigatorとDrawer Navigatorを実装して複雑なナビゲーションを行う
    • スクリーン間でのパラメータの受け渡しとナビゲーション状態の管理

第10週: 高度な機能

  • iOSの高度な機能:
    • コアロケーションとマップ
      • Core Locationを使用したデバイス位置情報へのアクセス
      • MapKitを使用した地図の表示
      • ジオロケーションとユーザ位置追跡の処理
    • カメラとメディア
      • デバイスのカメラとフォトライブラリへのアクセス
      • UIImagePickerControllerを使用した画像の取得と表示
      • メディアファイルの保存と取得
  • Androidの高度な機能
    • 位置情報とマップ
      • Google Maps APIを使用して地図とユーザ位置を表示
      • GPSデータへのアクセスとジオロケーションの処理
    • カメラとメディア
      • CameraXを使用した写真の取得とカメラパーミッションの処理
      • 画像の表示とメディアストレージの処理
  • React Nativeの高度な機能
    • React Nativeマップ
      • react-native-mapsを使用した地図の統合
      • ジオロケーションやルートマッピングなどの位置情報サービスの処理
    • カメラとメディアアクセス
      • React Native Cameraライブラリを使用した写真の取得
      • デバイスのメディアストレージへのアクセスとファイルの処理

第11週: デバッグとテスト

  • iOSでのデバッグとテスト
    • Xcodeデバッガーの使用
      • Xcodeでブレークポイントを設定し、変数を検査する方法
      • コンソールを使用したリアルタイムデバッグ
      • 一般的なデバッグ問題と解決方法
    • iOSでのユニットテスト
      • XCTestフレームワークを使用してユニットテストの書き方と実行方法
      • モッキングオブジェクトとUIコンポーネントのテスト
  • Androidでのデバッグとテスト
    • Logcatの使用
      • Logcatを使用したログの記録とエラー分析
      • Androidアプリのデバッグにブレークポイントを使用する方法
    • Androidでのユニットテスト
      • JUnitを使用したユニットテストの書き方
      • Espressoを使用してAndroid UIコンポーネントをテストする方法
  • React Nativeでのデバッグとテスト
    • React Nativeデバッガーツールの使用
      • Chrome DevToolsとReact Native Debuggerを使用したリアルタイムデバッグ
      • コンソールログとネットワークリクエストの検査
    • React Nativeでのユニットテスト
      • JestとEnzymeを使用してユニットテストの書き方と実行方法
      • React Nativeコンポーネントをテストし、テストケースを管理する方法

第12週: アプリの配布と総仕上げプロジェクト

  • 配布とディストリビューション
    • iOS App Storeへの提出
      • アイコン、証明書、プロビジョニングプロファイルを使用したアプリの準備
      • App Store Connectを使用してアプリを審査に提出する方法
      • TestFlightを使用したベータテスト
    • Android Play Storeへの提出
      • APKの準備と署名を行い、アプリを配布する方法
      • Google Play Consoleを使用してアプリを提出し、トラッキングする方法
      • Play Storeポリシーやガイドラインの理解
  • 総仕上げプロジェクト開発
    • 最終プロジェクト開発
      • 任意の完全な機能的なアプリを構築する
      • API呼び出し、ナビゲーション、メディア、位置情報などの高度な機能を取り込む
      • ピアやインストラクターに向けた最終アプリのプレゼンテーションとデモを行う

まとめと次へのステップ

要求

  • プログラミング概念の基本的な理解
  • JavaScriptの基本的な知識

対象者

  • モバイル開発者
  • プログラマー
 420 時間

参加者の人数


参加者1人あたりの価格

お客様の声 (5)

今後のコース

関連カテゴリー