You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Discuss why and when livecycle management is required
Briefly covering the different approaches taken by Mount, Component and Integrant.
Link to a section and examples of each
component
?
integrant
duct
?
Check to see which luminus and pedestal templates use.
Write section on application lifecycle management tools
Application lifecycle management tools configure the many components that are part of an application, such as HTTP server, persistence store access, cache management, passing configuration to routing (db connections, security, etc)
When running an application, lifecycle tools ensure components are configured and started correctly, to provide a consistent startup and clean shutdown of all components.
Some tools also have specific REPL libraries (e.g. Integrant REPL, Component REPL) to support a REPL driven development workflow. These tools can start, restart and stop components in the system or the whole system itself, without requiring the Clojure REPL process to be restarted.
https://github.com/weavejester/integrant - data focus, more involved, separate Integrant REPL project, most common for new projects with multiple components, works well with JUXT aero
Overview of lifecycle management in Clojure,
Discuss why and when livecycle management is required
Briefly covering the different approaches taken by Mount, Component and Integrant.
Link to a section and examples of each
component
integrant
Check to see which luminus and pedestal templates use.
Write section on application lifecycle management tools
Application lifecycle management tools configure the many components that are part of an application, such as HTTP server, persistence store access, cache management, passing configuration to routing (db connections, security, etc)
When running an application, lifecycle tools ensure components are configured and started correctly, to provide a consistent startup and clean shutdown of all components.
Some tools also have specific REPL libraries (e.g. Integrant REPL, Component REPL) to support a REPL driven development workflow. These tools can start, restart and stop components in the system or the whole system itself, without requiring the Clojure REPL process to be restarted.
Commonly used projects
https://github.com/tolitius/mount - simple, atom based, lightweight
https://github.com/weavejester/integrant - data focus, more involved, separate Integrant REPL project, most common for new projects with multiple components, works well with JUXT aero
https://github.com/stuartsierra/component - classic component approach, less used for new projects, but still many projects using this approach
Projects to evaluate
Semi-related projects
Resources
Related issues
The text was updated successfully, but these errors were encountered: