Hacker News new | ask | show | jobs
by jart 2067 days ago
At first it sounded like isomorphic javascript, which is better as far as searchability is concerned. Then I read more about your project. Does this really use reflection to generate rpcs for all server-side data objects by default? Because that's really profound. I guess I never really considered before that the reason we design APIs is so we can tightly control what forms of communication the client is allowed to do, and that none of it would be necessary at all, if we could simply just trust the client. I hope the Internet shows your services the kindness they deserve.
1 comments

By default, nothing is exposed. To make an attribute or a method accessible from the frontend, it must be explicitly exposed by using the `expose()` decorator.
Ah thanks for clarifying. Generating schemas and APIs from @annotations / @decorators is a well established technique. How does that remove four layers from the tech stack?
In a nutshell:

- The frontend is "inherited" from the backend so there is no need to build an API server and an API client.

- The database is abstracted away by an ORM.

- The user interface can be encapsulated into the domain model.

If you are interested, you can read this article for more details: https://dev.to/mvila/full-stack-development-should-be-easier...

What sort of tech stack do you run in production?
Any Node.js environment can run the backend. As for the database, Liaison supports only MongoDB for now, but more databases are expected to be supported in the future.