FlutterFlow | Dev Considerations

This is a comprehensive guide that outlines a few considerations for the most effective and efficient ways for developing inside FlutterFlow. 

Line Charts

For line charts, the x-axis can only be numbers.

For example:

If we need the chart to have an alphanumeric x-axis, we need to either:

  • Use Bar chart.
  • Add a fixed text outside the chart that would represent the dots (not ideal).

Templates

When using a template, we won’t be able to duplicate the app. Even if we’ve built over that template.


Backend

  • Firebase natively works with phone. If we need email verification, we will need to add Flutter code.
  • Supabase works both with phone and email.

FlutterFlow Web Preloader

For more information see this video: https://www.youtube.com/watch?v=bZ-vUSHLG58


Why Use It
The preloader addresses a critical user experience issue in FlutterFlow web applications where users encounter a blank screen during initial load.

When to Use It
Implement the preloader when:

  • Your web app has a noticeable loading delay
  • You have media-rich content that takes time to initialize
  • Your application serves users with varying internet speeds
  • You want to provide immediate visual feedback during app initialization

How It Works
The solution works by:

  1. Adding a loading spinner to the HTML header section
  2. Displaying during the gap between initial page load and Flutter engine initialization
  3. Automatically disappearing once your app's splash screen renders
  4. Maintaining full customization control through CSS variables
The implementation requires only modifying the custom headers section in FlutterFlow's web deployment settings, making it a non-invasive enhancement to your application.

Code:

 

<style>
#loading-spinner {
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
display: flex;
justify-content: center;
align-items: center;
background-color: #c5ecdb;
z-index: 9999;
}
.spinner {
width: 50px;
height: 50px;
border: 5px solid #7BB695;
border-top: 5px solid #004225;
border-radius: 50%;
animation: spin 1s linear infinite;
}
@keyframes spin {
0% { transform: rotate(0deg); }
100% { transform: rotate(360deg); }
}
</style>
 
<!-- Add this script to create and manage the loading spinner -->
<script>
document.addEventListener('DOMContentLoaded', function() {
var spinner = document.createElement('div');
spinner.id = 'loading-spinner';
spinner.innerHTML = '<div class="spinner"></div>';
document.body.appendChild(spinner);
 
window.addEventListener('load', function() {
spinner.style.display = 'none';
});
});
</script>

Was this article helpful?
© 2025 LowCode Internal Docs