Splash Screen is the basic necessity of any Production level app. Other than good UX, the main purpose of the Splash Screen is to set the initial state of the App. For eg: Check whether the user is authenticated and redirect to the next screen accordingly, to load the HomeScreen data if user is authenticated, etc.
I have so far been doing this using an initial screen in flutter with splash screen UI, making the checks and setting the initial state and then redirecting to the next screen. But, the drawback with using Flutter code for splash screen is the delay of 2-3 seconds till the dart code is initialised, which leads to a white screen with no data after which the UI is loaded.
This is bad UX for anyone who is looking to achieve a smooth, perfect flow.
The straightforward way would be to use native splash screen. But I don’t want to write native code to set the initial state of the App. How are you guys doing this? Is there any guideline/documentation that I may have missed?
Any help would be highly appreciated!