Tuesday, January 8, 2019

Delphi Flux application architecture

A good application architecture

Finding a good application architecture is not easy, but defining an architecture for your application is important: like it or not, every application is going to have an architecture.
There is no such thing as the Best Architecture, but there is the Best Architecture for your current application! (finish the project on time, with quality, less bugs as possible - no bugs preferred :) - and easy collaboration with your teammates).
Flux is the application architecture that Facebook uses to structure client-side web applications, is very simple to understand and there is almost no code for it. It's just a way to do things.
It’s a Clean Architecture so it’s not intended only for web apps, but its features and simplicity will allow us to adapt it very well to other kind of projects.
I believe Flux is very good choice.

Delphi Flux

Base Flux concepts, I created a project on Github Delphi-Flux-Seed. This project is an application skeleton to apply Flux concepts in Delphi applications. You can use it to quickly bootstrap your Delphi application. 

About Delphi Flux I held a session at CodeRage 2018, so you can watch the replay of that session at this link. Here are the slides of my presentation at CodeRage 2018: