Functional Web App (FWA)
fwa.dev
fwa.dev
The idea of a 2 dev org deciding to replace simple maintenance free function calls with authenticated, TLS-secured, retry-able, service-located, rate-limited remote procedure calls (in the general sense of the term) and replacing simple method parameters with serialisation and deserialisation overhead… it’s all just pretty absurd.
Though it makes claims that I find very hard to implement in reality.
How to "never have maintenance on storage" AND "ensure storage API is compatible with all (web) clients that may be running"?
It would be great if it contained some examples; as like this it feels rather baseless.
I volunteered to help out with a project that had been built using FaaS by someone with no specific domain expertise. After a day of reading the code and prototyping solutions, I ended up having to duck out of the project because it was in such a bad state.
Admittedly, this was mostly down to the fact it had been all set up manually by copy/pasting files into the FaaS provider's web interface, and FWA is recommending some amount of Infrastructure as Code which would help, but I do think FWA vastly underestimates the amount of knowledge and experience to do this well.
I would take a Django/Rails starter project on a Digital Ocean template box in an instant over a FWA application if it was a made by an inexperienced developer.
There's less teaching material, the material is of variable quality and pulling in different directions, it's less clear how things fit together, and it all depends on technology that's very much in flux.
I'd probably suggest that basic PHP sites are a simpler mental model (as the page/template/URL structure is more directly related) and therefore better for beginners.
This makes me wonder what they mean by "functional". Functional as opposed to dysfunctional, then?
Vercel provides CDN caching for static assets, edge functions, and lambdas. Planetscale provides MySQL as an interface on top of an effectively infinite scale Vitess cluster.
My app is a stupid pipe from my db to my user that goes through a single lambda function on Vercel. Pretty hard to beat.
In a similar light to what this FWA group is presenting, I also have put forth some points about why this style of web dev architecture is important and effective. https://awayto.blog/posts/webapps/
Actually, I started out reading Million Dollar Consulting last year and one of the first chapters essentially talks about the importance of having a portfolio of work, and being able to capitalize off that body of knowledge within to grow more as a consultant. Well, I took that as a sign to formalize a framework that would allow me to do my development work in a much more effective manner, as well as provide more out of the box functionality for my clients.
Overall, the experience has been really positive. Obviously I don't get to use my own framework with every client, and that's a good thing. But, when working with clients who need basic business problems solved, having an FWA style framework is going to allow you to iterate so much faster than traditional MVC platforms. At least this has been my experience. Specifically to that point, with templated and loosely coupled parts, you don't have to spend too long building your web app to get it to do something exceptional.