Bucharest FP

A functional programming group for those living and working in Bucharest

We gather monthly, watch someone talk about something they're passionate about and then continue the discussion in a pub

#022: The JSON Architecture

This meetup took place at the Eloquentix office, Wednesday, 11 May 2016 at 19:00. Find out when our next meetup is.

The JSON Architecture

Constantin Dumitrescu

Biography

Constantin has over 7 years experience in web agencies and start-ups. He's a functional programming enthusiast and advocates for simpler, more maintainable and creative programming. His passion projects are productivity tools for developers that aim to make their life easier.

Abstract

Functional programming (FP) is simply amazing and turns popular programming paradigms upside down, making most practices obsolete. But how do you actually write with FP a full-fledged production-grade working application with a complex UI for your clients? How do you manage state? How do you make it maintainable by developers and not by Computer Scientists? How do you design the architecture?

The JSON Architecture is a culmination of using FP in practice and provides a concrete answer to using stateless, functional and point-free programming in production.

Through the melding of state, streams and side-effects, a counter- intuitive way of building applications emerges: a centralized state model that pulls updates from pure function streams and dispatches changes to side-effect listeners. This goes against the API-first design and teaches a State-first mental model that greatly reduces the cognitive load on the developer.

Complexity no longer grows with the application but plateaus very early in the development cycle making The JSON Architecture a good candidate for long term, multi-team development.

It is not a technology in itself, but a collection of open source projects and concepts that can be implemented in any programming language or system.

This presentation gives an overview, explains the design decisions and goes through the numerous opportunities and benefits developers gain from using it in practice.