Likelihood to Recommend It is suitable for making portable applications, with almost the same code for several platforms. You can access native features of the device or use an open source plug-in from the repository to create a local database and access the internal storage of the device. It is wonderful for the construction of a native application, through the use of standard web code. It is not recommended for enterprise applications.
Read full review Flutter is well known for native app development, if you have android studio installed on your system, you can quickly start using it. This might not be the best choice for you if you do not wish to learn a new language, i.e. Dart and you do not know it already.
Read full review Pros Cordova makes it very easy to develop apps for multiple platforms. The setup is very simple when it comes to creating a project, adding platforms, building and deploying apps. If you have a little mobile app development experience, all you need to know is HTML, CSS, Javascript and only a handful of cordova commands to get started with your hybrid app. Cordova provides a simple solution to access any and all of the device features through native plugins. You have a host of third-party and cordova plugins available to use device features like filesystem, camera, health kit, location services etc. You can also write your very own plugins and use them for your cordova based apps. Cordova is free to use! The only cost you will bear is the individual mobile platform developer program enrollment cost to deploy your apps to those platforms. Read full review User interface design works great across all platforms, including native styling for iOS/macOS. Native compilation for mobile platforms and a decent rendering engine results in slick apps that can make the most of your device. Dart is a well thought out language and easy to pick up. Makes cross-platform development of good looking GUI apps a doddle. Read full review Cons Needs to be fully compatible with mobile machines Support for a wide variety of platforms Needs better backwards compatibility Read full review Occasionally updates to the Flutter SDK result in wide-sweeping changes that seem to not be thoroughly tested and considered. Flutter sometimes evolves too fast for its own good. While the 3rd-party Flutter package ecosystem is vast and rich, 1st-party support for basic things (audio/video playback, battery information, Bluetooth services, etc.) are lacking. You are occasionally forced to rely on an open-source package for use-cases that other platforms have native support for. Documentation, particularly around testing, is lacking. While there are some great docs, like the Dart Style Guide, many Flutter-focused support documents are lacking in quality and real-world usability. Flutter allows you to architect an app however you want. While this is a great feature, it also adds complexity and leads to the current state of Flutter's state management, where there are 50+ options on how to organize your app, with very little official guidance or recommendations from the Flutter team. For a beginner, this can create decision paralysis. Read full review Alternatives Considered Apache Cordova is the mother of all other frameworks. The Ionic developed framework is well suited for development but most of their features are offered by paid services. As Apache Cordova is open source and has a license to modify it, it has no legal problems to work with it. Also, most well-known IDEs recognize the Apache Cordova snippets.
Read full review I have experience with react and
React Native . I would say that the idea behind all those frameworks are quite similar. However, I found the javascript-based frameworks a bit more accessible as you could utilise your javascript knowledge. Here, Flutter works with its own language. This has advantages and disadvantages sometimes. I found the community around javascript frameworks bigger and therefore sometimes more helpful. However, Flutter does a good job here as well. I think the main argument for Flutter is its usability for less experienced developers. If you do not have knowledge in javascript or other programming languages then I think it is much easier to start with Flutter than with another framework like react. I think the package that you get form scratch is better than in the other frameworks were you have to set up and learn a lot more before you can start.
Read full review Return on Investment It has a positive impact in general. Cordova is really a great solution for web developers who want to bring their incredible ideas to devices, but they just do not have a lot of time to put into iOS and Android learning curves. Our biggest benefit was that the management of images for multiple devices. Developing with Cordova has drastically reduced the cost of cross-platform deployment. Read full review The rapid development capabilities of Flutter allow us to build apps we could not have previously considered commercially viable, opening new revenue streams. Free and open licensing made adoption very easy (ie. free/low cost!). In comparison to Qt, our time spent arguing with build tools and perfecting development environments has decreased substantially. Read full review ScreenShots