4 ms·
I would not recommend flutter if you require native features, so many plugins don't function well and are not maintained. The UI library looks great, however re
by la_fayette 5y ago
I would not recommend flutter if you require native features, so many plugins don't function well and are not maintained. The UI library looks great, however requires you to write/learn dart. For me this was a horrible experience...
- ravenstine 5y agoThis is pretty much the story for nearly every cross-platform mobile SDK, with a few fractional exceptions. It wouldn't be such a bad thing if the writing of native plugins wasn't such a big hurdle for the average developer. The vast majority of mobile and frontend devs have never done anything with FFI, it's not the easiest thing to learn compared to other more documented skills, and it requires doing what most cross-platform devs wanted to avoid in the first place... was writing in some other compiled language they have little knowledge or interest in. So far I don't think any particular cross-platform mobile SDK is necessarily better than the other in an objective sense. For the most part all end up taking a dynamic language runtime and stick it on top of a GUI toolkit, whether it's a web view or something a little closer to the metal. People act like any combination of these facets are significantly better than each other, but every few years we get the next generation mobile SDK and then a year later we find posts on HN laying out how the marketing points of said SDK didn't pan out in the field (case in point; no one really talks that much about React Native, Titanium, or Cordova anymore, but Flutter is the hot thing I keep hearing about as of late). A cross-platform mobile SDK can stand out if it can nail the story around plugins. Maybe that means implementing a native-development layer with a language like C++, kind of like Qt. Actually, Qt already is one answer to this question, except its answer to interface design and implementation is this weird QML thing that applies nowhere outside of Qt.
- la_fayette 5y agoI totally agree. Another option might be that a plugin can be used with react native, flutter and capacitor/cordova. This would maybe increase the number of maintainers. I think of a thin normalzation layer below the framework ffi interface or so. The problem is also that different platforms require totally different implementations of a certain feature, e.g., background audio in android requires a service whereas on ios just a capability flag...