コース概要
導入
第1週: Swift、Kotlin、JavaScriptの高度な概念
- Swift (iOS)
- 高度な関数:クロージャ、値のキャプチャ、高階関数
- プロトコル指向プログラミングとジェネリクス
- ARC(Automatic Reference Counting)を使用したメモリ管理
- Kotlin (Android)
- 拡張関数とKotlin Standard Library
- コルーチンによる非同期プログラミング
- シールドクラス、列挙型、高度なエラーハンドリング
- JavaScript (React Native)
- 高度なES6+機能:デストラクチャリング、async/await、プロミス
- JavaScriptでの関数プログラミングの概念
- React Nativeでサードパーティーライブラリを使用する方法
第2週: モバイルアプリアーキテクチャと設計パターン
- MVVM (Model-View-ViewModel) for iOS and Android
- iOS(Swift)およびAndroid(Kotlin)向けのMVVMアーキテクチャの理解
- LiveData(Android)とCombine(iOS)を使用したViewModelの実装とデータの観察
- RxSwiftとRxKotlinを使用したリアクティブプログラミング
- React Nativeでのコンポーネントベースアーキテクチャ
- コンポーネントライフサイクルとフックの理解
- 大規模な状態とpropsの管理に関するベストプラクティス
- グローバル状態管理にReact Context APIを使用する方法
第3週: 高度なネットワーキング概念
- iOS (Swift)でのネットワーク
- URLSessionを使用したカスタムネットワークリクエストの処理
- 高度なREST API呼び出しとエラーハンドリング
- CodableとJSONパーシングの使用
- 安全なAPI通信(SSLピンニング、OAuth)のベストプラクティス
- Android (Kotlin)でのネットワーク
- Retrofitを使用したAPI呼び出しとレスポンス処理
- 高度なAPIエラーハンドリングとリトライメカニズム
- GsonまたはMoshiを使用したJSONパーシング
- HTTPSとOAuth認証を使用した安全な通信
第4週: React Nativeでのネットワーク
- AxiosとFetchを使用したAPI統合
- AxiosとFetchを使用した高度なAPI統合
- ネットワークリクエストのエラーハンドリング戦略とリトライ
- 認証(JWT、OAuth)の処理
- WebSocketsとリアルタイム通信
- React NativeでのWebSocketsの紹介
- WebSocket接続を使用したリアルタイムチャットや通知機能の構築
- 永続的な接続とデータ更新の管理
第5週: 高度なデータ永続化技術
- iOS (Swift)でのCore DataとSQLite
- 高度なCore Dataリレーションシップ、フェッチ、クエリ
- iOSアプリで直接SQLiteを使用してデータベース接続を管理する方法
- 効率的なデータ処理と最適化
- Android (Kotlin)でのRoom PersistenceとSQLite
- 高度なRoomデータベースリレーションシップとクエリ
- 大規模なデータセットの管理とデータベースパフォーマンスの最適化
- ProGuardを使用したデータベース構造の保護
- クラウドストレージ(iOSおよびAndroid)でのFirebase
- リアルタイムデータベース管理にFirebaseを統合する方法
- ローカルとクラウドデータの同期に関するベストプラクティス
第6週: React Nativeでの高度な状態管理
- Reduxによる状態管理
- 高度なRedux概念:ミドルウェア、サンク、サガ
- パフォーマンスとスケーラビリティの最適化
- Recoilによる状態管理
- Reduxのより柔軟な代替手段であるRecoilの紹介
- コンポーネント間での大規模な状態管理の処理
- 効率的な状態更新とアトミックな状態管理
第7週: iOSとAndroidでの高度なアニメーション
- iOS (Swift)
- Core Animation:ビュー、レイヤー、遷移のアニメーション化
- UIKit Dynamics:物理ベースのアニメーションの作成
- ビューコントローラ間でのカスタム遷移とアニメーション
- Android (Kotlin)
- MotionLayoutを使用した複雑なアニメーションの作成
- TransitionManagerと共有要素遷移
- ビューのスケーリング、回転、アルファ変更のプロパティアニメーション
第8週: React NativeでのアニメーションとUI/UX
- React Nativeアニメーション
- Animated APIとReanimatedを使用した複雑なアニメーション
- React Native Gesture Handlerを使用したジェスチャーやインタラクションの実装
- React Nativeでの高性能アニメーションに関するベストプラクティス
- カスタムUIコンポーネントの作成
- React Nativeで再利用可能なカスタマイズ可能なコンポーネントの構築
- メディアクエリとflexboxを使用したレスポンシブデザインの実装
第9週: ネイティブモジュールとデバイス機能の統合
- ネイティブデバイス機能へのアクセス
- カメラ、位置情報、Bluetooth、センサーの高度な使用方法
- SwiftとKotlinを使用したReact Native向けのネイティブモジュールの作成
- iOSでのARKitによる拡張現実の統合
- AndroidでのCameraXとARCoreによる拡張現実の統合
- React Nativeブリッジとネイティブモジュール
- プラットフォーム固有の機能を統合するためのカスタムネイティブモジュールの構築
- JavaとSwiftを使用したReact Nativeアプリのブリッジの作成
- クロスプラットフォーム環境でのネイティブコード管理に関するベストプラクティス
第10週: 高度なアプリのテストとデバッグ
- iOS (Swift)でのテスト
- XCTestを使用した単体テストとiOS向けUIテストの書き方
- Xcode Instrumentsを使用したパフォーマンスプロファイリングとメモリリークの検出
- JenkinsとCircleCIを使用した継続的インテグレーションとテストワークフロー
- Android (Kotlin)でのテスト
- Androidアプリ向けにJUnitとEspressoを用いた高度なテスト
- Android Profilerを使用したパフォーマンスプロファイリングとボトルネックの特定
- Firebase Test Labを使用した複数デバイスでの自動化されたテスト
- React Nativeのテスト
- Jestを使用した単体テストとEnzymeを使用したコンポーネントテスト
- Detoxを使用したエンドツーエンドテストと自動化されたテストセットアップ
- React Native DebuggerとFlipperを使用したパフォーマンスプロファイリング
第11週: アプリのデプロイと継続的インテグレーション
- App Store (iOS)へのデプロイ
- アプリを提出するための準備:App Store証明書、プロビジョニングプロファイル、TestFlightベータテスト
- Fastlaneを使用したiOSアプリの自動化されたデプロイ
- App Store Connectの管理とアプリレビュー手順の設定
- Google Play (Android)へのデプロイ
- APKを準備し、Google Play提出のために署名する方法
- FastlaneとGradleを使用したAndroidアプリの自動化されたデプロイ
- Google Play Consoleを使用したアプリレビューとベータテスト
- CI/CDパイプラインの設定
- Jenkins、GitHub Actions、またはCircleCIを用いた自動ビルドおよびデプロイパイプラインの構成
- iOSとAndroidのCI/CDワークフローにFastlaneを使用する方法
- バージョン管理、ビルド番号、リリースチャネルの処理に関するベストプラクティス
第12週: カポストプロジェクト
- 最終プロジェクト開発
- コース全体で学んだ高度な機能を組み込んだ完全に機能するアプリの設計と開発。
- カスタムUI/UX、高度なアニメーション、状態管理、ネイティブモジュール統合、リアルタイムAPI通信の実装。
- パフォーマンスを最適化し、App StoreとGoogle Playにアプリをデプロイします。
まとめと次ステップ
要求
- プログラミング概念(特にSwift、Kotlin、JavaScript)についての確かな理解。
- 基本的なiOS、Android、またはReact Nativeアプリの開発経験。
- MVCやMVVMなどの設計パターンに関する知識と、基本的な状態管理の経験。
対象者
- モバイル開発者
- プログラマ
お客様の声 (5)
非常に役立つ追加情報
Grzegorz - Comp S.A.
コース - BLoC Pattern
機械翻訳
エドワードは素晴らしいファシリテーターです
Zibusiso Ncube - Agricatural Research Council
コース - Ionic 4 and Angular for Developers
機械翻訳
練習問題が多ければ学びに良かったかもしれませんが、時間があまりありませんでした。
Gianpiero Arico' - Urmet Spa
コース - Embedded Linux Systems Architecture
機械翻訳
ミゲルはこの主題に関する知識が豊富で、トレーニングをわかりやすく進めました。全体の流れもバランスよく、必要に応じて各セクションに新しい機能を追加しました。 彼は質問された内容をすべてカバーし、それぞれの質問に詳しく答えてくれました。非常に良い経験でした。
Paul Coaton - SEMPCheck Services
コース - Flutter Development Bootcamp with Dart
機械翻訳
講師は熱心で、親切であり、テーマを愛していました。
Isaac Murphy - Royal New Zealand Airforce
コース - Build Native iOS and Android Apps with Flutter
機械翻訳