Declare once, run anyhow - Vrac’s approach at web app development


Details
Bonjour à tous,
Nous vous proposons un meetup virtuel ce Samedi matin à 10h00. Vincent Cantin nous présentera sa nouvelle librairie : Vrac. Je partagerai le lien de connexion avant samedi.
Baptiste
***
Détails (in english) :
Writing a web app is all about loading data to the browser, displaying them in the middle of HTML, and do stuffs with the data when the user interact with the UI. It should be that simple but in practice it is a lot more complicated: You need to determine what data you need to load, when to load it, where to store it, and from where you read it when you want to display it. You also need to care about how the data is rendered if you want to keep some good performances when your HTML displays some changing data. You may also have to manage a graph of computed values and use tricks to avoid useless recalculations and re-renders. Then your app is running and you need to manage localization. Your codebase grows, the requirements change, you have to break your data structure and rendering optimizations, you rewrite them in the new components you just added. Bugs start to appear, you solve them as you go, obscure unsolved refresh bugs get some workaround .. You reached your final release. Congratulations. You then meditate on your codebase and think: why does it have to be so complicated? The day after, you explain what your web app does to a friend, and your friend get it even without watching the source code. In your mind, you wish that the program was as easy to write as it is to explain it to your friend. You pause and think: “wait … why not?”
Vrac is a WIP project whose goal is to focus on what the developer wants to do rather than how he wants it to be done. It takes a declarative approach where the user writes down all the information that matter for describing a web app, and skips on anything that could be deducted from that description.
In this presentation, I am going to talk about Vrac's approach, ideas and design decisions, and explain the underlying reason behind each of them.

Declare once, run anyhow - Vrac’s approach at web app development