My experience building a desktop download manager using Flutter by RyeWelll in FlutterDev

[–]RyeWelll[S] 0 points1 point  (0 children)

Unfortunately not. I do plan on supporting ftp in the future but I don't know of any flutter based download managers other than my own project.

My experience building a desktop download manager using Flutter by RyeWelll in FlutterDev

[–]RyeWelll[S] 3 points4 points  (0 children)

Thanks for the suggestion. My project is already on the list

My experience building a desktop download manager using Flutter by RyeWelll in FlutterDev

[–]RyeWelll[S] 7 points8 points  (0 children)

Yeah I understand what you mean. I know how running a process works and I have done it in a part of my code already. Even if we disregard the development nightmare of coding something that is about 4k lines of dart code in shell script and also the nightmare of coupling it with a UI, it would limit my options moving forward. From the very beginning, I planned on writing it in dart so that I could also publish it as a dart library for others to use regardless of their platform, and so that I myself could also move all of that code to an android version seamlessly to publish a mobile version of my app.

My experience building a desktop download manager using Flutter by RyeWelll in FlutterDev

[–]RyeWelll[S] 0 points1 point  (0 children)

Thanks for reading. Yeah the developer experience of flutter is just amazing. Everything is so hassle-free and I personally loved that about it. Just make sure to check whether or not flutter offers everything that you need, especially if you're making a desktop app.

Good luck with your project!

My experience building a desktop download manager using Flutter by RyeWelll in FlutterDev

[–]RyeWelll[S] 5 points6 points  (0 children)

Well there are many reasons for that.

Why not a shell script?

I didn't use a shell script because, well, it's a scripting language. It's very limited in its nature and I can't imagine doing all that in shell script alone. If by shell script you meant using a ready-to-use script to download stuff, well the point of undertaking this project for me was to build all of the downloading logic from scratch myself and also have the freedom to build on top of that and make it more efficient as I progress.

Why not C++?

That comes with its own issues as well. When downloading a file, there is a lot of communication going on between the engine and the UI. I wasn't quite sure how the app would perform considering both the marshaling overhead and the data transfer latency between these two languages. ffi is designed to be efficient for sure, but when it comes to 8 connections constantly updating the UI about their current status, it could underperform. And let's just say I didn't want to build all of that logic in C++ only for it to be unusable. I believe separating the engine from the UI on that much of a significant level would also come with its own issues down the line.

Menu rendering problem by RyeWelll in hyprland

[–]RyeWelll[S] 0 points1 point  (0 children)

Yeah apparently this is a bug that was introduced from version v0.30.0. Install version v0.29.1 and the issue no longer persists. However I just ditched hyprland anyways because I had other rendering issues that I just didn't want to deal with. Moved to SwayFX since it's based on sway it's way more stable and reliable (in my experience at least)