Having tested both, I approve of the fact that CN1 is more complete than Flutter on several aspects:
- support of Java/Kotlin, which are familiar languages to many developers (while Dart requires learning a new language) and which allows to "easily" port one of the many libraries developed in these languages to CN1 (and thus to save time), while Dart has a much poorer libs catalog.
- The GUIBuilder that allows to prototype a graphical interface quickly (even if it is quite bugged so I stopped using it for Forms too complex, with more than 5-10 components...)
- Better native widgets integration (it is not true that you can't use native widgets with Flutter. See for example their Google Maps widget:
https://pub.dartlang.org/packages/map_view . It currently do not support displaying a Google Map within the Flutter widget hierarchy (so it is pretty like the old days of CN1 where you couldn't render a Component on top of a PeerComponent) but this might (and probably will) change in the future...
- More platforms supported
- Probably better performances (even if, while testing Flutter, it was really fluid, even on low end devices, so performances differences wouldn't really be an issue as both perform well. But I trust you if you say that CN1 performs better (which could be a real advantage if CN1 ever integrate a real 2D and 3D drawing api (I don't know if a port from the one from libgdx is
conceivable in a distant future) to allow the developpment of AR apps and 2D/3D games). Bytheway I don't think that the Flutter rendering engine is more recent that the one of CN1. If I am not mistaken, it is base on Skia which is more than 15 years old:
https://en.wikipedia.org/wiki/Skia_Graphics_Engine ;-)
That beeing said, Flutter clearly outperforms CN1 in term of UI offer. Having a complete set of widgets with beautifull default rendering (like the automatic border shadow arround components depending on their elevation property in material design widgets, the animations on pretty much any component interaction... These are "details" that really makes a GUI nice to be used by the end user) is a real plus. Having tried to get an "acceptable" GUI using CN1 default components, I must say that some components like Slider, OnOffSwitch... where a pain to work with. I completely understand that the CN1 team is a small team and do not have the ressources Flutter has in terms of developpers (and the CN1 features and support are pretty much amazing for such a small team) but I think the UI is clearly something you should focus on in the near future (as, in the end, having a beautifull app rather than a more raw one is often what would attract users to use your app and keep using it, So it is a essential to any developper). This is the reason why I started developping a set of my own components based on the material design guidelines (for now I have Slider, OnOffswitch, LinearProgressIndicator and CircularProgressIndicator implemented and I am working on the MD Dialog widget) so as a FlexLayout and androidGridLayout Layout managers. So I am investing some time on CN1 because I think in the long term, it is a better solution than Flutter (even if I am still keeping an eye on Flutter to see how it evolves ;-) )
Appart from that, I would also love to see easy on-device debugging coming to CN1. And, in what concerns local builds, it might not be too difficult to do with CN1 but the lack of basic documentation makes it really hard for any developper wanting to jump into CN1 (it took me 2 complete days to create a java script that can convert any CN1 project into an android studio gradle project file, essentially because I did not find any documentation to start with (there is some old script and "tutorial" in Steve's blog for iOS but it is deprecated as it do not use parparVM. And for android there is just no information at all) and some parts are a bit tricky (essentially the Stub glue code for native cn1libs)). I think you should have made the course on how to build offline from sources (
https://www.codenameone.com/blog/use-open-source-build-offline.html) part of the free courses bundle if you want to attract new developpers to CN1 (that could be affraid of beeing dependent on the CN1 build cloud service)