/documentation

All documentation.

MIT LicenseMIT

go.NET

Bridging the power and design of .NET with the efficiency and simplicity of Go.

The go-dotnet organization is dedicated to creating a Go framework inspired by the philosophy and structure of ASP.NET. Our aim is to provide Go developers with an intuitive, efficient, and powerful set of tools that merge the best practices of both ecosystems.

Project Goals

  1. Innovation: Introduce a Go framework that marries the design and principles of ASP.NET, fostering a unique platform that benefits from both worlds.

  2. Performance: Achieve optimal performance by avoiding reflection and instead leveraging Go's inherent strengths, such as its concurrency model and static typing.

  3. Leverage Existing Libraries: Rather than reinventing the wheel, capitalize on mature, well-supported Go libraries. Enhance them with an opinionated structure to provide holistic functionality.

  4. Mimic .NET's Abstractions: Endeavor to emulate the quality, thoughtfulness, and depth of Microsoft's abstraction packages, ensuring a familiar environment for .NET developers transitioning to Go.

  5. Extensibility: Design with a plugin architecture in mind, ensuring that developers can easily extend the framework, fostering a rich ecosystem around go.NET.

  6. Developer Experience: Focus on creating a developer-centric framework that is intuitive, well-documented, and offers tooling that accelerates the development process.

Non-Goals

  1. Full ASP.NET Replication: While inspired by ASP.NET, the goal isn’t to reproduce every feature. We aim to capture its essence and philosophy but tailored for the Go ecosystem.

  2. Broad Library Scope: While we intend to leverage existing Go libraries, the framework won't support every available library out of the box. Instead, it will prioritize popular, well-maintained libraries and offer a mechanism for developers to integrate others as needed.

  3. Replacement for Existing Go Frameworks: This project is not an attempt to devalue or replace existing Go frameworks but rather to offer an alternative that mirrors ASP.NET’s design principles.

  4. Support for Non-Go Languages: The primary focus is the Go ecosystem. We won’t be diverting resources to provide bridges for other languages.

  5. Competing with .NET: While the project draws inspiration from .NET, it's not aiming to compete with it head-to-head but rather to bring some of its best features and practices to the Go community.

Contributing

We warmly welcome contributors! Whether you're fixing bugs, implementing features, or improving documentation, your efforts and expertise are appreciated. Please read our CONTRIBUTING.md for guidelines on how to contribute.

Community

Join our Discord/Slack community to discuss features, seek help, or collaborate with fellow developers!

License

This project is licensed under the MIT License.