Android Studio is an official Android development integrated development environment (IDE) for mobile application development in the Android operating system developed by Google. Android Studio is based on Jetbrains'
N/A
Flutter
Score 8.2 out of 10
N/A
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.
Android Studio is the only platform you should consider for Android development. I have found that nothing else comes close in terms of documentation or support. There is always the temptation to develop for Android using a cross platform toolkit, such as Xamarin, but unless your app is incredibly simple, you will find your self wrestling with the toolkit more than actually creating your product. If you have any Android projects still in Eclipse, you should upgrade these to Android Studio - the backwards compatibility for older versions of Android is very good, with issues only occurring with debugging on older (Lollipop or below) devices. The only scenario Android Studio is not suitable for is cross-platform development. There is no way to share code between iOS, macOS, or Windows projects with Android Studio, unless you are developing a game in C++. If you wish to develop cross platform mobile apps, I suggest Microsoft Visual Studio.
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.
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.
It has improved over the versions, and it continues to do so. I have no problems using Android Studio and I think that it's quite a user-friendly software.
The support of the community is very good. You can find many solutions on sites like StackOverflow and Brazilian sites like GUJ, for example. Google documentation about Android Studio is very good too. I have some Android developer friends, so they have the knowledge to support me when I need it.
I am primarily a Java developer so many of the IDEs I have used are specifically made for Java development. I have used IntelliJ IDEA, Eclipse, and NetBeans for Java development but Android Studio is far better for Android development specifically and it also has support for things like Flutter development. VS Code is quickly becoming popular across languages but Android Studio is still at the top in my opinion.
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.
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.