About Fano and Brook frameworks, what is your perception about their use?
(I have my reservations about using tools that may eventually be discontinued (they are not an "official" part of Lazarus or FPC). I have had problems with this in the past when using components for Delphi that have been discontinued).
But what do you think about their application and use and how they fit into the context of web development with Lazarus?
In my experience large (non-Pascal) web frameworks contain many/most of the below. Also in my experience, with a well integrated and coherent framework, app/API development becomes boring and feels like work.
Depending on your objectives, this may or may not be what you want.
- basics: accepting requests, providing responses, routing
- managing JSON in/out for RESTful APIs
- templating for server-rendered web apps
- JWT, OAuth2, OpenID Connect for authenticating to RESTful APIs
- session authentication for browser-driven server-rendered web apps
- modern password hashing to allow easy building of user management functionality
- ORM (or their functional equivalent) that makes it easy to do CRUD operations
- direct SQL access for complex queries feeding results into JSON and templates
- supports leading SQL and NoSQL databases
- works with Redis, memcached and similar out of the box
- works with messaging/queueing systems
- integration with cloud SDKs
- websockets
- WebAssembly
- and stuff I've missed
Most of these pieces are in FCL or exist as 3rd party libraries, but you the programmer has to integrate them in your app. I've not used mORMot, but it seems to tick most of the boxes according to its docu. I've only played briefly with Brooke and Fano, and I think they are missing most of the above.