Hacker News new | past | comments | ask | show | jobs | submit login

Hi HN,

Author of the post here! Didn't expect this to be posted here and making the rounds, so I will try to give some more context.

First, you can check a short presentation of the app's features in a previous post: https://blog.whidev.com/shortcut-keeper-app .

Then, I wrote on why I chose Flutter for this instead of native or Electron, and how it helped me ship an app on both stores in one month, here: https://blog.whidev.com/building-a-flutter-desktop-app-in-on...

My main background is web development (JS, jQuery, Vue, WordPress, etc.) and I have been using Flutter for the past year or so for another mobile app (iOS and Android).

If you want to keep one thing from this, is that Flutter enabled me, a developer with no prior desktop dev experience, to:

- Build on my own a desktop app for macOS and Windows (Linux is also possible, and I will try it).

- Solve my own problem (that's where the idea of the app came from), and the problem of a few hundred users in the past two months. Also bear in mind that it's a paid app.

- Get it accepted and published on both platform stores in a short timeframe.

- Make it look native on both platforms by using two community packages and some conditional logic. Of course, I could use the default UI design (Material) or adapt my own design system, but, as I explain in the post, I consider it a huge advantage to feature an adaptive app design.

- Do this from a single codebase, with the same business logic: database calls, models, controllers, settings, etc. are all shared between the two versions.

Happy to answer any questions!

Minas

*edited formatting




Thanks for the great writeup. Can you clarify if Flutter is like QT in that it uses its own GUI library to emulates the native UI of the OS, or does it actually render the UI using the native OS UI library?


It draws every pixel, like a 2d game engine. There's Ubuntu package for their Yaru style. https://pub.dev/packages/yaru


Flutter provides its own widget implementations and does not rely on those provided by the underlying OS. This gives us the ability to give you complete control over scrolling, animation, theming, etc. while still running at native speeds across multiple platforms.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: