Skip to content

A production-ready .NET framework for full-stack desktop, mobile, and web apps — with advanced abstractions, data structures, crypto primitives, and high-performance utilities.

License

Notifications You must be signed in to change notification settings

HermanSchoenfeld/Sphere10.Framework

Repository files navigation

Sphere10 Framework logo

🚀 Sphere10 Framework: Comprehensive .NET Application Framework

Copyright © Herman Schoenfeld, Sphere 10 Software 2018 - Present

A mature, production-ready .NET framework providing a complete foundation for building full-stack applications across desktop, mobile, and web platforms. Originally designed for blockchain systems, Sphere10 Framework has evolved into a comprehensive general-purpose framework offering robust abstractions, advanced data structures, cryptographic primitives, and utilities for high-performance .NET development.

✨ What Sphere10 Framework Provides

Core Foundation

  • Unified Architecture: Consistent patterns for application lifecycle, dependency injection, configuration, and component lifecycle across all platforms
  • Enterprise Data Access: Abstracted data layer with support for multiple database engines (SQL Server, SQLite, Firebird, NHibernate) and advanced query building
  • Advanced Cryptography: Comprehensive cryptographic implementations including post-quantum algorithms, digital signatures, and multiple hashing algorithms
  • Multi-Protocol Networking: TCP, UDP, WebSockets, and RPC frameworks for building distributed systems
  • Rich Serialization: Flexible binary serialization, JSON support, and streaming implementations

Application Development

  • Desktop UI Framework: Full-featured Windows Forms component library with data binding, validation, and plugin support
  • Web UI: Blazor-based component library with wizards, modals, grids, and responsive layouts for modern web applications
  • Cross-Platform: Run applications on Windows, macOS, iOS, Android, or .NET Core/5+
  • Plugin Architecture: Dynamic plugin loading and lifecycle management for extensible applications

Specialized Features

  • Memory Efficiency: Advanced collections, paged data structures, and streaming for handling large datasets
  • Graphics & Drawing: Cross-platform drawing utilities and image manipulation
  • Performance: Caching, connection pooling, and optimized algorithms
  • Testing: Comprehensive testing framework and utilities for unit and integration testing

📦 Installation

Sphere10 Framework is available as NuGet packages. Install the packages you need:

# Core framework (required)
dotnet add package Sphere10.Framework

# Additional packages as needed
dotnet add package Sphere10.Framework.Application
dotnet add package Sphere10.Framework.Data
dotnet add package Sphere10.Framework.Data.Sqlite
dotnet add package Sphere10.Framework.CryptoEx
dotnet add package Sphere10.Framework.Communications

🔍 Tools.* Namespace — Global Utility Discovery

The Tools namespace is a defining architectural feature providing a global, IntelliSense-discoverable collection of static utility methods across the entire framework. Simply type Tools. to explore all available operations:

Core Utilities

  • Tools.Crypto — Hashing, signatures, key derivation
  • Tools.Text — String manipulation, validation, generation
  • Tools.Collection — Collection operations, filtering, transformation
  • Tools.FileSystem — File I/O, directory management, temp files
  • Tools.Reflection — Type inspection, member discovery, attributes
  • Tools.Json / Tools.Xml — Data serialization
  • Tools.Memory — Buffer operations, memory allocation
  • Tools.Maths — Mathematical utilities and RNG
  • And 30+ more...

Platform-Specific Tools

  • Tools.WinTool (Windows) — Registry, services, event logging, privileges
  • Tools.Web.Html / Tools.Web.AspNetCore (Web) — HTML utilities, ASP.NET Core integration
  • Tools.iOSTool (iOS) — iOS-specific operations
  • Tools.Data / Tools.Sqlite / Tools.MSSQL (Database) — Database provider utilities

Design Pattern

using Sphere10.Framework;

// Discovery-first pattern — IntelliSense shows all available tools
byte[] hash = Tools.Crypto.SHA256(data);
string sanitized = Tools.Text.RemoveWhitespace(input);
var connection = Tools.Sqlite.Create(connectionString);
bool running = Tools.WinTool.IsServiceRunning("MyService");

For the complete Tools reference, see docs/tools-reference.md.

📂 Project Structure

The Sphere10 Framework consists of 45+ projects organized by category within src/, tests/, and utils/:

⚙️ Core Framework & Utilities

Project Purpose NuGet
Sphere10.Framework General-purpose core library with utilities for caching, collections, cryptography, serialization, streaming, and more NuGet
Sphere10.Framework.Application Application lifecycle, dependency injection, command-line interface, and presentation framework NuGet
Sphere10.Framework.Communications Multi-protocol networking layer: TCP, UDP, WebSockets, RPC, and pipes NuGet
Sphere10.Framework.Generators C# source generators for compile-time code generation
Sphere10.HashLib4CSharp Hashing library with support for MD5, SHA, BLAKE2, CRC, checksums, and more NuGet

🔒 Cryptography & Security

Project Purpose NuGet
Sphere10.Framework.CryptoEx Extended cryptography: Bitcoin (SECP256k1), elliptic curves, hash functions, post-quantum algorithms NuGet
Sphere10.Framework.Consensus Blockchain consensus mechanisms and validation rules framework NuGet

💾 Data Access & Persistence

Project Purpose NuGet
Sphere10.Framework.Data Data access abstraction layer with ADO.NET enhancements, SQL query building, CSV support NuGet
Sphere10.Framework.Data.Sqlite SQLite implementation for embedded databases NuGet
Sphere10.Framework.Data.Firebird Firebird database implementation NuGet
Sphere10.Framework.Data.MSSQL Microsoft SQL Server implementation NuGet
Sphere10.Framework.Data.NHibernate NHibernate ORM integration NuGet

🖥️ Desktop & Windows

Project Purpose NuGet
Sphere10.Framework.Windows Windows platform integration: registry, services, event logging NuGet
Sphere10.Framework.Windows.Forms Windows Forms UI framework and components NuGet
Sphere10.Framework.Windows.Forms.Sqlite Windows Forms with SQLite data binding NuGet
Sphere10.Framework.Windows.Forms.Firebird Windows Forms with Firebird data binding NuGet
Sphere10.Framework.Windows.Forms.MSSQL Windows Forms with SQL Server data binding NuGet
Sphere10.Framework.Windows.LevelDB LevelDB integration for fast key-value storage NuGet

🌐 Web & Cross-Platform

Project Purpose NuGet
Sphere10.Framework.Web.AspNetCore ASP.NET Core integration: middleware, filters, routing, forms NuGet
Sphere10.Framework.Drawing Cross-platform graphics and drawing utilities NuGet
Sphere10.Framework.NUnit NUnit testing utilities and framework test support
Sphere10.Framework.iOS Xamarin.iOS integration for native iOS apps
Sphere10.Framework.Android Xamarin.Android integration for native Android apps
Sphere10.Framework.macOS Xamarin.macOS integration for native macOS apps

🧪 Test Projects

The tests/ directory contains 2000+ comprehensive unit and integration tests covering all framework subsystems:

Test Project Purpose
Sphere10.HashLib4CSharp.Tests Tests for hashing algorithms
Sphere10.Framework.Communications.Tests Networking and RPC tests
Sphere10.Framework.CryptoEx.Tests Cryptography implementation tests
Sphere10.Framework.Data.Tests Database access layer tests
Sphere10.Framework.Tests Core framework tests
Sphere10.Framework.Windows.LevelDB.Tests LevelDB integration tests
Sphere10.Framework.Windows.Tests Windows platform tests

🎨 Presentation & UI Layer

Desktop (Windows Forms)

Project Purpose
Sphere10.Framework.Windows.Forms Comprehensive Windows Forms UI framework with data binding, validation, and component library
Sphere10.Framework.Windows.Forms.Sqlite Windows Forms with SQLite data binding and persistence
Sphere10.Framework.Windows.Forms.MSSQL Windows Forms with SQL Server data binding and persistence
Sphere10.Framework.Windows.Forms.Firebird Windows Forms with Firebird data binding and persistence

Web & Cross-Platform UI

Project Purpose
Sphere10.Framework.Web.AspNetCore ASP.NET Core integration with middleware, filters, routing, and form components
Sphere10.Framework.Drawing Cross-platform graphics and drawing utilities for all platforms

📚 Documentation & Learning

📖 Getting Started

📐 Architecture

📑 Guidelines

⛓️ Technical Papers

🔗 Quick Navigation & Resources

About

A production-ready .NET framework for full-stack desktop, mobile, and web apps — with advanced abstractions, data structures, crypto primitives, and high-performance utilities.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 8