A journey into Flutter. Dreams of beauty. Dreams of quality.
This code repository features a set of Android Studio Flutter projects aimed at incrementally exploring small code samples and concepts for creating Flutter applications.
This project was assembled as a part of a Flutter Study Jam hosted in the Summer and Autumn 2018 by the Google Developer Group in Toronto.
The objective of the Study Jam was to follow along with a Udacity Course that served as an Intro to Flutter and provide in-person support for people progressing through the course activities, and use the insights to work on their own projects.
What some participants found along the way was that although there is no shortage of materials available for learning Flutter and Flutter concepts, the ecosystem proved challenging to really get started and develop confidence for people who may not be mobile developers or seasoned Object-Oriented Programming developers.
Be forewarned: Despite claims made by some resources and tutorials that you do not need to be an experienced Object-Oriented Programming or Mobile developer in order to use and build something with Flutter, you will need to eventually become one.
From our experience, developing a familiarity with an IDE such as Android Studio, and learning the programming language Dart are indeed prerequisites to developing momentum and confidence as a Flutter developer.
This series will begin from the starting point that you
- do have a Development Environment setup (Android Studio or otherwise)
- do have an emulator installed or are able to connect your mobile device to your computer
- do have Flutter installed
- are able to create a new Flutter project
- are able to get the default Flutter project to run on your emulator or connected device
With the building blocks, you should be able to remove the default Flutter application, and rebuild it yourself with a full understanding of what is going on.
You may not need to know Dart for this part, but you will certainly pick some up along the way.
https://github.com/markreale/the-flutter-journey/tree/develop/a_message
https://github.com/markreale/the-flutter-journey/tree/develop/multiple_things
Applying style and design to content.
https://github.com/markreale/the-flutter-journey/tree/develop/design_layer_control
Detect an event.
https://github.com/markreale/the-flutter-journey/tree/develop/detect_an_event
Working with States.
https://github.com/markreale/the-flutter-journey/tree/develop/count_some_things
https://github.com/markreale/the-flutter-journey/tree/develop/material
If you expect to have content that may go beyond the limitations of the screen, you need to build your own scrolling into the system.
https://github.com/markreale/the-flutter-journey/tree/develop/scrolling
Working with Images
https://github.com/markreale/the-flutter-journey/tree/develop/display_an_image
https://github.com/markreale/the-flutter-journey/tree/develop/custom_fonts
Navigating between multiple screens.
https://github.com/markreale/the-flutter-journey/tree/develop/navigation
Setting up the Development Environment.
Breaking Content into manageable chunks.
Working with data.
Pulling in Data from other places.
Ensuring that your content is safe for you and for users.
Ensuring that your content is accessible to as many people using as many devices as possible.
Making content available through distribution channels.
Augmenting the User Experience.