How to Evaluate Flutter Dependencies (or, why I won't use GetX)

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

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

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

    GetX is the perfect example of "why you shouldn't try to do everything at once " .

    • @catagna7273
      @catagna7273 7 หลายเดือนก่อน

      but isn't that flutter do?

  • @pheenearts7075
    @pheenearts7075 ปีที่แล้ว +9

    I have been using GetX for a week so far. I have not found any error at all. Obx is amazing. Its builder is wrapped into it. It is more of a listener. Was thinking of using hooks but hooks is not compatible wity GetX. That is one issue. I feel like GetX is still growing. All it needs is a supportive community and soon Bloc will be second best. Lol

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

    Great detailed analysis! In Russian community segment, they organized debates about GetX. People talked about it for 2 hours and didn't say anything helpful or worthy. You put in 20 minutes video more useful information.
    Thoughts:
    1:50 - it's not similar to Provider (it doesn't use context lookup), but it's a clone of get_it package (service locator). It's not a singleton as it still allows providing abstractions:
    Get.put(Cat())
    4:30 - looks like you didn't found the documentation, it's hidden well in the repository "documentation" folder. It explains many things. An author decided not to document the API but to describe it in the .md files in his repository.
    7:30 - it's an old way of creating controllers. GetX provides Bindings, allowing you to bind your controllers to routes (with autodispose on route close)
    8:35 - you should use you should use Get.put, not Get.create, and GetView, not GetWidget, to lookup the registered instance. Get.create / GetWidget are used in pair only for list entry controllers.
    20:00 - wow, you found my issue :)

    • @flutter--help8127
      @flutter--help8127  2 ปีที่แล้ว +2

      Oh man it's been since December 2021 and that PR still isn't merged! Brutal

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

      @@flutter--help8127 the biggest pain of GetX that it still doesn't support Navigator 2.0. He has only small example with strange RouterOutlet and rootDelegate things. And it isn't documented at all. He promised to write a manual since last summer and still didn't.
      That's the main reason why I left GetX.

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

      @@sergey_molchanovsky what about now ?

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

    I never liked Getx just because it tries to do so much for no good reason. And never did I feel comfortable using it. This plugin is trying to redefine Flutter and doing a very bad job at it.

  • @darul-asar381
    @darul-asar381 ปีที่แล้ว

    thank you for the useful and detailed analysis of this package, I want to convince our manager not to use GetX, since he believes that GetX is very easy to use, but practice shows that this ease will be followed by big problems that will be very difficult to get rid of

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

    I'm in the middle of a very complex app using GetX for state management and dependency injection. I'm contemplating moving to riverpod but get his does what I want it to do with less code. I only compile those two functionalities therefore no problems with the size.
    What I like most about GetX is, the fact that I'm able to create and manage Animation Controllers within the View Controllers. That is much easier than Hooks or any other solution. Another thing I like about it is how it enable you to create and work with View Controllers.
    Regardless the use of GetX when using for state management and dependency injection is so minimal it should be easy to replace it with another framework.

    • @DholaSain
      @DholaSain 2 ปีที่แล้ว

      Getx is best. don't listen these dumb people.

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

    Is it performant as it claims? It seems to make some aspect of Flutter very easy to work with. It is true that the documentation is lacking but it has original translation for many languages that might be more useful for somebody.

    • @flutter--help8127
      @flutter--help8127  2 ปีที่แล้ว +2

      I did not do any of my own research but found a couple strange github threads.
      github.com/jonataslaw/getx/issues/789
      github.com/jonataslaw/getx/issues/243
      I think there's a big difference between EASIER and BETTER. It's true GetX gets people up and going almost instantly and is incredibly easy to start off with. But after doing some digging through issues and reddit I've found several posts now where devs with a large and complex app are finding it become spaghetti code or even running into gotcha's with GetX, completely blocking them.

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

      Unfortunately no.
      There are some tests, showing GetX custom realization of notifiers are x3.5 times slower, than Flutter built-in notifiers.

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

    Really great video. Helped me a lot. I've been using Flutter for 3 years now and just had a brush with GetX. Can you explain to me who uses GetX and why? I suspect it's people who started with GetX and never worked with straight Flutter. I can't imagine anyone working with Flutter for a couple years and then going to GetX. Is that accurate or am I missing something?

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

      I started flutter without any state management package. Used setState() everywhere. But eventually my code got messy, and often I get loss in a big project. Then I saw getx, use it, and find my code cleaner than ever. So yeah you're missing a lot of things, not about getx but about different people's different comfort zone. Although I agree it's all-in-one package, and it may be consuming too much memory, but I am not interested in going back to those old days. If there is something lightweight then getx and makes my code organize, then I will consider switching.

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

      @@glitchlover260 have you tried Riverpod v2.0 ?

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

      I was learn and use setState, after that provider, last project using GetX its ok

  • @alfredoa334
    @alfredoa334 2 ปีที่แล้ว

    Great video!!! Thank you very much.

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

    excellent reviews thanks!

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

    I'm a getx girl here but i find this discussion to be interesting.

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

    Your comparison with others is not fair. GetX does more than 10 things, and you're comparing it with Riverpod, Provider, BLoC that so only state management ! You should only compare them with only GetX state management.

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

      That's exactly another problem with it. It's trying to take over Flutter essentially

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

      @@k4ba has Laravel taken over PHP ? It's there to simplify the work. That's the same thing with GetX : simplification !

    • @kevinantony714
      @kevinantony714 2 ปีที่แล้ว

      @@francisndubanumbi648 preach brother preach

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

    stop complaining if you think lack of documentation go and help them to create proper documentation

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

      This is an analysis video... don't get mad buddy.
      But yeah, basically... screw GetX

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

    I dont understand though, most issues i've see is the dialogs/some UI element. So if you dont use the built in dialogs, you can still use the default way where you fully code up a dialog. So why is that so bad compared, to the normal way? I've always felt this unsettling feeling that getx is bad, but I cant really justify it because it allows me to build up the app fast and most issues I've faced usually result in a quick search to get a solution. I believe there are.quite a large base of ppl using, therefore there are many "solutions"

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

    Or maybe there are few questions, because few applications use it? many serious companies use REDUX.
    and secondly, the most important thing in GetX is little code, really little, for me personally this is the most important thing

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

      I though big companies use Bloc

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

    Getx for me is a new framework on top of flutter

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

    Getx makes your life simpler.. some developers dont like peace .. they like problem .. only such people use bloc 🤣🤣

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

      Use mobx + get_it + auto_route + slang - and you will have the same instruments as getx, but better, stable and without performance issues.

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

      @@sergey_molchanovsky can i get what's the issues on getx ?

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

      ​@@rudiansyahalpontianaky8356 in brief, GetX lacks of Actions, Computed (which present in MobX), has numerous bugs (`append` in StateMixin does not work at all, dialogs are buggy). Translations are based on outdated `easy_localization`. `slang` is much better. `update()`-notifications are based on some "mini-streams" which are 3.5x times slower than standard `notifyListeners` (proven by independent testers). And the main problem, it does not support Navigation 2.0 (more than a year passed since then!). Also, it looks abandoned by its creator (600+ issues which likely won't be resolved).
      GetX tried to be all-purpose sole package, and does it bad.

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

      @@sergey_molchanovsky where i can get detail of reviewing like this and more things in getx maybe article or else ? i want to see result test of observable . obs too,and else ?

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

      @@rudiansyahalpontianaky8356 don't spend your time, bro. GetX is a pure garbage.

  • @gopinathp4953
    @gopinathp4953 2 ปีที่แล้ว

    Considering Performance and resource consumption, can I use Getx for quite a large apps or not??

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

    You are using it the wrong way, don’t even try if you don’t want to learn how to use it…

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

    Make Video On Riperpod😎✌️

  • @dolbysoundsofficial9323
    @dolbysoundsofficial9323 2 ปีที่แล้ว

    Gets Worst

  • @Mobik_
    @Mobik_ 2 ปีที่แล้ว

    Wait... the snackbar doesn't push up the FAB using a Scaffold with GetX?! LOL

    • @flutter--help8127
      @flutter--help8127  2 ปีที่แล้ว +4

      Indeed, this is a consequence of showing dialogs and snack bars without a build context. A build context describes a widgets existence and without it they cannot react to the GetX snack bar.
      GetX snack bars and dialogs are effectively hacked+stacked on to the screen due to the lack of build context.

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

    People who Support Getx is Noob🤣

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

      That's not cool man

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

      people who use provider are college students who are forced to use it because their professors asked it as a requirement.. companies wants native and real programmers use getx for their clients project but told peers they use bloc or riverpod ^^

    • @jeslinjacob6472
      @jeslinjacob6472 2 ปีที่แล้ว

      This guy has no clue of what he's talking 🤣🤣 its sure that hez a noob

    • @lord-jarc
      @lord-jarc 2 ปีที่แล้ว

      @@subrotoxing8214 accurate xD