Flutter is an open-source mobile application development framework created by Google. It is used to develop applications for Android and iOS, as well as being the primary method of creating applications for Google Fuchsia.
$0
Visual Studio
Score 9.0 out of 10
N/A
Visual Studio (now in the 2022 edition) is a 64-bit IDE that makes it easier to work with bigger projects and complex workloads, boasting a fluid and responsive experience for users. The IDE features IntelliCode, its automatic code completion tools that understand code context and that can complete up to a whole line at once to drive accurate and confident coding.
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.
It's useful for app development, debugging, and testing. I've been using it for two years and have seen it grow into a fantastic tool. All of the features, NuGet packages, and settings that enable different types of projects are fantastic. It also has a connection to Azure DevOps and Git. It's a fantastic product that's simple to use.
Since Microsoft offers a free Community Edition of the IDE many of our new developers have used it at home or school and are very familiar with the user interface, requiring little training to move up to the paid, enterprise-friendly editions we use.
The online community support for Visual Studio is outstanding, as solid or better than any other commercial or open-source project software.
Microsoft continuously keeps the product up to date and has maintained a history of doing so. They use it internally for their own development so there is little chance it will ever fall out of favor and become unsupported.
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.
Certain settings and features can sometimes be challenging to locate. The interface isn't always intuitive.
Sometimes there are too many ways to do the same thing. For example, users can quickly add a new workspace in Source Control Explorer when a local path shows as "Not Mapped," but it doesn't indicate that the user might want to check the dropdown list of workspaces. The shortcut of creating a new workspace by clicking on the "Not Mapped" link can lead to developers creating too many workspaces and causing workspace management to become unwieldy. If the shortcut link were removed, the user would be forced to use the Workspace dropdown. While it can add an extra step to the process, workspaces would be managed more easily, and this would enforce consistency. At the very least, there should be a high-level administrative setting to hide the shortcut link.
VS is the best and is required for building Microsoft applications. The quality and usefulness of the product far out-weight the licensing costs associated with it.
The thing I like the most is Visual Studio doesn't suffer from Microsoft's over eager marketing department who feel they need to redesign the UI (think Office and windows) which forces users to loose large amounts of productivity having to learn software that they had previously known.
Between online forums like StackOverflow, online documentation, MSDN forums, and the customer support options, I find it very easy to get support for Visual Studio IDE when I need it. If desired, one can also download the MSDN documentation about the IDE and have it readily available for any support needs.
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.
I personally feel Visual Studio IDE has [a] better interface and [is more] user friendly than other IDEs. It has better code maintainability and intellisense. Its inbuilt team foundation server help coders to check on their code then and go. Better nugget package management, quality testing and gives features to extract TRX file as result of testing which includes all the summary of each test case.
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.
We've had hundreds of hours saved by the rapid development that Visual Studio provides.
We've lost some time in the Xamarin updates. However, being cross platform, we ultimately saved tons of time not having to create separate apps for iOS and Android.