Why aah framework?
There are nice minimalist, micro, Go frameworks out there with own set of goals. aah focuses on very small footprint, security, maintainability, performance, configurability and extensibility as application use cases expands.
aah framework’s goal is to achieve rapid, highly configurable, very small footprint and balanced Go web framework for small, medium, enterprise scale. You have to focus on application logic instead of building infrastructure, no need to reinvent the wheel.
aah framework was inspired by Rails, Hapi.js and Revel (I was part of Revel’s core-development team). On the other hand, Revel and aah don’t share the same direction or goals.
Read the Features and Documentation, it expresses; aah is unique among its peers. If it satisfies your use case then aah framework is for you.
aah framework values Go idiomatic and ecosystem. Good read here, here and here.
What to expect from aah framework?
Framework capabilities and features that empowers engineering and operation/devops teams.
- Perfect fit for Web applications and/or RESTful APIs
- Flexible Configuration Management
- Security - Authentication and Authorization since v0.7
- Session Management - stateful and stateless
- Internalization and Localization
- Event Publisher
- View Engine, Multi Layout, Multi Template and Partial Inheritance
- HTML minify, inline JS and CSS since v0.6
- Static files HTTP cache control since v0.6
- Server Access Log since v0.7
- Don’t Repeat Yourself (DRY), Conventions, Configurations
- Highly Customizable & extensible - enable/disable any feature as per application use case
- Go idiomatic, intuitive API, typical naming conventions
- Auto Binding
- Input Validation and Sanitization
- Server Sent Events (SSE)
- HTTP Cache Control
- Dependency Injection (DI)
- Database Abstraction
- Application Metrics
- Rate Limiting
Ooh No! the feature/enhancement that I’m looking for is not available in the aah framework. What should I do? Well, refer to the project roadmap or reach out to me via Github Issues or Mailing List.