I really wanted to throw myself in at the deep end, and picked an Alex Marin design for my first Flutter project. Alex creates beautiful designs and has a keen eye for detail, so I knew that I couldn't take any shortcuts!
One of the first components I put together the left sidebar. The NavigationRail widget has a beautiful API that handles most of the use cases that you'll need for a left side bar, from handling being extended or not, to header and footer sections. Couple this with
MediaQuery.of(context)
to determine the app's width and you end up with a simple responsive solution with very few lines of code.Flutter is full of plug and play Widgets like this, requiring very little developer input and allowing for speedy development. Also, if you're a developer with no design input, these widgets are quite beautifully prepared, with a palette prepared that handles light on dark content, vice versa.
Back to NavigationRail. It was perfect - too good to be true almost. And for what I wanted (which was a 1-1 production of the design that I had in front of me) I just at the time couldn't fully turn off the design system's InkWell feature.
This ended up being a blessing in the end, because I had to dig deeper into building widgets, learning how to handle a click myself and fighting with constraints until it started to click.
If you have a design that follows all of the conventions of Material Design, or you don't have a design at all, then building apps is both easy and exceptionally fast.