When comparing Flutter vs Java / Swing, the Slant community recommends Flutter for most people. In the question“What are the best cross-platform GUI toolkits?” Flutter is ranked 15th while Java / Swing is ranked 16th.
Specs
Ranked in these QuestionsQuestion Ranking
Pros
Pro Open source
Pro Great developer tools debug/hotreload/analyser
Pro Based on Dart language
Dart is a Java like language, easy to learn and startup fast for millions of Java developers.
Pro A single codebase for iOS AND Android
Pro Fast
The developer's goal is to allow people to make apps running at 120 FPS.
Pro Part of Java
Swing is part of the Java API.
Pro Very good and powerful API
E.g. separate models.
Pro Powerful controls
E.g. JTable which works fine on every platform with very large row counts, e.g. 100.000+.
Pro Several look and feels available
Pro Easy to use
Drag and drop utility.
Cons
Con Still in development
According to the website, Flutter is still in its early stages of development.
Con Based on Dart language
Dart is a Java like language, easy to learn and startup fast for millions of Java developers. BUT if you have to learn it ... it's a con.
Con Dart is unpopular and never gained serious community traction like Kotlin or Java
Con Does not support 32-bit iOS devices
If you plan on targeting iPhone 5, 5C or earlier, you can forget about Flutter.
Con Google has a bad history with product loyalty
Con Only for JRE-based languages
Con Bugfixes rely on Oracle
Con No real native look
Though the importance of the native look seems to have dropped the last years by the raise of in-browser-applications.
However, you can achieve native look and feel using UIManager.systemLookAndFeelClassName.
Con Severely deprecated
The system is ancient and Oracle has dropped support for it in favor of JavaFX