Takes is a lightweight Java web framework built around immutable, object-oriented components. Applications are assembled by composing “takes”: objects that receive an HTTP request and return a response.
The framework follows strict object-oriented principles. Its code avoids null values, public static methods, mutable classes, the instanceof operator, type casting, and reflection. It also dispenses with configuration files, keeping application behaviour in Java code.
Takes includes an HTTP server and components for routing, request processing, RESTful services, templates, static resources, authentication, compression, encryption, and testing. It can also be used within Jakarta Servlet applications.
This is free and open source software.
Key Features
- Immutable, object-oriented application architecture.
- Composes applications from small request and response objects.
- Avoids null values, mutable classes, and public static methods.
- Does not use reflection, type casting, or the instanceof operator.
- Requires no configuration files.
- Includes an embedded HTTP 1.1 server.
- Routes requests using regular expressions and HTTP methods.
- Supports RESTful services, JSON, XML, and XSLT.
- Offers template support, including Apache Velocity.
- Serves static files and other application resources.
- Processes forms, query parameters, cookies, and request headers.
- Provides exception handling and HTTP redirects.
- Supports GZIP compression, SSL, and authentication.
- Offers hit-refresh debugging during development.
- Includes utilities for unit and integration testing.
- Can be embedded in Jakarta Servlet applications.
- Available as a Maven dependency.
Website: github.com/yegor256/takes
Support:
Developer: Yegor Bugayenko
License: MIT License
Takes is written in Java. Learn Java with our recommended free books and free tutorials.
Related Software
| Java Web Microframeworks | |
|---|---|
| Spring Boot | Create Spring-powered, production-grade applications and services |
| Javalin | Simple web framework for Java and Kotlin |
| Ktor | Asynchronous framework for creating microservices, web applications and more |
| Quarkus | Kubernetes native Java stack tailored for OpenJDK HotSpot and GraalVM |
| Dropwizard | Java framework for developing RESTful web services |
| Spark | Simple expressive web framework for Java |
| Ratpack | Simple, capable, toolkit for creating high performance web applications |
| Armeria | Build any type of microservice leveraging your favorite technologies |
| Jooby | Modern, performant and easy to use web framework for Java and Kotlin |
| Helidon | Set of Java libraries for writing microservices |
| Pippo | Aims to be easy to use and hack |
| Jodd | Set of micro-frameworks and developer-friendly tools and utilities |
| Rapidoid | HTTP server and modern Java web framework / application container |
Read our verdict in the software roundup.
Explore our comprehensive directory of recommended free and open source software. Our carefully curated collection spans every major software category.This directory is part of our ongoing series of informative articles for Linux enthusiasts. It features hundreds of detailed reviews, along with open source alternatives to proprietary solutions from major corporations such as Google, Microsoft, Apple, Adobe, IBM, Cisco, Oracle, and Autodesk. You’ll also find interesting projects to try, hardware coverage, free programming books and tutorials, and much more. Discovered a useful open source Linux program that we haven’t covered yet? Let us know by completing this form. |


Please read our Comment Policy before commenting.