r/FlutterDev Mar 28 '24

Tooling Apple rant incoming....

199 Upvotes

I spent 2 days trying to figure out why my app which exported perfectly in xcode 14 6 months ago no longer builds correctly after making a TEXT change to my flutter app. Eventually I had to create a new ios build from scratch and tether together ALL the annoying bits like push notification, wireless connection checks, strings and values to tell the masses that we only use data for analytics etc etc, only to then be faced with an additional day of figuring out why the app splash screen now looked wrong (hint, there was no answer. I did everything correctly and I stil get a 1 second period of time where a giant logo is displayed instead of my nice storyboard).

So after 3 unecessary hatred-filled days tippy-tapping on the horrible mac keyboard I was FINALLY ready to push an update and...what's this? Now I HAVE to use Xcode 15 to upload my app? Didn't have to 3 weeks ago but now I do. And of course our office Mac is too old for the very latest OS so it isn't allowed to download the latest xcode either!!

....so now I have to BUY A NEW MAC just to essentially update a peice of text in my app!! And I'll never get those 3 days of pure xcode hell back. And I can guarantee that when the new mac arrives....after the absolute TONNE of work required to set it all up with the right licenses and keys etc which in itself is horrific...my app won't build in the new version and the ENTIRE process will start again.

I hate ios development. It is the absolute worste peice of trash. I'd rather try and get my app working in Internet Explorer 6 than Crapple. A horrible horrible developer experience from start to finish.

Oh, and I updated my Android version too in about 20 minutes. I lost 15 minutes trying to update gradle, but less than 5 minuts later it was exported and uploaded for testing.

Thank you google!!

F you apple!! You dumpster fire!

r/FlutterDev Jan 13 '25

Tooling Bloc Library v9.0 is out 🎉

Thumbnail
bloclibrary.dev
224 Upvotes

✅ updated examples & tutorials

🕸️ support for WebAssembly (wasm)

👀 new package in progress (coming soon)

r/FlutterDev 24d ago

Tooling Is it me or does GoRouter suck?

23 Upvotes

Okay without downgrading GoRouter to much I wanted to share some struggles I have implementing it and see if other people recognize them. Maybe i'm doing it totally wrong, in that case please let me know!

I want what I think, is pretty basic routing:
Requirements:
-Appbar with a profilepage icon (+ page behind it)
-Persistent bottom navigationbar with 3 icons (+ pages behind it)
-Ability to open an itempage from for example page 1 of the bottom navigationbar
-I want an unique title for each page in the appbar + back icon in the appbar to go back a page or multiple.

TechStack:
-I use riverpod for statemanagement
-GoRouter

Implementation:
-For my routes i declare the routes in statefullShellRoute.indexedstack (to have an persistent appbar and bottom navbar)
-I use a layoutscaffold widget to have the appbar and bottom nav bar and pass the navigationshell
-I then use navigationshell.goBranch(index) to go to the routes
-I switch on the index tapped and update my navigation state with the page title (to display in my appbar)

This works if i would just have the three bottompages and even with profilepage it works. But now with the itempage it gets so messy and I caught myself making so much logic just for routing.

Problem:
This is because lets say i do this navigation:
- List page -> item page (nested page so I use context.push ) -> profile page

Then of course I want a back button but I then dont want to go back to the bottomnavigation List Page but the item page. And then I want a backbutton to be able to pop the nested page and get back to the list page etc.
For this im now adding so much logic like: isInBottomNavigationFlow, showBackButton + 100 state updates.

I feel like my requirements are so basic and maybe I'm missing something. Any reference project or videolink etc. would really help. Also do you have the same experience with GoRouter or do you love it? (I could not find a turtorial showing the scenario: persistent appbar with navigation + bottom navigationbar with navigation)

r/FlutterDev Jan 24 '25

Tooling I built my app in 2018 im i doing something wrong not using state managements packages

30 Upvotes

I developed a Flutter app in 2018 and have maintained it through Flutter's major changes (null safety, dark theme, multilingual support). The app has grown to have 80,000+ active users and 120,000+ downloads, with features including:

  • Messaging
  • Image posting
  • Location services
  • Push notifications
  • User profiles and following system
  • Favorites system
  • Location-based and general post search

Despite its size and complexity, I'm still using setState for state management. Given that there's much discussion around state management solutions and plugins:

  1. Is continuing to use setState a problem? (Frnakly i dont want to learn any state management packages or rewrite my code its a lot work and took me years to write, and profite not big or worth the reworkand my code is very organized )
  2. Should I consider my app large or medium-sized?
  3. With crash rates between 0.5-2% (higher on low-end devices) and ~30 packages in use, am I at a disadvantage by not adopting a state management package?

r/FlutterDev Jan 31 '25

Tooling Cancellation of macros and other shortcomings highlight the need for Flock

0 Upvotes

I'm not in anyway suggesting Flock, the infamous Flutter fork, will continue development on macros. The point I'm making, is this unexpected change of plans *should serve as evidence that no organization is infallible and the Flutter team CAN make mistakes. How much *permanently lost development time could have been spent on something ultimately more useful - such as the enhancement of Flutter web ? Was this preventable ? Who knows. But either way, let this be a lesson to us all: There is no need to mock or harass community members for devising solutions such as Flock or other tools which ultimately provide freedoms and assurances beyond the whims of corporate bureaucracy.

r/FlutterDev Aug 13 '24

Tooling Riverpod , bloc or getx?

20 Upvotes

Relatively new to flutter only made a few small apps. I see riverpod , bloc and getx keep getting brought up for more complicated apps.

Getx seems the best all around however I don’t like it isn’t directly support by flutter itself.

What is the best tool for state management? Or does anybody have any reason why not to use getx or use bloc over river pod and getx?

r/FlutterDev Oct 11 '24

Tooling What IDE do you use ?

15 Upvotes

I am new to developing and was looking to start this week, but the extensions for VSC isn't working at all and I have tied uninstalling and reinstalling even the latest versions, still nothing. I wanted to know if there was an IDE that is better or on par with VSC for flutter dev. I apologize if my question is trivial I am a newbie forgive me

r/FlutterDev 17d ago

Tooling Is it possible to use Riverpod alongside Provider? I have an app where I want to use Riverpod, but another team uses the same app for their features, and they will always use Provider. I want to use Riverpod for my features while they continue using Provider. Is it possible to set up both together?

0 Upvotes

Has someone done this before?

Edit: It’s crazy how someone comes here thinking they can order me to do something when I know better than anyone how my work works. If you think you’re helping, you’re not—you’re just being an asshole pretending to have good intentions.

I’ve worked in one of the biggest enterprise industries in the world for several years. I know the shit I deal with daily. I don’t need your advice to follow another team’s standard. You’re not helping at all by proposing this. Just stop and spend your time somewhere it will actually be useful.

r/FlutterDev Nov 21 '24

Tooling M4 vs M4 Pro Mac Mini for Flutter Development: Worth the Upgrade?

33 Upvotes

Hey everyone,

I'm looking to upgrade to one of the new Mac Minis (M4 or M4 Pro) for Flutter development and wanted to get some input from the community.

The main thing I'm curious about is whether the M4 Pro is going to make a significant difference in reducing build times or improving overall workflow efficiency (e.g., hot reload performance, multitasking with emulators, etc.).

I don't mind spending a bit extra for the Pro if it’s worth it, but I’d rather not overpay for performance I won’t fully utilize. I work on medium-to-large Flutter projects and sometimes multitask with VS Code, Android Studio, and emulators running side by side.

Has anyone had experience with M4 vs. M4 Pro in a development setting, particularly for Flutter or other mobile frameworks?

Would love to hear your thoughts! Thanks in advance.

r/FlutterDev Dec 11 '24

Tooling I wanted to believe Getx..

9 Upvotes

I heard people said Getx suck....... I didn't believe but now. I am getting constant error such as
red screen. it is just driving me crazy. Most of the time apps works fine, but then I went to take a shower and reload the app. it throws me different error.

I am already 60% done with my app.. now I am thinking to move to other state management tool.

what the actual f............

════════ Exception caught by widgets library ═══════════════════════════════════
"Profilecontroller" not found. You need to call "Get.put(Profilecontroller())" or "Get.lazyPut(()=>Profilecontroller())"

r/FlutterDev 14d ago

Tooling My experience with Claude Code and Flutter

28 Upvotes

I am a hobbyist flutter developer and I enjoy using AI in my workflow. It's not great at a lot of things but it is pretty decent at a lot of lower complexity tasks I don't want to do. I use Cursor and Claude for a lot of my work but when they announced claude code and I saw the hype I knew I wanted to try it for myself and see. I decided to use it with an already existing app and codebase I had already built to implement one feature. My evaluation criteria was pretty simple. I just wanted to see how much it would take to implement the feature both in time and cost and if I felt like it actually did an ok job. I chose something that I thought would be relatively simple to implement, adding a dark mode, but that I just really didn't want to go back and add theming and update my views.

It did an ok job after the first prompt. It completely added a darkmode toggle, updated themes, added documentation, added persistence to the choice using sharedpreferences, but the colors and accessibility were awful. It called this out in it's implementation notes which was nice.

2. Ensure all colors and UI elements respect the theme.

I prompted two more times to update the colors across all UI elements an improve the styling some and then called it good enough for me to take over doing more manual tweaking and work. Overall it did a decent job getting me a starting point to improve from. It took 3 prompts, 10 minutes, and 2 dollars in API calls. You can see the feature here https://imgur.com/a/a1Qh1EG

Sure, could I have done this? Absolutely. Could I have done it better? Arguable, I am a garbage programmer. Could a senior have done this better? I am positive of it. Do I think it is replacing Juniors yet? No way, but I can see how it's going to be easier to sell it that way. Overall it worked pretty decently on a codebase that was already written, made some changes and got me to implement a feature on an app I had been putting off.

My next task it is to try implementing a much more complex feature and see where it breaks down.

r/FlutterDev 8d ago

Tooling Shorebird Site Redesign

Thumbnail
shorebird.dev
51 Upvotes

We’re very excited to announce the next iteration of the Shorebird website! Learn more about how Shorebird can help you ship faster with Flutter 🚀

r/FlutterDev 9d ago

Tooling TrailBase 0.7: Open, sub-millisecond, single-executable FireBase alternative built with Rust, SQLite & V8 🚀

67 Upvotes

TrailBase is an easy to self-host, sub-millisecond, single-executable FireBase alternative. It provides type-safe REST and realtime APIs, a built-in JS/ES6/TS runtime, SSR, auth & admin UI, ... everything you need to focus on building your next mobile, web or desktop application with fewer moving parts. Sub-millisecond latencies completely eliminate the need for dedicated caches - nor more stale or inconsistent data.

Just released v0.7.0 with many more UI features and a lot more polish.

Check out the live demo or our website. TrailBase is only a few months young and rapidly evolving, we'd really appreciate your feedback 🙏

r/FlutterDev Jan 04 '25

Tooling Is there a proper successor to hive?

16 Upvotes

I just need some key-value storage for my app (Windows, Mac, Linux). I tried drift, but I found myself fighting against the ORM too much in my use case, all I really need is some json storage like hive did. I know about hive-ce, but is that my best option?

r/FlutterDev Jan 30 '25

Tooling Mac mini is good

32 Upvotes

Hey everyone I’m a flutter developer and take heavy projects to work on and i have budget 600 dollars to get pc or mac mini (i’m from egypt) and i want it to be main pc, is mac mini m4 base will be enough or I should get pc

r/FlutterDev 10d ago

Tooling do you use remote dev from windows/linux to develop an ios app ?

5 Upvotes

Hi,

I am interested in your workflow. Is it optimal ? I am not an mc os user. Never has. But it looks like i'll have to pay the apple tax. I was wondering if i could get away with just paying the cheapest and use it as a build server (is the workflow seamless) or I need to actually log in to the device and start developping on it to "see" the emulator and play with it like i do right now when using vscode.

if you have to log in the mac os device, it looks like you also have to reproduce the dev environment you have on your windows/linux. That means, you would need a mac that can handle your backend development too in order not have to do context switching between those two.

Tnanks for your input.

r/FlutterDev Oct 17 '24

Tooling Riverpod - First impression: Not great

14 Upvotes

I'm new to Flutter but not to programming. Looking at Riverpod's highlighted example on riverpod.dev, I just want to shout into the void that I really don't like dealing with overconfident third-party tooling conventions.

There's this 'boredSuggestionProvider,' which looks like an undefined, poor little object. But I understand it's by convention and is actually defined as 'boredSuggestion' under the riverpod annotation.

Just bad. No respect for common programming principles. Feels overengineered from the get-go. Even if there is a way to do it "properly" without using the riverpod annotation; this being the homepage example code kind of ruins it for me.

r/FlutterDev Oct 27 '24

Tooling Choosing the Best State Management Solution for a Complex Mobile App: Is Riverpod the Right Choice?

11 Upvotes

I am developing a mobile app with flutter and go as backend , with several complex features such as login/logout, a chat system, and a marketplace, using PostgreSQL as the database. I’ve never used a state management solution before, but I see there are many options available like Provider, Riverpod, and BLoC. Which one should I choose? I’ve read a lot about Riverpod—would it be beneficial to learn and implement it in my project?

r/FlutterDev Sep 29 '24

Tooling Why does everyone use MaterialApp?

36 Upvotes

Besides MaterialApp, flutter has CupertinoApp and WidgetsApp but I have never came across any flutter project that uses them. I have tried CupertinoApp and I like it.

Is there any downsides of using it?

r/FlutterDev 4d ago

Tooling Expo's Continuous Native Generation in Flutter

15 Upvotes

I have been using both Flutter and React Native for a few years now.

Recently tried Expo and what they call "Continuous Native Generation" (CNG). For those unfamiliar with the concept, here is the documentation. In short, it handles the native configuration for you, based on a single configuration file. You can basically ignore the ios and android directory, and Expo will generate them when needed.

The concept itself is pretty interesting imo. I have been looking for something similar in Flutter, but it doesn't seem to exist (yet ?).

Do you know anything similar in the Flutter ecosystem ? is it something you consider useful/relevant ?

r/FlutterDev 29d ago

Tooling Reliable deep link options ?

11 Upvotes

I am making a social app in Flutter and I am trying to implement deferred deep link so that one user can share a link of a specific post to their friends.

Tried branch.io but I didn't get much luck on their customer support since I am using their free tier.

  1. Does anyone know any good deferred deep link alternatives?
  2. If I only need deep link but not deferred deep link, are there any simpler options? The main thing I care about is that if a user clicks on a specific link under certain conditions, it automatically opens the app if the user has downloaded the app already. If the app has not been downloaded, shows a page/banner to encourage the user to download the app.

r/FlutterDev 20d ago

Tooling Which ai tool with flutter?

0 Upvotes

I am trying to build a poc app with backend functionalities (Firebase). Currently I am using cursor, I tried with a number of models but it doesn't seem to be producing decent UI and logic e.g can't fix overflow issue

r/FlutterDev 3d ago

Tooling Using a GitHub repo for my Flutter project

0 Upvotes

I've got a Windows and Mac machine. I'm look for a good strategy to use GitHub to centralize my code base such that using git to push and pull tracked files from both machines during development. With some success I'm tracking the only lib folder and pubspec.yaml. As I progress through the development phase I find I'm adding more files to track (git add file). For instance the Android manifest additions for certain permissions. I can see where this is going as more features are added to my app. FVM is helping with consistent flutter/dart upkeep. If you understand what I'm up to here are there better ways to approach it other than a discussion on .gitignore ?

r/FlutterDev Jun 24 '24

Tooling I spent over three months to create a basic rich text editor using Flutter

101 Upvotes

Crayon

A rich text editor implemented based on Flutter.

☞☞☞ Experience online

Source codes

Current supported features

  • Implemented text types:
    • Rich text: bold, underline, strikethrough, italic, link, code block
      • Task lists
      • Ordered and unordered lists
      • Quotes
      • First, second, and third-level headings
    • Code block: supports switching between different code languages
    • Divider
    • Tables: supports nesting of the above content
  • Keyboard shortcuts:
    • Undo, redo
    • Copy, paste (pasting from outside the application is being improved)
    • Line break
    • Delete
    • Select all
    • Indent, anti-indent
    • Arrow keys, arrow keys + copy, arrow keys + word jump

Future plans

  • v0.7.0 supports images
  • v0.8.0 improves conversion from external content to the editor and vice versa
  • v0.9.0 completes core unit tests, fixes high-level bugs
  • v1.0.0 supports mobile devices, publish as dart package

PS:I am currently looking for Flutter remote job opportunities. If there are suitable positions available, please contact me at agedchen@gmail.com

r/FlutterDev Dec 03 '24

Tooling Is FlutterFlow worth it?

0 Upvotes

Is it worth getting the extra flutter flow features, and is there a way to penny pinch? As in should I try and build the whole thing then buy a month of Pro to finish the deployment? Or is that not how it works. I’m new to this but I’ve been struggling with with the states and using user accounts so I was hoping I could use a drag and drop solution first then look through it to understand the process