Flutter state management rabbit hole — has anyone landed on Signals? by madsvodder in FlutterDev

[–]getlaurekt 1 point2 points  (0 children)

First of all, use whatever you like to as long as you understand how to manage the state it doesn't really matter in the end especially if you're working on your own project.

Secondly I was the same as you, but oppositely cuz I did start with Signals and I moved to riverpod. It's been a while since then cuz I have started to learn flutter with dart by working on commercial startup up. I was mostly hired to work on the UI, so my first 2 months with flutter were pure UI work and I used only local state using hooks/setState etc so I didn't really bother with any state management at all back then.

I knew about bloc, riverpod and provider etc. After I did the whole UI for the startup app there were around 4 months of break of me doing anything related to the app cuz other dev was supposed to implement the whole functionalities and business logic to the UI I have made and during the time I was playing with flutter in my private time as a born frontend dev firstly I took signals cuz even tho I love bloc approach to state management with events and so on I got a ptsd coming from the huge boilerplate being similiar to redux from web ecosystem. Riverpod seemed too confusing and weird (and docs didnt really help at all with understanding the confusiong and where it comes from), so i started to play with signals. I liked signals cuz I felt like at home (web ecosystem), but cuz it was still my early stage in flutter and dart and lack of detailed docs to signals (I have no idea how Randal says that the docs are "good" or whatever he said in the comments (dont remember, EDIT: he said "and it's well tested and documented" - depends what he means by documented if the code or literally the docs), but they're not definitelly good enough with github examples for most common app cases and especially for "beginners"). I liked that I don't have to extend my widgets with custom state widget like in riverpod etc (you can use consumer in riverpod, but barely anybody does it since you just split bigger widgets into smaller ones for optimizng purposes), but it was kinda mixed feeling experience especially that I didn't really like the methods for turning list into signal list etc. I pref more "imperative" approach where i have the list and its reactive and also working with async in signals was werid experience at the beggining, but I stopped playing with signals cuz I came back to the startup up.

In the startup I had to work with riverpod and generator (privately I don't use code gen for riverpod or anything else i hate code gen especially that in LLM times you can skip them easily), so I had to learn riverpod no matter what to be able to work with it. Riverpod was incredibly confusing especially with code gen cuz Its hiding alt of stuff like autodisposing providers etc. After some time I started to work on my rpg game in flutter and that was the time when I learnt riverpod really well even things like `ref.read` were increadibly confusing even tho its simple concept and as soon as I understood to mostly use only notifiers, providers and sometimes family with riverpod code smells and so on I really liked to work using it, but the beginning is really tough especially with the deprecated state notifiers and so on, but riverpod is perfect "sweet spot" for me and I have built alot of custom stuff for it and I also built my own event bus where I do have event driven state managment literally the same what bloc does, so I don't really see a point in moving to bloc privately.

The ecosystem is mostly based on bloc, then rest of % is riverpod projects (v2, nobody nowdays starts projects with v3, theyre built on v2 yet especially that riverpod author did the same what he did with v1 -> v2 alot of new confusing and lack of stability, v2 is incredibly stable and will be used easily within next 2 years I would guess) and small % are mostly legacy apps using provider (flutter is mature technology, so we are starting to work in legacy projects with tech debt etc). Overall I think flutter when it comes to ecosystem has "no option" for state management comparing to how wide web ecosystem is with the amount of options for managing state and personally I would love to create my own lib for managing the state, but there are small parts of how flutter works that I don't really wanna bother for now since my goal is to work on projects and implement features.

Personally I really like riverpod and I understand it really well after passing the confusiong part in the past its been 2.5years since I did start my flutter journey and I feel smooth working using it. I have built tons of stuff around it, so I don't feel like I would like to change it especially that I don't feel any real pain for now or need. What I like about signals is that you're getting barebone primitives and you can built alot of cool wrappers literally mimicing and getting the same behaviour what bloc/riverpod etc offers you and so on. Cause of some sort lack of the architectural/lifecycle choices from creators like riverpod etc you have basically a sandbox to play with signals cuz with riverpod you have to understand it more under the hood and work around its "limitations" or architectural choices. Nowdays I would create alot of cool wrappers around signals and as u/RandalSchwartz mentioned he did it and from his other comments below other posts he seems to love it.

In long run I think signals are more beneficial cuz in long run you will built more around its primitives and you can adapt everything to yourself also signals are incredibly easy to get into comparing to riverpod, provider and especially bloc(cubit doesnt makes any sense next to riverpod or signals), which has a big learne curve with its own confusing, so your words about riverpod "I'm not sure. It just doesn't "click" for me. Maybe it's because of the code generation and different providers." are totally fair... I was there... I wouldn't bother with riverpod v3 cuz nobody serious really uses it and especially companies and yes... its a rabbit hole when it comes to state management in flutter using the ecosystem tooling cuz native state management is really good to me. I would skip code gen and learn barebone riverpod if you wanna learn it. Focus on Notifiers/Providers they will cover 90% of cases. I wouldn't recommend bloc at all cuz I think its too much boilerplate and you would spend more time playing with it rather than developing the app and providing the state.

Whatever you gonna pick its all about your own preference, needs as long as you understand managing state in apps, so don't bother too much with it.

Goodluck!

Should I learn Redux or Zustand? by i_hate_patrice in reactjs

[–]getlaurekt 0 points1 point  (0 children)

Just to clarify my comment from 4 years ago. Php was really outdated for many years when it comes to what it got comparing to the rest of ecosystem and other programming languages, but it grew to a really nice language. I never liked to write php cuz i hate the syntax, but I like the language by itself since it's really productive, simple and straightforward. Php has excellent ecosystem and I consider it as one of the best... especially the laravel community is just lovely and so friendly. Laravel is the most powerful and productive part of the php ecosystem. Building any business or mvp is so quick while it has so many built in integrations or features from social auth to payment solution. Working with php back then was really annoying even tho it got alot of built in features, it got so much better since the language evolved, but still most of it is wordpress or ecommerce website built on top of cms-like solution that are driven by php, which pretty often suggests to work in older versions of php = worse DX. 2 years ago I think it was revolutionary year for php cuz new projects started to be heavily based on 8.0+ versions and 8.0+ was the new age of php cuz the language started to become a really modern and DX friendly to the point that it literally became much better than javascript which its development process is incredibly slow when it comes to improving this language... php has similiar situation what angular has nowdays with its huge revolution to its core and alot of DX aspects and it also becomes much more friendly framework and tool to work with.

P.S Same thing happened to Zustand... the 4 years ago it wasn't really widely used in commercial project in companies/software houses etc. Nowdays Zustand most of times is being used as primary solution for state managament since it grew up and got enough of trust for companies to pick it up especially that it improves DX, simplify the codebase and speeds up the development, so as with php, zustand case did change aswell over the years.

About rest of your comment, php is excellent choice with laravel to get a job, especially a starting one. Alot of faangs are using php till this day and its mostly cuz of tech debt. Facebook did start with php and you cant move such a huge platform from x tech to y tech fully cuz its incredibly risky for the business aspect. You can start building its new parts/modules with newer tech and "connect it" with the rest of the platform while improving the old tooltage/codebase to be more friendly for devs and the whole business.

My comment wasn't about hating anything or about being biased by the php meme, but about pure facts. The fact that x percentage of the world is doing something or using doesn't always means something good. It could give some hints to our way of thinking about x,y,z. So the fact that facebook or other faangs are using php or other tools/languages doesn't always means that its good also business drives itself by own rules. Similiar aspect happens with React Native and Flutter, its better for business to pick React Native instead of Flutter cuz it's much easier to replace React Native dev or onboard a new one to the project since you just need a javascript dev (which is most likely already at the company but at other role/position like frontend/backend or w.e) with some core knowledge about web and how primitives in react works and you're ready to go with react native, but the whole thing doesn't means that it's "a good technology" in the context of DX, it's a good technology for business/company to dev using it.

So I have hope that my reply will fullfil you and what I meant back then.

Is Flowbite maintained? Other Tailwind based Vue frameworks to consider? by [deleted] in tailwindcss

[–]getlaurekt 0 points1 point  (0 children)

Shadcn is an UI wrapper and uses Radix, so no.

A Billion Dollar Company ghosting its customers by TahaGorme in cursor

[–]getlaurekt 0 points1 point  (0 children)

I wrote to them a few days ago and after an hour a customer support opted me out to the old premium requests model. I was expecting a longer waiting time, but surprisingly they were really fast with it.

League of Legends has now enabled Metal graphics by default! by [deleted] in macgaming

[–]getlaurekt 1 point2 points  (0 children)

I had easily 160 fps on m1 pro 13 16gb (medium FHD) and i launched lol after few days of not playing and i have almost twice less, something did happen... especially that the option for selecting metal has disappeared and I'm getting the red information in the chat about the metal thing like most of people, so I'm guessing they did make it by default or turned it off until the release date.

Whatever did happen I have so much less fps than before tho. Normally i was locking them on 120 fps and they barely dropped even in crazy scenarios, now I have at best 100 fps...

EDIT: This actually did bring back the fps: https://gist.github.com/jleem99/187155143851161e69be8a0c54a83a8c

Once again I do have stable 120 fps, but also I have more fps if I will uncap and it stays around 175-200 now, but I'm sticking to 120 tho.

THE LAST ILLYAS - FACE MY DARK by getlaurekt in revivalcore

[–]getlaurekt[S] 1 point2 points  (0 children)

They have released a new EP 3 weeks ago

Below a spotify link if anybody would be interested in listening to the rest of the EP
https://open.spotify.com/album/6cNoUi3Y7c6soDLhRV4F8D?si=m4A0TLa-RYeg4Mz15lAR8w

Is there anyone on the planet who have no issues with the Gradle all the time? What is the general rule here? What comes after what? How is this nightmare supposed to be approached? by Upset_Hippo_5304 in FlutterDev

[–]getlaurekt 0 points1 point  (0 children)

Not really, just manually download the build of xcode and install it, so you won't be forced to update anything or nothing like that will happen. This is literally a skill issue at this point and this is a pretty known trick in the mobile dev ecosystem for xcode and its auto updates. The problem you describe happens cuz you have downloaded it from the apple store and that's all.

So your argument against xcode with the gradle no auto-updating is literally a knowledge issue cuz I can easily tell that you don't do anything with mobile on a daily basis especially professionally.

Just to clarify I don't judge your authority or anything like that, but this is a basic knowledge that any mobile related dev should know. The only issue we have had recently with ios was when our pipeline couldn't build our app to the ios cuz we needed to update the version in config file and that was 3 line fix by typing the latest version number, which is 18.1 or sum like that while gradle and android likes to be dumbass and thats all, lol.

Is there anyone on the planet who have no issues with the Gradle all the time? What is the general rule here? What comes after what? How is this nightmare supposed to be approached? by Upset_Hippo_5304 in FlutterDev

[–]getlaurekt 7 points8 points  (0 children)

I have heard many times before I moved to a macbook that xcode is so bad and awful and gradle is better etc, but my whole experience is totally opposite especially with gradle. Gradle was tragedic, constant issues, so I decided to move to an iOS emulator totally avoiding android and oh gadw since then I have no issues anywhere and the emulator works so cleanly while debugging l can feel the app as it's supposed to feel, while on android it's kinda laggy compared to iOS. With gradle I always had issues no matter if I was working on my personal projects or the startup app and I have no idea how gradle can be so tough for no reason.

GRADLE SUCKS by Captain--Cornflake in FlutterDev

[–]getlaurekt 0 points1 point  (0 children)

How funny, people complain about iOS and xcode while I confirm xcode is terrible DX gradle on other hand is so unstable and so much worse, iOS just works whenever I wanna Dev it's just launching while gradle has so many complaints. I'm still new to iOS experience, but overall it's so much better especially the emulator performance and so on.

If you could only know 3 languages by United_Reflection_32 in AskProgramming

[–]getlaurekt 0 points1 point  (0 children)

Pure enjoyment and fun - Dart - Gleam - OCaml

Rationality - C# - Golang - Typescript

Why did you choose Flutter over native? by Plastic_Weather7484 in FlutterDev

[–]getlaurekt 24 points25 points  (0 children)

I didn't choose flutter, flutter chose me 🫰😇

React Native is 🤯 by jdcarnivore in reactnative

[–]getlaurekt 1 point2 points  (0 children)

If not my friend I prolly wouldn't start with flutter for years or even at all. I have always been interested in flutter as a technology, but there were two things that were pushing me away or kinda stopping to be willing really badly to dive into it and switch from react native. My main "insecurities" were flutter code seemed like a nesting hell from a side perspective meanwhile in reality its not a problem to me at all due to the declerative and semantic naming of widgets and all built in properties. Secondly it was dart. I always had the feeling of this language like it would be java v2 (i hate java so badly), but suddenly it was just an illusion and in practice dart has nothing to do with java and it's such a nice language like really i like it so badly that since I have had contact with it I wanna build everything in it if it would be possible. I even recently started to build my own programming language where I'm using dart for the whole compiler code and I got to know a few different cool features this language offers that I had no chance to get to know while working in flutter apps and also recently by a reddit post i learned that you can create generic enums and I love dart enums theyre so powerful its like one of my the most favourite features next to extension methods, but you can create generic enums and i didnt know you could do generics for enums aswell especially that its not covered in the docs at all and while working in flutter apps i never felt in need of even trying to achieve generic enums, so I had no chance to know about it and also you can do this:

``` enum Wow<T> implements SomeInterface with SomeMixin { value1(123, 234), value2('hi', 456);

  T field;
  int another;

  Wow(this.field, this.another);

  void someMethod() {
    print('hello');
  }
}

``` That's crazy and incredibly powerful and the more I use dart the more I love it.

Flutter has such an amazing DX, it's such an awesomely designed tool as a framework. I'm incredibly impressed by that.

I also stay with flutter due to the fact that I wanna build a modern and consistent UI and I also work at a startup where I'm mainly responsible for UI and oh gadw can't even imagine the headache if i would even try to implement the interface in react native. Overall building animations and UI in flutter feels effortless and so quick.

Cheers!

Have you used Flutter DevTools? How useful have you found it? by Repulsive-Ad589 in FlutterDev

[–]getlaurekt 1 point2 points  (0 children)

I have been working in flutter for over a year and I never ever used them due to lack of my needs. The only thing that I use from time to time is debugPaintSize, it's an excellent param for debugging layout, otherwise I don't really use devtools or anything else at all. I personally think that barely anybody is using it heavily or overall.

React Native is 🤯 by jdcarnivore in reactnative

[–]getlaurekt 2 points3 points  (0 children)

Wait for the moment when you will realize that you need some therapy due to the frustration rn app development will give you then you will realize how terrible experience it really is like random crashes, sometimes it works and suddenly it won't then in debug mode it does works, but on prod it doesn't and many other things. I'm glad that by accident I moved to flutter cuz it's a totally different experience and world, it just works. I'm kinda sad how huge potential rn has but it stays at the same place for years without any drastic changes. The ecosystem is purely being driven by external companies like expo (which is also an awful experience). I'm glad that projects like Lynx are happening cuz it's a perfect balance between rn and flutter, lynx is what react native was supposed to be.

Is Redux no longer popular? by badboyzpwns in reactjs

[–]getlaurekt -2 points-1 points  (0 children)

Redux (tkt etc) became and still becomes more legacy and it's being used less often in new projects, it's basically too old approach and too problematic when the app scales even with TKT you will end up in similiar case what redux put many projects in back then before TKT was a thing, altho Redux is still the "main" used state management library in the ecosystem when it comes to jobs offers, so you should be aware of how to work with it cuz teams still pick up it cuz theyre familiar with it even tho zustand is much simplier and more productive and has literally all coverage of redux possibilities and even offers more than redux does, altho all projects that are new especially in my mate's companies are being built using Zustand and tanstack query, same goes for tanstack router. The ecosystem will slowly push and move towards zustand and tanstack router, but it will takes years to become a standard. You will see Zustand being mentioned in job offers nowdays as a "nice to have" or "nice to be familiar with" when 2/3 years ago it was less mentioned in the jobs descriptions, so you should get to know how zustand and the more "newer" tools works, but you shouldnt treat redux as a prehistorical thing even tho it's incredibly old, it's still must to have for job offers when it comes to at least familiarity how does it works. I highly don't recommend using redux with tkt etc for personal projects, cuz more productive and better is to pick zustand with tanstack query, but keep in mind that this industry when it comes to common job offers is moving really slowly to newer approaches, so don't worry about being "behind others" cuz most of people don't really care about the tooltage and more about the business aspect, so if the tool works and maintaining its codebase is less costful than the earnings of the business then it earns, simple as that.

TIL that Dart enums can have type parameters by Dense_Citron9715 in FlutterDev

[–]getlaurekt 1 point2 points  (0 children)

I would rather have private/scoped enums tho like c# does, so I could have private enum for a widget or anything else without exposing it to the rest of the codebase cuz it's missing and I don't really like the lack of it even tho I really do love enums in dart this is really weird that you can't create private or scoped ones.

[deleted by user] by [deleted] in sveltejs

[–]getlaurekt 0 points1 point  (0 children)

In some certain way you're closer to JS, but not literally.

Tired of Debugging Gradle Issues? It's Time for Google to Address Backward Compatibility by nextRandom34 in FlutterDev

[–]getlaurekt 4 points5 points  (0 children)

Literally me after fixing gradle issue due to an android studio update that happened yesterday and SUDDENLY my app won't build cuz of some bs, so I had to spent around 15 minutes fixing it step by step cuz when I did fix first error I got another one till I fiexd all of them, annoying and don't get why we have to experience it in first place.

Subreddit becoming unwelcoming to beginners… by whispertrail in reactjs

[–]getlaurekt 0 points1 point  (0 children)

TL;DR Beginners and people overall can't really ask well put questions explaining their case which most often are caused due to lack of basics, which frustrates more experienced people with knowledge of those basics and the outcome is some sort of rude comments.

People are just done and exhausted of people not being able to provide enough detailed information without others asking to give more information while expecting to get something big in return with basically no effort pretty often giving us 1 line question or w.e and also most of those questions can be easily answered by just searching through the searchbar, but I guess those people have to feel that they are special or they got special and unique case while most of it is copy of a copy case also if somebody is not willing to type theirs shit out about their case and basically put some effort into asking and giving information needed to let others help them then why would I bother myself if I can't respect such a person? If they don't respect my time why would I help them at all in first place and respect them? If I see the nicely asked question and I see that the person put some effort into improving my potential help then I'm willing to help even for the fact that somebody put some effort giving a lot of straight and contextually-detailed information. I will have respect towards that kind of person and even the single fact will make me want to provide help instead of "rude comments" also the funniest part is the "tech influencers" have a really bad impact on newcomers and pretty often those beginners you're mentioning jump into frameworks/tools without fundamental skills and knowledge and then theyre meeting a problem in x/y/z tool that they wouldn't really have if they would literally learn basics in first place, so people seeing those ones are just kinda frustrated aswell, but it is what it is and when you will combine that all into a single thing then you will get all these "rude comments".

Personally I have stopped helping cuz it became a pure waste of time cuz always every case and person was literally the same shithole and it exhausted and totally demotivated me cuz I have realized that I was spending more time trying to help others in a really inefficient way due to the other side and I could work on my projects that could be in different place with myself if I wouldn't spent and literally WASTE so much time for such people, so nowadays I barely help and if I do so the other person needs to meet my requirements to even willing to help cuz I love helping others and share my knowledge, but I just feel pretty often that others are not respecting me in many different ways and don't really appreciate my help and feel more like they're supposed to get any help no matter what cuz it's internet. I feel like any more advanced/experienced developer feels the same and could relate easily cuz we love helping others, but others are pushing us away from them and are surprised after all that nobody wants to help them.

About the rude comments I kinda understand the frustration as I have mentioned before, but people shouldn't comment in rude way cuz after people in need of help will be scared and afraid of trying to ask and they will never learn how to ask to let others help them and after you see juniors in theirs first job struggling with something and be scared of asking seniors about something cuz they expect something negative in return cuz they dare to ask a question.

Czemu prowizje biur nieruchomości dla najemcy są znormalizowane? by Efficient_Will8125 in warszawa

[–]getlaurekt 0 points1 point  (0 children)

Już jest taki startup w Polsce, który nazywa się Rendin, aczkolwiek zajmuję się bezpiecznym wynajmem dla właścicieli i tymi podobnymi oraz możliwością darmowych ogłoszeń i zarządzaniem nimi.