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 6th while Java / Swing is ranked 7th.
Ranked in these QuestionsQuestion Ranking
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
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 Easy to use
Drag and drop utility.
Pro Several look and feels available
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+.
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 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.