-
Notifications
You must be signed in to change notification settings - Fork 1.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Declarative Support #565
Comments
To be discussed with @raymondfeng and possibly other stakeholders: High level requirementsWhen creating LB4 app, LoopBack users can:
List of artifacts that have declarative support in LB3
What we need to do
List of artifacts that will have declarative support
|
just realized this story is sort of groomed in #441. please ignore my comment above. |
I'm a very happy dev on LB3 right now with a sizable investment in the declarative, model-driven approach. So I'd just like to say:
Thanks! And keep up the awesome work on LB! |
Great feedback! We’ll definitely want to keep the simiplicity for common patterns. The idea of LB4 is to create the primitive building blocks first and add composite ones on top of them based on our users’ need. Ideas of such high order commands are welcome! |
@slathrop, thanks for your feedback. To add on @raymondfeng's comment, I'm in the process of cleaning up the steps in the TODO tutorial to demonstrate the "no-code support" to start up something simple. Feel free to comment on my PR: #1846. |
I want to second what @slathrop wrote. Loopback is an awesome framework! I think frameworks like loopback, and others like expressjs, owe their popularity in large part to their simplicity. |
For "6. Build tools (CLI/UI) to scaffold LB next applications and render/manipulate LB next artifacts," have you see https://github.com/mermade/openapi-gui? It has been pretty handy when I was trying to learn OAS3 and seems extendable. |
This issue has been marked stale because it has not seen activity within six months. If you believe this to be in error, please contact one of the code owners, listed in the |
This issue has been closed due to continued inactivity. Thank you for your understanding. If you believe this to be in error, please contact one of the code owners, listed in the |
LoopBack manages a set of artifacts, such as models, relations, datasources, connectors, ACLs, controllers, repositories, actions, sequences, components, utility functions, and openapi specs. In addition to the programatic approach to describe these artifacts by code (apis and decorators), we would like to add declarative support so that they can be declared in JSON/YAML files.
There are multiple tasks involved:
Define a LB Next definition language (DSL) in JSON/YAML format and corresponding templates. See New DSL and Template Support #120. We need to come up a list of artifacts and metadata schema for each of them.
Define the project layout to organize LB next artifacts
Leverage the IoC Context to manage metadata/instances of such artifacts following the extension point/extension pattern.
Define the lifecycle and serialization/deserialization requirements for each type of artifact.
Add
@loopback/boot
to discover/load/resolve/activate the artifacts. See [SPIKE] Create @loopback/boot to support declarative JSON/YAML files #441. The boot process can be tailored for both tooling and runtime.Build tools (CLI/UI) to scaffold LB next applications and render/manipulate LB next artifacts.
The text was updated successfully, but these errors were encountered: