FLUTTER 53. MVVM Architecture

Поделиться
HTML-код
  • Опубликовано: 5 ноя 2024

Комментарии • 77

  • @ayambakso5574
    @ayambakso5574 4 года назад +3

    Keren banget.. dijelasin dulu baru dipraktekin... mantap...!!!

    • @ericodarmawan
      @ericodarmawan  4 года назад +1

      Iya dooonk.. Biar ngerti.. Ga cuma sekedar ngetik apa yg saya ketik.. Ntar jadi juru ketik.. Bukan jadi programmer.. 😁😁

  • @ilzammulkhaq8648
    @ilzammulkhaq8648 5 лет назад +3

    Saya rasa MVVM ini lebih gurih klo makek scoped model, provider ataupun mobx tapi penjelasannya dari video ini saya rasa cukup untuk memahami MVVM

    • @ericodarmawan
      @ericodarmawan  5 лет назад +2

      Pakai Scope Model atau Provider juga bisa.. Yang penting view dengan logic dan datanya dipisah.. Supaya mudah maintenance dan developmentnya.. Hanya aja biasanya, MVVM itu pakai Stream dan Stream Builder.. Makanya, saya kasih contohnya pakai BLoC.. 😊 Anyway, thx utk inputnya.. Mgkn temen2 yg lain juga jadi bisa melakukan variasi utk MVVM ini.. 😊

    • @ilzammulkhaq8648
      @ilzammulkhaq8648 5 лет назад

      @@ericodarmawan Oke mastah ku

  • @AmbriBlack
    @AmbriBlack 4 года назад +1

    Mantap, saya baru tau kalau itu namanya MVVM.

  • @raflyhidayat9687
    @raflyhidayat9687 Год назад +1

    logat orang bandung nya terasa pak mantap heheh

    • @ericodarmawan
      @ericodarmawan  Год назад

      Hahaha.. Ya mau gimana lagi atuh.. Gede dan idupnya di Bandung..

  • @lukmanhadi1768
    @lukmanhadi1768 Год назад +1

    wah mantap pak saya baca baca docs bloc dan mvvm masih belum paham saya kira bloc itu belum termasuk ke dalam viewmodel , terimakasih pak penjelasannya

  • @BelajarPemrogramanPemula
    @BelajarPemrogramanPemula 4 года назад +1

    nyimak ikut belajar

  • @story.berdikari
    @story.berdikari 4 года назад +3

    saya sudah ngikutin tutorial ini dr awal gan. tapi error, ada beberapa class yg tdk terbaca. kl bs sekalian share dunk mas link source codenya.

  • @hedon885
    @hedon885 4 года назад +2

    Terima kasih Suhu..

  • @abal2studio
    @abal2studio 5 лет назад +2

    kren, keep share gan.

  • @devyeay
    @devyeay 5 лет назад +1

    Sangat membantu gan

  • @shaflyhamzah3848
    @shaflyhamzah3848 4 года назад +1

    Mantap bang

  • @GlamvianHermawan1
    @GlamvianHermawan1 5 лет назад +3

    apakah untuk bloc yang jadi view model, bisa di ganti dengan provider,scopen model dll?

    • @ericodarmawan
      @ericodarmawan  5 лет назад +3

      Bisa2 aja sih selama view ama state & logic sistemnya terpisah.. Intinya dari MVVM itu adalah tadi.. Memisahkan si view nya.. Supaya ga nyampur.. Sehingga kalau ada aplikasi lain yg memakai Dart juga, tinggal ganti viewnya.. Ga usa buat ulang yg lain2nya.. Contoh: kalau nanti Flutter for web nya uda jadi..

    • @GlamvianHermawan1
      @GlamvianHermawan1 5 лет назад +2

      @@ericodarmawan terimakasih om penjelasnya

  • @asmarmakis3913
    @asmarmakis3913 3 года назад

    ijin bertanya yiew model itu funsinya sama kayak controller yah di mvc

  • @nimandev
    @nimandev Год назад

    jika pakai versi di dalam video gagal bisa pakai flutter_bloc: ^3.0.0
    kemudian di main.dart nya, pada BlocProvider ubah dari builder: menjadi create:

  • @inaceri
    @inaceri 4 года назад +2

    saya coba code dan nemuin kalau api sekarang sudah json nya sudah berubah. untuk class User untuk method factory bisa dirubah :
    id: object["id"].toString(),
    email: object["email"],
    firstName: object["first_name"],
    lastName: object["last_name"],
    avatar: object["avatar"]);

  • @markosjanuar2189
    @markosjanuar2189 3 года назад

    Teradapat error di user.dart:
    The superclass 'User' doesn't have a zero argument constructor.
    Try declaring a zero argument constructor in 'User', or declaring a constructor in UninitializedUser that explicitly invokes a constructor in 'User'.
    ini kenapa ya?

  • @glorieus27
    @glorieus27 4 года назад

    Pak Eriko kalo boleh request video yang TDD Clean Architecture,Terima kasih pak

    • @ericodarmawan
      @ericodarmawan  4 года назад

      Nanti ya kalau sudah ada waktunya.. Soalnya skrg saya lagi kesulitan waktu.. Haha..

    • @GafarRisky
      @GafarRisky Год назад

      Apakah sudah ada video nya pak ?

  • @randytiaakbar8804
    @randytiaakbar8804 4 года назад

    mau tanya pak, kenapa harus di klik dulu baru keluar UserCardnya? kalau saya lihat posisi UserCard sejajar sama RaisedButton

  • @Nurhuda-xm9ek
    @Nurhuda-xm9ek 3 года назад +1

    mas, tadi ada color previewnya menggunakan plugin apa ya ?

  • @asyraf1004
    @asyraf1004 2 года назад

    Pak, kalau errornya berupa "TypeError: Cannot read properties of null" itu di sebelah mana ya?

  • @rendyaditya31
    @rendyaditya31 4 года назад

    maaf bang erico mau nannya. kalo nampilin langsung tanpa button caranya bagaimana ya?

  • @slimefunoriginal
    @slimefunoriginal 4 года назад +1

    jika ada 2 page, page pertama kondisinya seperti yg di video ini. page keduanya ingin mengambil data user yang ada di page 1. atau di blocnya. apakah bisa pak?

    • @ericodarmawan
      @ericodarmawan  4 года назад

      Dengan state management, kita bisa ambil state tersebut dari mana aja dgn menggunakan bloc builder

    • @slimefunoriginal
      @slimefunoriginal 4 года назад

      @@ericodarmawan oke2 pak. Terima kasih

  • @ilhamvocalovi6879
    @ilhamvocalovi6879 2 года назад

    Apakah View Model itu nama lainnya dari Controller?

  • @dhikramacreator2614
    @dhikramacreator2614 4 года назад +1

    di menit 20:37 kok saya gak nongol dispatchnya ya pak?
    edited : sama 20:30 error " close instance of ' dart.core.sink". Tapi kalau saya hapus variable blocnya gak ada notif errornya.
    apa karena flutter_bloc nya udah update ya?

    • @ericodarmawan
      @ericodarmawan  4 года назад +1

      Untuk yg dispatch.. Kalau pakai versi terbaru, methodnya jadi add.. Bukan dispatch..
      Untuk yg dart core sink.. Itu bukan error.. Tapi warning.. Gpp.. Itu ada bug di linting nya Dart.. Harusnya ga keluar warning itu..

    • @dhikramacreator2614
      @dhikramacreator2614 4 года назад

      @@ericodarmawan iya terima kasih pak...

  • @imammufiid6234
    @imammufiid6234 4 года назад

    // error
    The following ArgumentError was thrown building UserCard(dirty):
    Invalid argument(s)
    // line error
    The relevant error-causing widget was
    UserCard
    lib\Pages\Mvvm.dart:31
    // sintaks
    BlocBuilder(
    builder: (context, user) => (user is UninitializedUser)
    ? Container(
    child: Text("Kosong Bro"),
    )
    : UserCard(user))
    error kayak gitu kenapa ya mas?

  • @yogabayuangganapratama
    @yogabayuangganapratama 2 года назад

    untuk flutter bloc versi 8 bagaimana ya coding nya,
    gak ada eror tapi gak mau tampil usernya

    • @ericodarmawan
      @ericodarmawan  2 года назад

      Sama aja dengan yg versi 7++.. Berarti ada yg salah cara pakainya.. BlocBuilder ga akan berubah kalau object yg di-emit itu sama dengan state sebelumnya.. Jadi, objectnya yg harus berbeda.. Objectnya ga.. Bukan isi dari objectnya.. Coba aja diulik2 lagi..
      ruclips.net/video/PEDaKY2pnF4/видео.html

  • @yasufdany6441
    @yasufdany6441 3 года назад

    Berarti kalo sudah pake bloc atau scoope model sejenisnya sudah termasuk MVVM ya pak?

  • @fahmidwi9309
    @fahmidwi9309 4 года назад

    lebih enak mvp atau mvvm sih gan? penjelasan nya

  • @zxc13x
    @zxc13x 3 года назад

    lebih mudah dipahami MVC ketimbang MVVM ~_~

  • @muhammadtomyiskandar9732
    @muhammadtomyiskandar9732 3 года назад +1

    Jika ada yang error "// error The following ArgumentError was thrown building UserCard(dirty): Invalid argument(s) // line error The relevant error-causing widget was UserCard" silahkan ganti penulisan text jadi ${user.firstname} menit 16:03, punyaku begitu soalnya

  • @WahyuRohmanSidik
    @WahyuRohmanSidik 5 лет назад

    di VScodenya pakai extension apa biar ada garisnya gitu di widgetnya, makasih

    • @ericodarmawan
      @ericodarmawan  5 лет назад +2

      Ada settingan di Vistutnya koq.. Ntar ya.. Saya kasih videonya utk settingan dan plugin yg saya pakai..

    • @ericodarmawan
      @ericodarmawan  5 лет назад +1

      Sudah saya kasih videonya ya di ME.TALK 02 :) Semoga jadi lebih betah ngodingnya..

    • @fahrurrozi9709
      @fahrurrozi9709 5 лет назад

      @@ericodarmawan saya juga pengen tau extension nya. kalau boleh tau nama videonya apa ?

    • @ericodarmawan
      @ericodarmawan  5 лет назад

      @@fahrurrozi9709 itu di komen sebelumnya sudah saya jawab.. Ada di playlist ME.TALK.. Nomor 2.. Lihat di Channel saya..

  • @TheHarpanOnly
    @TheHarpanOnly Год назад

    Apa bedanya dengan MVC pada OOP?

    • @ericodarmawan
      @ericodarmawan  Год назад

      www.guru99.com/mvc-vs-mvvm.html#:~:text=Key%20Differences%20between%20MVC%20and%20MVVM&text=In%20MVC%2C%20the%20controller%20is,and%20code%20is%20event%2Ddriven.

  • @adypanegara
    @adypanegara 4 года назад

    Saya sudah ikutin tapi eror di rendering user cardnya pak. ada github nga pak biar bisa cek source codenya salahnya dimana ?

    • @ericodarmawan
      @ericodarmawan  4 года назад

      Ngga ada github nya.. Coba dicek lagi pelan2..

    • @adypanegara
      @adypanegara 4 года назад

      udah bisa pak, saya yang salah tik di parsing json nya

  • @p.dedysetiyawan5598
    @p.dedysetiyawan5598 5 лет назад +1

    Programming Logical.... Ini salah satu gunanya hehehe

  • @mastuki5467
    @mastuki5467 5 лет назад

    MVVM sama MVP perbandingannya apa aja ya om? Plus Minusnya dimana? thanks.

    • @ericodarmawan
      @ericodarmawan  5 лет назад

      Mungkin ini bisa sedikit memberikan pencerahan:
      www.vogella.com/tutorials/AndroidArchitecture/article.html

  • @rayhanyulanda
    @rayhanyulanda 4 года назад

    Berarti view model = bloc ?? (apa bisa dibilang view model kata lainnya bloc?)

    • @ericodarmawan
      @ericodarmawan  4 года назад +1

      Prinsipnya serupa.. Jadi tetep jangan dituker2 istilahnya.. Ntar malah bingung yg denger.. Mirip kayak begini nih.. Zat asam utk makanan.. Jeruk nipis bisa dipakai utk membuat asam.. Cuka juga bisa.. Nah.. Prinsipnya kan sama.. Tapi ga bisa juga lgsg diganti istilah zat asam makanan jadi cuka..

    • @ericodarmawan
      @ericodarmawan  4 года назад +1

      Lebih tepat kalau dikatakan begini.. Bloc menjalankan fungsi sebagai view model.. View model itu fungsinya.. Sebagai penghubung antara view dan model.. Bloc itu yg menjalankan fungsinya.. Krn kebetulan, Bloc bisa berperan/berfungsi/menjalankan fungsi View Model.

    • @rayhanyulanda
      @rayhanyulanda 4 года назад

      Baik. Terima kasih kak penjelasannya 👍👍👍

  • @jualbarang3732
    @jualbarang3732 5 лет назад

    sync sama async bedainnya dari apa bang ?

    • @ericodarmawan
      @ericodarmawan  5 лет назад +1

      Kalau kita menggunakan method async, maka method tersebut akan dijalankan secara terpisah dari aplikasi kita.. Sehingga, untuk melanjutkan aktifitasnya, aplikasi kita tidak perlu menunggu method tersebut selesai dijalankan..
      dart.dev/codelabs/async-await

    • @jualbarang3732
      @jualbarang3732 5 лет назад

      @@ericodarmawan ok makasih bang

  • @rahmadiqbal3555
    @rahmadiqbal3555 5 лет назад

    bg, saya sudah mengikuti langkah tiap tutorial ini, tetapi saya mengalami masalah, muncul error, "invalid argument(s)"
    saya perhatikan kodingan abang dengan saya sama persis,
    apa ada settingan atau yang lainnya yang kurang atau bagaimana bg
    mohon pencerahannya
    trima kasih
    errornya seperti ini
    drive.google.com/file/d/163TCOI2XB7GkufZpPtDT6Eok44v0mI7m/view?usp=sharing

    • @rahmadiqbal3555
      @rahmadiqbal3555 5 лет назад

      apa ada sorce code ini disimpan dalam github bg, saya pengen lebih mastiin code saya sama persis dengan tutorial ini, tq

    • @ericodarmawan
      @ericodarmawan  5 лет назад +3

      Itu sepertinya ada yg salah di parameter methodnya.. Kalau mau bandingin, bandinginnya ama video yg tentang Rest API nya.. Yg saya kasih Card referensi.. Mungkin salah di bagian itu..
      Kalau codingan, tiap selesai buat video, saya ga simpen lagi.. Sengaja juga ga ditaruh di git, krn video saya memang dibuat agar yg nonton itu ga cuma ngikut codingan saya.. Tapi mengerti konsepnya.. Kalau ditaruh di git, akan banyak yg tergoda tinggal ambil codingannya tanpa mau belajar konsepnya.

    • @rahmadiqbal3555
      @rahmadiqbal3555 5 лет назад +1

      @@ericodarmawan hmm gtu yaa bg, ntar saya coba cek lagi, terima kasih sebelumnya bg

    • @rahmadiqbal3555
      @rahmadiqbal3555 5 лет назад +1

      @@ericodarmawan sudah berhasil bg, ternyata ada yang slah ketik d code saya, terima kasih banyak bg

    • @ericodarmawan
      @ericodarmawan  5 лет назад

      @@rahmadiqbal3555 hehe.. Bener kan ada yg ga teliti.. :) tetep semangat yaaaa..! 💪🏻😁