I wondered how difficult it could be to write a board game in Flutter, involving Animations, Sequences of Animations, Triggered Animations, Sounds, Gesture Recognition…?
As I have been playing for years with Math-3 games such as Candy Crush, Bejeweled and lately FishDom, it sounded natural to me to give a try and mimic these games.
After only 1 week, I already had a working version of a game I called “Flutter Crush” and this article explains the steps I followed for this proof of concept.
The full source code of this article is to be found on GitHub.
Please note that my objective was not a release the game. Therefore, there are still things which are not fully implemented or tested. Also, the structure of the code could be very much improved but this was not part of my objectives. …
Introduction to the notions of Streams, Bloc and Reactive Programming. Theory and practical examples.
It took me quite a while to find a way to introduce the notions of Reactive Programming, BLoC and Streams.
As this is something that can make a drastic change to the way to architecture an application, I wanted a practical example that shows that:
The practical example I made is a pseudo application which, in short, allows a user to view a list of movies from an online catalog, filter them by genre and release dates, mark/unmark them as favourites. …
This article describes the notion of Shared Preferences that allows a Flutter application (Android or iOS) to save settings, properties, data in the form of key-value pairs that will persist even when the user closes the application.
Shared Preferences are stored in XML format.
Shared Preferences is application specific, i.e. the data is lost on performing one of the following options:
The main use of Shared Preferences is to save user preferences, settings, maybe data (if not too large) so that next time the application is launched, these pieces of information could be retrieved and used. …
This article covers the important notions of Widget, State, BuildContext and InheritedWidget in Flutter Applications.
Special attention is paid on the InheritedWidget which is one of the most important and less documented widgets.
However, the documentation is huge and this concept is not always clearly explained.
I will explain these notions with my own words and shortcuts, knowing that this might risk to shock some purists, but the real objective of this article to try to clarify the following…