A Clojure library suite for building secure, extensible, and asynchronous server-side applications.
Pedestal is a suite of Clojure libraries for server-side development that enables building secure, extensible, and high-performance web applications. It simplifies creating asynchronous services with built-in support for real-time features like Server-Sent Events and WebSockets, while integrating logging, metrics, and tracing out of the box.
Clojure developers building scalable server-side applications, APIs, or real-time web services who value simplicity, security, and extensibility in their tech stack.
Developers choose Pedestal for its Clojure-native design, which brings the language's elegance to server-side development, along with robust defaults, asynchronous capabilities, and seamless integration with popular servers like Jetty and Http-Kit.
The Pedestal Server-side Libraries
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Built-in security practices protect against common vulnerabilities, as emphasized in the features list, ensuring applications are protected out of the box.
Manages requests without blocking, improving performance for scalable applications, which is a core feature highlighted in the README.
Native support for Server-Sent Events and WebSockets as first-class citizens, making it ideal for building real-time web services directly from the library.
Comes with logging, metrics, and tracing built-in for monitoring application health, as stated in the key features, reducing setup overhead.
Default integration with Jetty 12 and Http-Kit allows for versatile deployment options, providing choice and adaptability for different environments.
Limited to the Clojure community and libraries, which has a smaller ecosystem compared to more popular languages, potentially restricting tooling and support.
While quick to start with a few lines of code, scaling to production requires extensive setup and tuning, as implied by the design to grow with the application.
Relies on external documentation at pedestal.io, which might not be as integrated or frequently updated as inline docs, complicating learning and troubleshooting.
Requires Java 17 or later, as noted in the README, which could be a barrier for teams operating on older Java versions or legacy systems.