俺のフォルダ構成 for スマホアプリ開発

แชร์
ฝัง
  • เผยแพร่เมื่อ 15 ธ.ค. 2024

ความคิดเห็น • 29

  • @505koichi
    @505koichi ปีที่แล้ว +2

    フォルダ構成について悩んでいたところ、この動画にたどり着きました。
    大変参考になりました!ありがとうございます!

  • @蓮美蓮
    @蓮美蓮 ปีที่แล้ว +3

    依存関係とか知ってて知らないみたいな状態だったので非常に助かりました。
    どのTH-camrも再生数にこだわり過ぎて、初心者用の動画ばかりで退屈してたけど、こういうTH-camrが出てきて嬉しい!!

    • @rbdog
      @rbdog  ปีที่แล้ว +2

      いつもありがとうございますm(_ _)m
      ある程度成長したら勉強しなくなる人もけっこういるので本当に需要あるか不安でした。見てくれる方がいて良かったです!

  • @workone2762
    @workone2762 11 หลายเดือนก่อน

    これほどまでの優良動画が、なぜもっと認知されていないんだ!!

  • @shis4091
    @shis4091 ปีที่แล้ว

    ほんとにこのチャンネルめちゃくちゃわかりやすくて助かっております!

  • @polishyou-kp3bq
    @polishyou-kp3bq 3 หลายเดือนก่อน

    期待せずに見たら結構有用だった
    これタイトルを違うものにしてたらもっと伸びるんじゃないか

  • @1192tucool
    @1192tucool ปีที่แล้ว

    フォルダ構成が知りたかっただけなのに、オニオンアーキテクチャが分かりやすく知れてしまいました。
    書籍や記事を何時間読むよりか理解が簡単でした。

  • @syogakutsuda9700
    @syogakutsuda9700 8 หลายเดือนก่อน +1

    いつもわかり易い動画をありがとうございます!
    こちらを参考にしつつAIを多用しながらオニオンアーキテクチャを見ようみまねでやってみたのですが完全に迷い込んでしましました....
    featureとuasecaseの違いがわからなかったりで....
    もし可能であればもっと深掘りしたどうかを見たいです!
    可能であればレビューもお願いしたい....

    • @rbdog
      @rbdog  8 หลายเดือนก่อน

      @syogakutsuda9700
      確かにどちらも日本語で「機能」として説明されるので難しいですよね。
      基本的にfeatureのほうが細かいです。判断に迷ったら「広告でアピールできるかどうか」で考えてみてください。
      ショッピングアプリだとして、
      ・このアプリは、合計金額を計算できます!
      ↑正直こんなのユーザーからしてみればどうでも良い事です。なのでこれはfeature(F)。
      逆に、
      ・このアプリは、好きな洋服を買うことができます!
      ↑これは十分アピールになりますね。なのでこれはusecase(U)。
      Uの途中では、いろんなFが使われます。
      商品をDBから取得(F)して、表示(F)して、並び替え(F)て、カートに入れ(F)て...
      つまりUは勝手に決めてOKです。ユーザーがやって欲しい操作の流れを1つ決めて、それをUとします。
      例えば商品並び替え機能が便利だから強調したいな〜ってときは並び替え機能をFではなくUとして扱っても良いです。U&F両方として扱っても良いです。
      「この並び替え機能Uの中では、並び替え機能Fを1つしか使っていません。」こういう設計もありです。
      さらに詳しく聞きたい場合はXで質問待ってま〜す👌

    • @syogakutsuda9700
      @syogakutsuda9700 8 หลายเดือนก่อน

      @@rbdog
      ご返信ありがとうございます!
      ユーザーが使う機能なのか、内部で使う機能なのか、なんかしっくりきた気がします!
      ありがとうございます!
      少しだけDMさせていただきます!

  • @おわり-c2v
    @おわり-c2v ปีที่แล้ว

    アーキテクチャを調べる為に色々見てましたが、ここまで具体的で分かりやすい解説は無かったです!
    分かりやすく伝える技術がずば抜けてますね、、!

    • @rbdog
      @rbdog  ปีที่แล้ว

      嬉しいです、頑張っていきます!

  • @ふくんが
    @ふくんが ปีที่แล้ว

    お疲れ様です!!
    明日野郎ではなく頑張ったんですね!!🤩
    以前質問させていただいた内容でしかもめちゃんこ知りたかったことが知れてとても満足😍
    今までなんのルールも持たずに作っていたのでこれからはこの動画をベースにコーディングしてみます!
    ほんとにありがたやぁ~🙏✨

    • @ふくんが
      @ふくんが ปีที่แล้ว

      しかし今回の癖の強いしゃべり方…とっても好き😍(笑)
      頑張って俺って言ってる感じがなんともゆるくて👍

    • @rbdog
      @rbdog  ปีที่แล้ว

      いつもありがとうございますm(_ _)m
      普段男気ないやつがキャラ作りしてもすぐバレることが分かりました🤣
      またどこかで登場したときはよろしくお願いしますw

  • @siren849
    @siren849 ปีที่แล้ว

    まっじ勉強になりました。ありがとうございます。
    うちはよくある何となく駆動設計なので、プロジェクト内に周知してみたいと思います。

    • @rbdog
      @rbdog  ปีที่แล้ว +1

      何となく駆動設計面白いですね笑
      コメントありがとうございました!

    • @siren849
      @siren849 ปีที่แล้ว +1

      サンプルソースの中を詳しく見たのですが、なかなか複雑に見えました。
      特にlist.dartの初期メモの取得、メモ一覧の取得部分について、詳しく解説してほしいです。

    • @rbdog
      @rbdog  ปีที่แล้ว +1

      もしかしてHookWidgetの使い方かな??
      了解しましたー!

    • @siren849
      @siren849 ปีที่แล้ว

      ref.read(initAppProvider);
      usecase.execute();
      この1つの機能を実装するのにusecasesやdiやconfigなど色々なコードを経由していると思うのですが、
      このアーキテクチャーの部分を解説して欲しいです。
      なんとなく真似をして理解しましたが、人に説明できるほどには理解できなかったので。

  • @あるぱか-m8j
    @あるぱか-m8j ปีที่แล้ว +1

    いつもためになる動画ありがとうございます。
    ただいま、新規プロジェクトのアーキテクチャについて検討中でして、こちらの動画を参考にさせていただいております!
    1点質問なのですが、applicationディレクトリにnotifierを置いておられますが、presentationに置くケースもよくあると思います。
    applicationにおいた方が良かった理由などありましたら教えていただきたく思いました!

    • @rbdog
      @rbdog  ปีที่แล้ว +2

      この動画で言うところの「依存の矢印」関係を壊さないようにコードを書ければどちらでも正解です👍
      たぶんpresenに書くと難易度がグッと上がるので、管理やレビューで保証できればpresenでも良いですね✨
      なぜ2通り有るかといえば状態(データ)の種類によります。
      例えば、アニメーション中のWidgetの位置とか、色が変化するWidgetのColorとかを状態で管理しているときなど, import flutterが必要なものはpresenフォルダに入れるべきです
      結論
      基本的にはpresenに置くのはやめておいた方が良い(依存関係が崩れる、もしくはコード難易度が上がる)
      また
      Notifierをどこにおくか、というよりは状態のデータ型がFlutter専用なのか、それともただのデータなのかで分けて、両方のフォルダに書いても良い
      って感じで!

    • @あるぱか-m8j
      @あるぱか-m8j ปีที่แล้ว

      ​@@rbdog 丁寧に回答ありがとうございます!
      確かに、ディレクトリ構成というより依存関係を意識するべきですね。
      > Notifierをどこにおくか、というよりは状態のデータ型がFlutter専用なのか、それともただのデータなのかで分けて、両方のフォルダに書いても良い
      過去に参考にしたリポジトリを中身をもう一度確認してみます!
      ありがとうございます😊

  • @takeda_motomichi
    @takeda_motomichi 6 หลายเดือนก่อน +2

    importはよくないね。新しい言語ではdependにしよう。

  • @keniotuyoi9093
    @keniotuyoi9093 ปีที่แล้ว +1

    分かりやすくて、気に入りました。
    オニオン、良さそうに感じました。
    初学者に近いので、具体例を見ないと、どう切り分けたらいいのか、分からないので、githubのサンプルをクローンして、とりあえずサンプルを動かしてから、ファイル構成を見ていこうと考えました。
    pub getして、サンプルを動かそうとすると、
    'package:flutter/src/widgets/framework.dart': Failed assertion: line 4692 pos 14: 'owner!._debugCurrentBuildTarget == this': is not true.
    とのエラーが出ました。
    環境がまずいのでしょうか?

    • @rbdog
      @rbdog  ปีที่แล้ว +1

      分かりました!動かすときにオプション情報が足りておらず、flavorを指定されていないと思います。おそらくmain関数の上のRunボタンまたはコマンドで動かそうとされているかと思いますが、それは想定外の動かし方なのでエラーでわざと止まるようにしています。今回はただお試しをされたいとの事でしたので、とりあえずコミットを1つ追加してその動かし方でも大丈夫なように許可しておきました!
      詳しくは私のFlutter講座#21で解説しているので、よかったらそちらをご覧くださいませ🙇

    • @keniotuyoi9093
      @keniotuyoi9093 ปีที่แล้ว

      @@rbdog 動きましたー! ありがとうございます。可愛い絵柄のアプリですね! よし、オニオンで行きます! 21も見てみます!