Oxpecker is a library started as functional wrapper around ASP.NET Core Endpoint routing, but now providing fullstack capabilities with Htmx and Solid.js integrations. Repository is a monorepo with all related projects included and documentation located in Readme files per project.
The server part of the Oxpecker library is a revised version of Giraffe, it mostly sticks to Giraffe's successful API (hence the name). Improvements involve changing some core types, performance of template handlers, simplifying handlers and dropping a lot of outdated functionality.
Medium posts:
- Introduction: https://medium.com/@lanayx/the-oxpecker-ef9df3dfb918
- About ViewEngine: https://medium.com/@lanayx/7-reasons-to-try-oxpecker-viewengine-af642b4d191c
- Comparison with Blazor: https://medium.com/@lanayx/blazor-vs-oxpecker-067cbcda9f99
- Oxpecker.Solid introduction: https://medium.com/@lanayx/oxpecker-goes-full-stack-45beb1f3da34
- Native ASP.NET Core Endpoint routing integration
- ViewEngine with convenient DSL for HTML
- Strongly typed route parameters
- Endpoint handlers and endpoint middlewares, flexible composition
- JSON binding and serialization
- Form binding
- URL parameters binding
- Response caching
- Streaming
- Authorization
- eTag support
- IResult support
- Many useful HttpContext extensions
- Dump of different features all in one place
- Full CRUD example with functional DI
- HTMX sample application
- Oxpecker version of the traditional ASP.NET WeatherApp
- SPA application (TODO list) without backend
- Oxpecker Readme
- Oxpecker.ViewEngine Readme
- Oxpecker.Htmx Readme
- Oxpecker.OpenApi Readme
- Oxpecker.Solid Readme
- Migration from Giraffe
develop is a development branch, projects are linked with each other using project references. Use this branch to send PRs.
main is a production branch, projects and examples are linked with each other using nuget (or npm) packages. Packages are published from this branch.