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. Solutions to
many common problems already exist either as Plack application or
middleware, or as a Kelp third party module. 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.