In the rare chance you haven't heard of Flutter, here's the link: https://flutter.io
Flutter just officially left beta with v1.0 December 4, last year. The code is written in Dart, and deploys on Android, and iOS (and will run natively on the rumored Fuchsia OS).
So for those of you that have used Flutter or are currently using Flutter.
- What are you working on?
- Why'd you choose Flutter?
- What do you like about Flutter?
- And what do you dislike about Flutter?
I'm working on a niche art app. I myself do not do that type of art, but knowing people that do, I wanted to create a tool to fill in the lackluckster market for Chromebooks and Android.
I chose Flutter because:
- I wanted to try something new, and what newer than something that was (at the time) in beta?
- Custom Views in Android are a hassle.
- I will be able to release on both Android and iOS (semi-)natively without having to code it twice.
Here's what I like about Flutter:
- Layouts are really simple.
(though you can easily let it get clustered if you don't think too much about it.)
- Design isn't an afterthought.
Animations are built in (and simple), themes aren't hard-coded, and Material Components get more attention here. (Still waiting for Shapes on Android)
- It's fast by design.
Flutter uses its own custom rendering engine (Skia). I've never experienced any stutter with the built-in components, and when I caused lag (with heavy I/O) Flutter/Dart had tools in place for me to narrow down exactly what was causing it.
What I don't like about Flutter:
- It has poor mouse/trackpad support.
Right clicks, not a thing. I can workaround this with a double-click/long-click, but for a desktop OS, this isn't optimal. Scrolling, that's panning, this should be differentiated. There's a difference between using a scrollwheel and moving finger around on the screen. According to Flutter there is not. There's also currently no support for mouse hovers which I have needed very much.
There is a pull-request for adding support for all of these, but the developer hasn't done anything since code review.
- Keyboard support, while there, is lackluster.
Ctrl, Shift, Alt. These have to be gotten with the meta code. There's no built-in function for checking those. Text fields don't support the tab key to navigate. And text formatting (bold, italic, etc.) isn't possible with text fields without the use of a library (or making it yourself).
I was trying to think of a third dislike, but I can't. My complaints are on missing APIs for Chromebooks. That's it. I really like Flutter, I plan on using it more, and if they won't add support for mouse/keyboard, maybe I'll have to contribute.
I'd love to hear what your thoughts about it is.