Welcome to Kelp, a lean Perl web framework designed to make web development simple, efficient, and powerful. Whether you're building a small personal project or a complex application, Kelp delivers the tools required to turn your idea into a fully functional website. At the same time, its minimalist design and modular architecture results in faster performance and outstanding extensibility. With Kelp, you can focus on writing clean, maintainable code without the bloat of unnecessary features. Our intuitive routing system, flexible configuration options, and seamless integration with the Plack ecosystem make developing with Perl a pleasurable experience.
Much like Perl itself, Kelp tries to move forward without breaking backward compatibility. Recently released major version 2 of the framework brought an astonishing number of new features, bug fixes and performance improvements without causing any major disturbances to existing applications. It values your time as a developer and lets you sit back and enjoy a functional and stable website for years.
What makes Kelp different from the other web frameworks? From all the fine
web
frameworks in the Perl ecosystem, the majority bring their own
deployment code and aim to write their own processing
mechanisms. Kelp, on the other hand, is heavily Plack-centric.
It uses Plack as its foundation layer, and it builds the web framework
on top of it. Kelp::Request
is an extension of
Plack::Request
, Kelp::Response
is an extension of
Plack::Response
and the application can be run natively
through plackup
.
This approach of extending current CPAN code puts well tested tools in the hands of the application developer, while keeping familiar syntax and work flow. It also creates less friction when running in a pure Plack environment, making Kelp one of the fastest Perl web frameworks.
Besides Plack itself, Kelp uses only a few popular, trusted CPAN modules for its internals. At the same time, its core does not deliver features you might not need. The framework does its best to keep a lean profile and a small footprint, and it's completely object manager agnostic.
The Kelp project is distributed through CPAN. To install it, you can
use your local CPAN client - cpanm Kelp
- or download and
build a tarball from MetaCPAN. To get started, read our extensive manual. If you have any questions, we're
happy to help - you can either create a GitHub issue, ask on GitHub
discussions or ask on
our Google group.
Solutions to many common problems already exist either as Plack application or middleware, or as a Kelp module. Below are listed some of the most impactful open source projects the Kelp ecosystem has to offer.