Fundamental Concepts of Application Development With Flutter
Mobile applications are ubiquitous and everyone has app ideas yet very few people have the skills to actually build a fully functioning app. Low supply + high demand = high pay for dev’s. In this post I’m going to teach you the fundamental concepts of app development in Flutter. This way the next time you or someone you know has a great idea you can be the one to take action.
Flutter is Google’s framework for building iOS and Android applications. A framework is best thought of as a tool for laying the foundation for building an application. Flutter allows programmers to write UI’s in the Dart programming language using Object Oriented Programming (OOP) .
Dart is a low-level language that is similar in syntax to C++ and Java. OPP is a computer programming concept where a programmer creates a recipe for something they will use (an object) and then repeatedly use instances (slight variations, renditions) to program Cool Stuff. An object is analogous to the core recipe for baking a cake and the instances of this recipe are the different types of cake you can bake with. Checkout the example below:
The class Cake defines an Object which we will use for building various cakes. Inside of the function main I’ve used the cake recipe to bake two different Instances of the cake class. When using Flutter the name of the game is knowing: 1) Which Object (recipe) to use and 2) Which arguments (ingredients) to pass into an instance of a class to make the best looking UI.
In Flutter you build your own classes which are an extension of the Widget class provided by Flutter, Widgets are analogous to Components the components of React. For new programmers a Widget can be thought of as a puzzle piece. Every custom widget you make will inherit its characteristics from the class of Widget which the dev’s at Flutter graciously provided to us for free, thanks Flutter team!
Unlike school memorization in UI design is futile. Even pro developers don’t have every Flutter Widget and it’s arguments memorized. I’ve found that the most effective way to get things done is by following this workflow:
1) I have a vision in my head of what I want to build, 2) I search through Flutter’s base widgets to find anything that’ll help me and 3) I begin building the UI in small divisible parts and repeat the process until I’ve completed the entire page.
There is a good chance that what you want to build may have already been built. Professional dev’s recycle code all the time. It is not shameful to utilize or tweak someone else’s code, in fact in my opinion that is the best way to learn. I’ve found that the best places to search are Medium, the Flutter documentation and Youtube. Thanks for reading and good luck!