The SharpByte Public API

Welcome to the home on the web of the SharpByte free public API, a set of reusable, extensible libraries addressing commonly-needed functionality in the .NET framework and beyond.

Get the Code

Features

These libraries and others were initially developed in support of the SharpByte CMS, the world's first completely full-featured, data-centric CMS. The code is provided in the spirit of sharing, and to enable easy development using features such as dynamic code compilation and execution; a rich set of data structures such as priority queues which can be highly important for server-side, high-performance code; logging; and other such cross-cutting concerns.

Reusable

The code is provided under the MIT License, and as such is not only freely reusable, including commercially, with few restrictions, but does not import libraries with more restrictive licenses.

Powerful

The SharpByte Public API is designed from the ground up to be extremely easy-to-use. Each part of the API is intended to function well under heavy load, and unlocks the potential of key language features such as dynamic compilation in a safe, easy way. In some cases this involves creating a facade over an existing platform or language feature that is relatively little-known or tricky to implement (such as dynamic extension properties on objects, dynamic compilation, etc.). Parts have also been created from scratch, such as new data structures, an extremely high-performance logging package with DNA in NSpring Logging, and other key features.

Modular

The APIs which comprise the SharpByte Public API are well-isolated against dependencies that can lead to DLL hell and similar issues. You can use the code as-is with confidence, or use parts in your own project as you wish. You are also invited to contribute additions to the project.

Comprehensive

Informed by many cumulative years of experience in full-stack programming as well as API construction in C# and other languages, the SharpByte Public API is designed to fill in recurring key gaps in the provided platform code. Have you ever needed to dynamically evaluate a statement and wished that you could do so with a single call, without slowing your execution to a crawl?

Useful

The project is intended to not only provide new API features, but well-constructed facades for existing ones that can be notoriously difficult. Where possible, extension methods add functionality seamlessly, side-by-side with existing calls in IDE type-ahead. Where extensions dovetail with existing similar methods, care has been taken to preserve existing semantics so that the resulting programming style is fluid and natural.

High-performance

Certain cross-cutting concerns, such as logging, should be implemented in an extremely high-performance way to enable instrumentation without worry, as well as maximum ease of interoperability with other APIs and systems. In addition, even in this age of FaaS and increasing decoupling of code from the OS, there are certain types of systems (e.g. transactional data systems) which must be developed with extreme high performance and stability in mind.

Completely free for any purpose

The free software movement has brought many wonderful innovations to the world, but copy-left licenses can be restrictive at times. Not only is the code provided under the MIT License, the SharpByte Public API will always remain free by only referring at most to libraries under the same or less-restrictive licenses.

Need Help?

For now you are free to join the project and/or use available source control messaging tools, or you can email the project administrator.

admin@sharpbyte.net