inflearn logo
inflearn logo

拡張性のあるFlutterアプリ:Supabase、Clean Architecture & Bloc

Flutterの基礎を超え、実務レベルのアーキテクチャを設計するエキスパートへと飛躍しましょう。クリーンアーキテクチャ、Supabase、Bloc、モノレポを活用して、拡張可能なアプリを構築します。

28名 が受講中です。

難易度 初級

受講期間 無制限

Flutter
Flutter
bloc
bloc
monorepo
monorepo
clean-architecture
clean-architecture
supabase
supabase
Flutter
Flutter
bloc
bloc
monorepo
monorepo
clean-architecture
clean-architecture
supabase
supabase

受講後に得られること

  • クリーンアーキテクチャの実務適用:理論を超え、Presentation、Domain、Dataレイヤーにコードを分離することで、拡張可能でテストしやすい堅牢なアプリ構造を設計する方法を学びます。

  • Supabaseフルスタック開発:バックエンドのコードを書くことなく、Supabaseを活用して認証(Auth)、データベース、ストレージ、リアルタイム(Realtime)機能を完璧に構築し、連携させます。

  • BLoCとEvent Busを活用した状態同期:大規模アプリで複数画面に分散したデータの整合性を維持するためにEvent Busアーキテクチャを導入し、BLoC間の洗練された通信方法を習得します。

  • モノレポ(Monorepo)環境の構築:ビジネスロジックの再利用性を最大化するために、パッケージ単位で機能を分離・管理する専門的な開発環境を経験します。

  • 実践型のアドバンス機能の実装:Debounceを適用したレスポンシブ検索、共通ロジックを活用した無限スクロール、リアルタイム通知システムなど、実際のサービスレベルの機能を実装します。

「Flutterの基礎を超え、実務レベルのアーキテクチャを設計するエキスパートへと飛躍しましょう。」

単なるカウンターアプリやTODOリストの例を超えて、実際のサービスで直面する複雑な問題を解決する準備はできていますか?機能を追加するほどコードが絡まり、小さな修正一つでアプリが不安定になる経験をしたことがあるなら、この講義がその答えになるはずです。

本講義は、単に一つのアプリを完成させることを超えて、時間が経過しても揺るがない「拡張可能でメンテナンスしやすいアプリ」を作るための堅牢な開発手法を伝授します。

🏗️ AI時代、なぜ今もアーキテクチャを学ぶ必要があるのでしょうか?

AIがわずか数秒でコードを書いてくれる時代です。それならば、私たち開発者は何に集中すべきでしょうか?

  • 断片ではなく全体を見る力: AIは単一の関数やウィジェットを作るのは得意です。しかし、数万行のコードが絡み合う大規模プロジェクトにおいて、各パーツをどこに配置すべきか、どのように結合度を下げるかを決定するのは、依然として人間の開発者の役割です。

  • AIのコードを収める堅牢な器: AIが生成するコードが増えるほど、管理不能な「スパゲッティコード」になるリスクも高まります。クリーンアーキテクチャとモノレポは、AIが作成したコードの断片を体系的に収め、安全に運用できるよう支援する堅牢な器となります。

  • 代替不可能な決定権者: AIは選択肢を提示するだけで、ビジネス状況に合わせた最適な技術的判断を下すことはできません。この講義は、皆さんを単なる「コーダー」から、AIを道具として使いこなす「アーキテクト」へと進化させます。



🛡️ 講義を支える3つの核心的な柱 (Three Pillars)

実践の場である「Community Board」アプリを構築しながら、大規模プロジェクトを支える3つの核心技術をマスターします。

  1. 堅牢なアーキテクチャ (Clean Architecture): 乱雑なコードに秩序を与えます。関心を明確に分離し、テストとメンテナンスが容易な構造を設計します。

  2. モダンバックエンド (Supabase): 複雑なサーバー設定なしでデータベース、認証、リアルタイム機能まで提供するSupabaseを活用し、バックエンドの構築時間を画期的に短縮します。

  3. 効率的な状態管理 (BLoC & Event Bus): Flutterの標準的な状態管理であるBLoCと、オブジェクト間の結合度を低くするEvent Busアーキテクチャを組み合わせることで、アプリ全体のデータをエレガントに同期させます。





🚀 主な学習内容と特徴

  • 実務型コミュニティアプリの構築: 認証、投稿CRUD、リアルタイムのコメント/いいね、プロフィール管理、レスポンシブ検索など、実際のサービスに必要なすべての機能をスクラッチからビルドします。

  • モノレポ(Monorepo)環境:機能を独立したパッケージ単位で分離することでコードの再利用性を最大化し、大規模プロジェクトを管理する感覚を身につけます。

  • 高度なストリームおよびリアルタイム制御: Supabase Realtimeを利用したリアルタイム通知、検索最適化のためのDebounceやswitchMapなど、実務レベルの技術を扱います。

  • アーキテクチャの真髄、拡張性:現在の構造を維持したまま、状態管理ツールだけを入れ替えて新しいアプリをリリースできるレベルの設計能力を身につけることができます。


主な学習内容およびアプリの特徴

📅 カリキュラムロードマップ (Learning Path)

  1. Foundation: 実務の生産性を高めるVS Code環境と、ボイラープレートを削減する必須ツールのマスター

  2. Architecture: 関心の分離や依存性のルールなど、クリーンアーキテクチャの原則を確立

  3. Infrastructure: 拡張性のためのモノレポ構築およびSupabaseバックエンド(SQL, RLS, Functions)設計

  4. Development: BLoCとEvent Busを活用した主要機能(Auth, Post, Search)の実装

  5. Advanced: リアルタイムデータ検知およびUI反映のためのSupabase Realtime深掘り適用

  6. Next Level: プロジェクト全体の振り返りおよび他の状態管理ライブラリへの拡張戦略の議論

🎯 このような方におすすめです

  • Flutterで基本的なアプリは作ったことがあるが、より大規模で体系的なプロジェクトに挑戦したい方

  • 実務で活用されているクリーンアーキテクチャを、実際のコードでどのように実装するのか知りたい方

  • Supabaseを活用してバックエンドの開発効率を最大化したい個人開発者、またはスタートアップの開発者

  • 就職・転職のために「拡張可能なアプリ設計能力」を証明できるポートフォリオが必要な方

📋 受講前にご確認ください (Prerequisites)

  • Flutter & Dartの基礎: 基本的なウィジェットの使い方と非同期プログラミング(async/await)に関する理解が必要です。

  • 状態管理の経験: Provider、Riverpod、GetXなど、どのような方式でも状態管理を使用した経験があれば望ましいです。(BLoCが初めての方でも十分に付いていけるように設計されています。)

  • 基本的なSQLの知識: データの読み書きに関する基礎的なCRUD構文を知っていると望ましいです。複雑なポリシーについては講義の中で一緒に学びます。

📂 講義資料およびソースコードの提供

  • 高品質なPDFスライド:各セクションごとの核心理論およびアーキテクチャ図が含まれたPDFプレゼンテーション資料を提供します。(各セクションの「資料」タブからダウンロード)

  • 提供される最終ソースコード:


    基礎レベル:セクション3で扱う生産性ツールおよび核心構文(例:data_class)の完成コードを提供します。
    メインプロジェクト:第4章から始まるコミュニティ掲示板アプリ全体のモノレポ構造および最終実装コードが提供されます。

  • ソースコードのリンクと使用方法のご案内は、第3章および第4章の最初の講義で詳しく提供される予定です。


単に「どう」作るかを超えて、「なぜ」そのように設計すべきかという本質を理解することになるでしょう。 実力を次のレベルへと引き上げるこの旅に、今すぐ参加しましょう!

こんな方に
おすすめです

学習対象は
誰でしょう?

  • 基本的なFlutterアプリは作ったことがあるが、実際のサービスレベルの堅牢なアーキテクチャを学びたい開発者

  • コードが複雑になるほどメンテナンスに困難を感じ、「クリーンアーキテクチャ」という解決策を得たい方

  • バックエンドの開発に時間を費やすよりも、SupabaseのようなBaaSを活用して、迅速に高性能なアプリをリリースしたい一人開発者またはスタートアップの開発者

  • 状態管理ツール(BLoC)を単なる機能実装にとどめず、体系的なアーキテクチャと組み合わせる実践的なノウハウを学びたい方

  • 就職や転職のために、ポートフォリオで「拡張可能なアプリ設計能力」を証明したい準備生

前提知識、
必要でしょうか?

  • Flutterの基礎:基本的なウィジェット(Row、Column、ListViewなど)を扱うことができ、非同期プログラミング(async/await)に関する基礎的な理解が必要です。

  • Dartの基本文法:クラス、継承などオブジェクト指向プログラミングの基本概念を理解している方を対象としています。

  • 状態管理の経験:状態管理(Provider、Riverpod、GetXなど)を一つでも使用した経験があれば望ましいです。(BLoCが初めてであっても、状態管理の基本原理を理解していれば十分に付いていくことができます。)

  • 基本的なSQLの知識:データの読み書きに関する簡単なSQL CRUD構文を知っていることが望ましいです。複雑なクエリやセキュリティポリシーは、講義の中で一緒に作成していきます。

  • 学ぶ意欲:すべての技術を完璧に知ってから始める必要はありません。新しい設計手法を学ぼうとする意志さえあれば十分です!

こんにちは
koreancrossfitte4957です。

一人企業 YourDevEdge 代表 | Flutter 専門家 & 「Heavy Fran」YouTuber

こんにちは。フルスタック教育コンテンツのスタートアップYourDevEdgeと、Flutter専門のYouTubeチャンネル「Heavy Fran」を運営している講師です。

私は国内有数の通信会社で20年以上勤務した後、決して若くはない年齢で開発者の道へと転向しました。独学で様々な言語やフレームワークを習得し、自ら壁にぶつかりながら得た経験は、現在の私自身の教育哲学と講義スタイルの基盤となっています。

これまでUdemyを通じて、Flutter Provider、Bloc、Redux、Riverpod、そしてDart FrogベースのClean Architecture API開発講座など、計5つの講座をリリースし、世界中の受講生と実務中心の学習体験を共有してきました。この経験を通じて、「理論的に正しい説明」ではなく、実際の学習者や現役エンジニアにとって真に役立つ説明とは何かを絶えず検証してきました。

新しい技術を学ぶときに感じる不安や孤独を誰よりもよく知っているからこそ、私は単に「機能を実装する方法」ではなく、なぜこのアーキテクチャが必要なのか実務で直面する複雑な問題をいかに構造的に解決できるのかという、その本質を伝えることに集中しています。

20年以上かけて体得したシステム思考と、遅いスタートながらも現役の開発者として定着するまでの試行錯誤やノウハウをすべて講義に込めました。
「理解すべき核心」と「見落としがちなディテール」を繋ぎ、皆さんがこれ以上一人で迷うことなく、次の段階へと飛躍できるようサポートする心強いペースメーカーになります。

もっと見る

カリキュラム

全体

145件 ∙ (18時間 24分)

講座資料(こうぎしりょう):

授業資料
講座掲載日: 
最終更新日: 

受講レビュー

まだ十分な評価を受けていない講座です。
みんなの役に立つ受講レビューを書いてください!

似ている講座

同じ分野の他の講座を見てみましょう!

期間限定セール

¥76,230

30%

¥13,395