This blog provides show notes for our April 8, 2021 webinar, “Flutter Q&A with Chris Sells”. The webinar is presented and hosted by Chris Sells, Senior Product Manager at Google on Flutter.
Introduction
Join us as we open the doors to Chris Sells, Senior Product Manager at Google on Flutter, to answer all your burning questions about Flutter!
Q&A
Is there a future plan for Flutter to use something like hooks to depend on widget data flow instead of widget lifecycle events, so that it’s all about functions to manage state rather than classes?
This isn’t something the Flutter team is likely to directly support any time soon, but you can use the functional_widget plugin from pub.dev to accomplish this today.
How mainstream is Flutter becoming? Are many companies adopting it?
Flutter 2 marks a big push into the mainstream for Flutter. There are more than 150,000 Flutter apps in the Google Play Store alone and more than 500,000 monthly active Flutter developers. You can see some of the top companies and their stores at flutter.dev/showcase.
Do you prefer Android Studio over Visual Studio Code as your environment?
I’m a fan of VS Code because of my background with Visual Studio and Microsoft-based technologies. However, for those who prefer IntelliJ-based technologies, we also fully support IntelliJ and Android Studio. We find that our customer base is roughly split down the middle between these two IDEs.
What about widget security?
Flutter apps run in the same security sandbox as their host (e.g., in the Android sandbox on Android, in the browser sandbox on the web, etc.). Flutter makes no special considerations for security beyond that.
Loving Flutter and looking forward to seeing desktop Flutter become stable. How is desktop Flutter going and do you foresee it becoming stable?
We continue to make good progress towards stability in each new Flutter release. I hope to be able to announce that Flutter on Windows, macOS, and Linux are stable soon! However, once it does hit stable, that’s just the beginning. We plan to continue to invest in Flutter on the desktop for years to come.
There have been many approaches/packages available for state management. For experienced developers starting with Flutter, what do you recommend starting with?
Unless you have a good reason not to, we recommend everyone using Flutter to start with the provider package for state management.
How does Flutter handle existing iOS and Android libraries not written for its framework?
Using platform channels, you can also write native code for any Flutter platform and get to native libraries. However, before you do that, I recommend looking at pub.dev, Flutter’s package manager, which has over 15,000 Flutter-compatible packages and plugins as of this writing. You’re very likely to find someone has published a package for most native libraries you’re interested in.
What are the pros and cons of Flutter versus React Native and Xamarin?
Google itself does not make those comparisons, but I recommend this comparison done by Nubank, South America’s largest online bank.
Can you program Flutter in full Visual Studio 2019?
You’re able to do anything the IDEs can do via the command line and the LSP server that the Dart analyzer provides, which gives you the freedom to use whatever editor you like for your Dart and Flutter code. However, the Flutter team does not provide an IDE extension for Visual Studio.
When you’re getting started with Flutter and Dart, what are some solid training resources?
There are LOTS of training resources, but for a soup-to-nuts introduction to Dart and Flutter, I highly recommend the following resources:
When starting a new Flutter project, how much time do you need to build in to allow for the learning curve?
After 2.5 years on the team, I’m still learning new things about Flutter. However, in my experience, most new Flutter developers are happy and productive in their first week.
What features of Flutter make it a good choice when performance is important?
Flutter uses Dart programming language, which does AOT compilation for release builds, which means that Flutter apps run at whatever the native speed is of the underlying device. For example, Flutter will run at 60 FPS on a 60 FPS device, 120 FPS on a 120 FPS device, etc.
What is the best widget for displaying and running videos that include all the normal UI controls (positioning slider, stop, resume, audio control, maximize/zoom to full screen)?
This isn’t something that the Flutter team provides, but I recommend a quick search on pub.dev where you’ll find several solutions to choose from.
Is Flutter at risk of being deprecated any time soon?
No. Flutter is critical for internal teams at Google, like Google Pay, Stadia, Nest Home Hub, Google Ads, etc. Furthermore, there are more than 150,000 Flutter apps in the Google Play Store alone and more than 500,000 monthly active Flutter developers. Well-known brands like eBay, BMW, realtor.com, Tencent, Alibaba and more are using Flutter for their business.
At this point, we couldn’t cancel it if we wanted to. And we very much do NOT want to. : )
Have you used Adobe XD to develop Flutter UIs? How has your experience, or the experience of others, been creating UIs with Adobe XD?
I haven’t used it myself; I’m not a designer. However, the designers that have used it to provide tighter integration with their Flutter engineering teams have reported it to be an excellent time-saving experience. Also, the Adobe XD plugin is actively maintained, so it’s getting better all the time.
When can we expect the IO package for Flutter Web?
We have done research into that area but don’t currently have this work on our roadmap. That shouldn’t hold you back, however, as most of the differences in IO between Dart and Flutter are encapsulated in the file_selector and cross_file packages on pub.dev.
What scenarios are ideal for Flutter on the web?
Flutter on the web is great for building highly interactive, rich apps. This is excellent for building an app that could also be targeted at mobile or the desktop and using the web for seamless app distribution. It’s less useful for document-based sites.
How do I embed a Flutter web app in a webpage?
This isn’t something that the Flutter team has spent a lot of time on, but I recommend starting with an iframe.
What is the difference between functions and classes to create reusable widgets?
Functions are good for encapsulating reusable functionality, but they don’t provide a barrier for optimization that Flutter widgets do. In general, if you’d like to reduce drawing time for parts of your widget tree that don’t change, you should be using widgets, not functions.
What are some tips and tricks for improving rendering performance?
I recommend the performance best practices documentation on flutter.dev for an excellent guide on that topic.
I’m interested in capturing and analyzing performance metrics. What are some tools or options I can use along with Flutter to accomplish this?
I recommend Flutter DevTools for that and so much more!
Editable data grid for web/tablets/desktops—will this be a reality soon? It’s a must for enterprise apps.
You can expect an editable Flutter DataGrid for web/tablet/desktop in our Syncfusion 2021 Volume 2 roadmap.
Conclusion
In this webinar, Chris Sells answered a wide range of questions about Flutter from the attendees. We hope you find this helpful for your work with Flutter. Keep an eye out for future webinars!
Recommended resources (related links)
- Syncfusion Flutter widgets.
- Syncfusion Flutter documentation.