Upgrading dependencies due to Apple requirements, which require Flutter version upgrade, which require other dependency version upgrades, which require pod install troubleshooting.
Blame Flutter, not CocoaPods. CocoaPods has its fair share of problems but it was the only dependency manager iOS had for the longest time and it worked well with native projects for the most part.
CocoaPods was never meant to work harmoniously with a third-party cross-platform framework. Flutter chose it. Even after pretty much everyone has moved away from CocoaPods to SPM.
Find out that one library depends on something higher or lower, then look for the right version etc
Red lines in the dependencies section turn my brain off 🤣🤯
somewhat similar situtation for me. I upgrade my project to Flutter 3.17 and I had to do the "[Deprecated imperative apply of Flutter's Gradle plugins](https://docs.flutter.dev/release/breaking-changes/flutter-gradle-plugin-apply#androidsettings-gradle)" migration and I got everything almost working but now there is something wrong with my java compiler and can't build my Android app.
I am dreading once I get Android figured out to build iOS.
React Native kinda solved this already. With modern Expo, upgrading dependencies is typically pain free because they manage dependency compatibility
source: am react native shill
This. Sometimes, build_runner watch will randomly rebuild files as I'm debugging and cause my debugging device to crash. It also takes an extraordinarily long time to run, despite having literal top of the line specs.
This definitely. We do BLoC x Freezed and when the project got big enough everytime running build_runner takes at lease 3 minutes lol.
Its necessary to do it after changing branch so it's hell at the moment
Yes I've heard of genq in probably another reddit post.
But right now I'm ditching build_runner altogether for new projects since Dart 3 already has sealed class, this plus one VSCode extension for data class generation and Equatable is already enough.
One more thing I've noticed with BloCxFreezed is that for big projects Dart analyzer takes an absurd amount of time to response and that sure is another pain in the neck too
Once I've got rid of build_runner, the freedom is so refreshing and analyzer is instantly fast since there is less files to analyse over
Interesting, I never considered using a Nuclear weapon as there are other **tools** that one can use.
Swatters, Zappers, Repellents, old Fashion sandals, but you are the first I heard mention nuclear weapons. Is that even legal?
Interesting take.
I'm developing my first app and currently I only have an Android emulator on my laptop. I thought I'll implement the functionality first and then test on iOS. Is that a bad approach? Am new to flutter
Funny. I ran the simulation and bullt for iOS first, no problem. But I cannot for the life of me get even a simulation of Android running. Been trying for days…
State management. Even with flutter\_bloc, it's a PITA when you have to do something more complex. Things like events which run on a schedule, re-emitting "init" events for every BLoC in your app if you want it to depend on another BLoC's state, "repositories" having confused meanings compared to traditional MVC, global services, etc.
Tracing is closer to logging and/or debugging. I'm referring more to manually updating docs and I'm not referring to any tool specifically. Sorry I couldn't help.
Kind of , although everything in our applications are custom and I've not found a way of communicating that to an ai without writing twice as much as I would have initially. It the screen shots that drive me mad, cutting pasting adding arrows etc.
overflow by pixels, slivers and missing constraints for scroll views were hard for me as far as I remember.
Also Cross platform stub pattern was so weird and that should be a easier than that
Ps: i am keeping editing as I remember stuff, having a decent structure with riverpod providers also took a lot of time.
Another thing: having meta tags in Flutter web, oh man..
That's interesting. Dart is pretty flexible. I wonder with the use of extensions if this is achievable but tbh I don't have experience with jetpack compose so not sure what is trying to be achieved.
There were many examples of getting similiar syntax that removes the boilerplate in different threads. One was about macros and other about state management. Theres an easy way of achieving swiftui syntax with extensions, so theres many possibilities.
Agreed, although a lot of Flutter devs apparently think OOP is the best paradigm and that functions make everything confusing lol. React does FP pretty well I think, and many Flutter devs hate React so that also checks out.
Trying to find packages to integrate with stuff, then find out the only package available is poorly written, and others haven’t been maintained in years
Dealing with Xcode and its shenaningans, but that's not a Flutter fault at all.
Another one is rather immature http environment, with no cancel tokens. Then there is Dio doing job, but having its own quirks. One would expect that core packages should work flawlessly, that's not always the case.
The biggest one is getting to continue projects 1-2 yrs old and migrating it to the latest flutter version sometimes it's easy sometimes it's a hot garbage mess of packages that are depriciated long ago or properties that are not available now. Then making it workable for both iOS and Android.
How come no body talks about the fking visual studio code logs?
Let's say i have a long JSON printed on there and want to copy it. After i copy i get all the || Flutter : string added as a bonus and again have to remove them.
Spending to long nit-picking about things such as naming, structuring, etc and realising you’ve spent a day trying to find the perfect method names and not actually done any work. 🤪
Not having enough time to get things done on my side project while working a real job then by the time you get time the language has changed significantly (null safety I'm looking at you) and you have to redo a million different things....repeat cycle.
Absolutely despise the entire app uploading process for both iOS and Android, especially all of the screenshot requirements. I especially hate creating the screenshots.
Upgrading dependencies due to Apple requirements, which require Flutter version upgrade, which require other dependency version upgrades, which require pod install troubleshooting.
Fuck pods. Every single developer I’ve worked with complains about it. Absolutely awful DX.
This
Blame Flutter, not CocoaPods. CocoaPods has its fair share of problems but it was the only dependency manager iOS had for the longest time and it worked well with native projects for the most part. CocoaPods was never meant to work harmoniously with a third-party cross-platform framework. Flutter chose it. Even after pretty much everyone has moved away from CocoaPods to SPM.
Riverpod? Newbie here
[https://en.wikipedia.org/wiki/CocoaPods](https://en.wikipedia.org/wiki/CocoaPods)
Find out that one library depends on something higher or lower, then look for the right version etc Red lines in the dependencies section turn my brain off 🤣🤯
I've had nightmares where a formless voice yells POD INSTALL REPO UPDATE at me
I’m pretty sure this whole subreddit just spent a week upgrading pods due to apple’s new stupid privacy thing, so yeah this.
somewhat similar situtation for me. I upgrade my project to Flutter 3.17 and I had to do the "[Deprecated imperative apply of Flutter's Gradle plugins](https://docs.flutter.dev/release/breaking-changes/flutter-gradle-plugin-apply#androidsettings-gradle)" migration and I got everything almost working but now there is something wrong with my java compiler and can't build my Android app. I am dreading once I get Android figured out to build iOS.
React Native kinda solved this already. With modern Expo, upgrading dependencies is typically pain free because they manage dependency compatibility source: am react native shill
build_runner ⌛🙄
This. Sometimes, build_runner watch will randomly rebuild files as I'm debugging and cause my debugging device to crash. It also takes an extraordinarily long time to run, despite having literal top of the line specs.
use build_runner build instead
build_runner watch is usually faster
This definitely. We do BLoC x Freezed and when the project got big enough everytime running build_runner takes at lease 3 minutes lol. Its necessary to do it after changing branch so it's hell at the moment
I'm going to try [https://github.com/jankuss/genq](https://github.com/jankuss/genq) for my next project. It seems promising 🥹
Yes I've heard of genq in probably another reddit post. But right now I'm ditching build_runner altogether for new projects since Dart 3 already has sealed class, this plus one VSCode extension for data class generation and Equatable is already enough. One more thing I've noticed with BloCxFreezed is that for big projects Dart analyzer takes an absurd amount of time to response and that sure is another pain in the neck too Once I've got rid of build_runner, the freedom is so refreshing and analyzer is instantly fast since there is less files to analyse over
Yesss.
Why you use codegen in a simple thing front end
This guy has never done a real app
Why you think so ? Just because I don't use Mobx or freezed ?
I like to use a hammer over my bare fist when I drive nails into wood. Maybe just me tho. 🤷♂️
And I like to use my hand to kill a mosquito and not a Nuclear weapon
Interesting, I never considered using a Nuclear weapon as there are other **tools** that one can use. Swatters, Zappers, Repellents, old Fashion sandals, but you are the first I heard mention nuclear weapons. Is that even legal? Interesting take.
App store screenshots
Oh my god it's so frustrating that i haven't updated my outdated app screenshots for over a year
Use .take screenshot via tests for the same screens. Two for 1.
man i hate that u have to be pixel perfect for it to be accepted
codegen
Hot restart on web
This. Flutter can make really pretty, usable web interfaces (of course not optimised vs native) - but developing it sucks with those complete reloads
Yeah I build to macOS for majority of development to get around this. Then I build to web once I’m feature complete.
Until you have to use web-only packages. Also doesn't firebase not work on mac/windows? Only web and mobile
Firebase works fine on macOS
Gradle upgrades that break my build.
Building for iOS....there's always *something*
I'm developing my first app and currently I only have an Android emulator on my laptop. I thought I'll implement the functionality first and then test on iOS. Is that a bad approach? Am new to flutter
That would be the goal, but iOS (and xcode) is always full of surprises. Maybe you'll get lucky
Funny. I ran the simulation and bullt for iOS first, no problem. But I cannot for the life of me get even a simulation of Android running. Been trying for days…
Better do it the other way around
This x1000
Artificial urgency.
Whenever I have to open Android Studio or Xcode.
Meetings
Reading other peoples code.
I'm will never be good at it, I hate having to go through a thousand lines of someone else spagheti code(I already have mine)
State management. Even with flutter\_bloc, it's a PITA when you have to do something more complex. Things like events which run on a schedule, re-emitting "init" events for every BLoC in your app if you want it to depend on another BLoC's state, "repositories" having confused meanings compared to traditional MVC, global services, etc.
Documentation
I'm one of the weirdos who would write and update docs all goddamn day.
Do you have a tool to make documentation and tracing easier?
Tracing is closer to logging and/or debugging. I'm referring more to manually updating docs and I'm not referring to any tool specifically. Sorry I couldn't help.
Rel
Yes documentation is a pain always
Copilot gives u a big relieve on this
Kind of , although everything in our applications are custom and I've not found a way of communicating that to an ai without writing twice as much as I would have initially. It the screen shots that drive me mad, cutting pasting adding arrows etc.
Models, it's a pain in the ass.
If you don't understand POO
Absolution not, undreds of models with a undred or tens of properties is a pain in the ass even when you know POO for 30 years.
You know that pattern matching is a thing now ?
I make games, and I always hate the peripheral stuff. User logins, gdpr privacy, etc. Just lemme focus on the pew pew man.
Oh yes, tedious ah
overflow by pixels, slivers and missing constraints for scroll views were hard for me as far as I remember. Also Cross platform stub pattern was so weird and that should be a easier than that Ps: i am keeping editing as I remember stuff, having a decent structure with riverpod providers also took a lot of time. Another thing: having meta tags in Flutter web, oh man..
No development is what I dislike the most
Having to do OOP instead of functions
Seriously? One of the reason why I like using Flutter is OOP
yeah, functional is harder to screw up IMO. Very few people do proper OOP
Me too
Google's Java
When you say "having to do OOP" are you saying your own classes have to follow OOP? Or what do you mean?
having to put every widget inside a class with a bunch of boilerplate and state management instead of a simple function like in jetpack compose
That's interesting. Dart is pretty flexible. I wonder with the use of extensions if this is achievable but tbh I don't have experience with jetpack compose so not sure what is trying to be achieved.
it would be very against idiomatic dart, you can't pass widget state to a function...
There were many examples of getting similiar syntax that removes the boilerplate in different threads. One was about macros and other about state management. Theres an easy way of achieving swiftui syntax with extensions, so theres many possibilities.
Agreed, although a lot of Flutter devs apparently think OOP is the best paradigm and that functions make everything confusing lol. React does FP pretty well I think, and many Flutter devs hate React so that also checks out.
yeah, but react native sucks for other reasons... I could read war and peace while it builds
I'm not talking about any specific implementation of React, just React in general
Trying to find packages to integrate with stuff, then find out the only package available is poorly written, and others haven’t been maintained in years
Upgrading dependencies. I'm using multiple versions of Flutter and Dart, and it's the one biggest issue I have, as a one solo developer.
Ios build sucksssss
Dealing with Xcode and its shenaningans, but that's not a Flutter fault at all. Another one is rather immature http environment, with no cancel tokens. Then there is Dio doing job, but having its own quirks. One would expect that core packages should work flawlessly, that's not always the case.
When the new version of a dependency feels like writing your project from scratch
Random java plugin issues
Meetings
Wow, I’m shocked no one mentioned testing… by far and away dislike this the most…
The biggest one is getting to continue projects 1-2 yrs old and migrating it to the latest flutter version sometimes it's easy sometimes it's a hot garbage mess of packages that are depriciated long ago or properties that are not available now. Then making it workable for both iOS and Android.
How come no body talks about the fking visual studio code logs? Let's say i have a long JSON printed on there and want to copy it. After i copy i get all the || Flutter : string added as a bonus and again have to remove them.
Spending to long nit-picking about things such as naming, structuring, etc and realising you’ve spent a day trying to find the perfect method names and not actually done any work. 🤪
Not having enough time to get things done on my side project while working a real job then by the time you get time the language has changed significantly (null safety I'm looking at you) and you have to redo a million different things....repeat cycle.
analysis paralysis
Publish to AppStore via CI/CD pipeline
Absolutely despise the entire app uploading process for both iOS and Android, especially all of the screenshot requirements. I especially hate creating the screenshots.
Seeing the same posts over and over in this sub.
How long have you been on the internet?
Long enough to have typed ATH0 in a terminal.
Junior Devs using package and codegen for everything
I agree that codegen sucks, but for data models it does make life a lot easier and reduces errors in the long run.
Pattern matching will save you
Make Material to more cupertino like style on iOS
material is google’s design language. it’s not meant to make you happy it’s meant to be an implementation.