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
Copy file name to clipboardExpand all lines: content/_index.md
+3-3Lines changed: 3 additions & 3 deletions
Original file line number
Diff line number
Diff line change
@@ -17,16 +17,16 @@ cascade:
17
17
18
18
<h2>What is Clace?</h2>
19
19
20
-
Clace is an Apache-2.0 licensed project building a platform to develop and deploy hypermedia driven web apps for internal tools. For running multiple web applications on a single machine, Clace provides functionality which usually requires stitching together multiple services: reverse proxy like nginx/caddy (for domain/path based routing, TLS certs, static file serving), application server like uwsgi/gunicorn with micro-framework like flask (for API handling) and deployment infrastructure like containers/VMs/k8s (for isolation across apps, versioning and staged deployments, gitops). For internal tools, Clace provides similar functionality in a single lightweight binary.
20
+
Clace is an Apache-2.0 licensed project building a platform to develop and deploy web apps for internal tools. For running multiple web applications on a single machine, Clace provides functionality which usually requires stitching together multiple services: reverse proxy like nginx/caddy (for domain/path based routing, TLS certs, static file serving), application server like uwsgi/gunicorn with micro-framework like flask (for API handling) and deployment infrastructure like containers/VMs/k8s (for isolation across apps, versioning and staged deployments). For internal tool deployment, Clace provides similar functionality in a single lightweight binary, with gitops workflow out of the box.
21
21
22
22
<br>
23
23
<h2>What can it do?</h2>
24
24
<p>
25
-
Clace can be used to easily develop and deploy hypermedia driven web applications which are secure and portable. Clace can run web apps for personal use and also host applications for access over the public internet. Clace can be used by teams to host internal applications. Clace supports building a hypermedia driven web interface for an existing API's, a backend-for-frontend type pattern. Developing a web UI for command line applications is another use-case. CRUD applications and applications which glue together backend APIs are good candidates for Clace apps.
25
+
Clace can be used to easily develop and deploy web applications which are secure and portable. Clace can run web apps for personal use and also host applications for access over the public internet. Clace can be used by teams to host internal applications. Clace supports building a hypermedia driven web interface for an existing API's, a backend-for-frontend type pattern. Developing a web UI for command line applications is another use-case. CRUD applications and applications which glue together backend APIs are good candidates for Clace apps.
26
26
<br>
27
27
28
28
<h2>How does it work?</h2>
29
-
Clace and its plugins are implemented in go. User applications are developed and configured in <ahref="https://github.com/google/starlark-go">Starlark</a>, which uses a python inspired syntax. Users of Clace write only Starlark and HTML templates. The backend code runs in a security sandbox and access to plugins need to be explicitly permitted. The API routes are defined to be Hypermedia first, using template partials to drive the UI interactions. <ahref="https://htmx.org/">HTMX</a> is used for server interactions from the UI.
29
+
Clace and its plugins are implemented in go. User applications are developed and configured in <ahref="https://github.com/google/starlark-go">Starlark</a>, which uses a python inspired syntax. Users of Clace write only Starlark and HTML templates. The backend code runs in a security sandbox and access to plugins need to be explicitly permitted. The API routes are defined to be Hypermedia first, using template partials to drive the UI interactions. <ahref="https://htmx.org/">HTMX</a> is used for server interactions from the UI. Application backends can be defined in a Dockerfile, Clace builds and deploys the containers to serve the application.
30
30
31
31
There are no Python or Javascript dependencies to install, no containers to create, no yaml files to manage. Application updates are done with a gitops workflow, with no-build step. Staging and preview environments are available for apps. Clace integrates with TailwindCSS/DaisyUI for UI styling and has <ahref="https://esbuild.github.io/">esbuild</a> built-in for <ahref="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Modules">ESM</a> support. Data persistence to sqlite is supported using a document store interface. Clace manages request routing and TLS certificates creation and renewal, so a separate web server is not required.
0 commit comments