Signum Framework is an Open Source framework from Signum Software for writing data-centric applications over the latest technologies from Microsoft (.Net Core 3.1, C# 8.0, ASP.Net Web.API and Typescript 3.7) and web standard libraries (React, Bootstrap and D3). It uses either Microsoft SQL Server or PostgreSQL to store data.
The main focus of the framework is being able to write vertical modules (database tables, entities, logic and React UI components) that can be shared between projects.
It provides a consistent model for N-layer architectures by moving the entities to the very center of your solution using Signum.Entities.
Our cutting-edge ORM, Signum.Engine, has a full LINQ Providers that avoids N + 1 problem and lets you UPDATE / DELETE / INSERT entities without having to retrieve them first.
Signum.React let you write a Single Page Application using React, Bootstrap and TypeScript.
- Designed for vertical modules (aka: Bounded Context)
- Entities-first approach
- ORM with a full LINQ Provider
- Unified validation
- Schema generation and synchronization
- WPF smart-client interface
- React/Typescript SPA
- Promote simple and clean code, avoiding astronautical architectures.
- Favor compile-time checked code over dynamic code.
- Create a solid foundation for the integration of application modules (on schema, BL and UI code).
- Encourage a more functional way of programming.
- Avoid code duplication.
- Be a good citizen wherever we are (.Net, LINQ, React) following common practices and conventions.
- Signum Framework: Know what makes Signum Framework suited for building complex business applications.
- Signum Extensions: A set of ready-to-use modules that work with any Signum Framework application.
- Documentation: Documentation (from Markdown files in GitHub)
- Tutorials: Tutorials (in docx and pptx)
- Create Application: The simplest way to get started. Create a new project by renaming and customizing Southwind example application.
Signum Framework doesn't use any numeric versioning, since is distributed as source code we just use Git commit hashes.
Whenever there are big changes worth to mention, we typicaly write it in the related commit. Here is the list of the relevant changes:
- 2020.05.22 From react-rte to draft-js-plugins
- 2020.05.17 Update to Typescript 3.9.... Is MUCH faster!!!!
- 2020.05.16 Pivot Table Chart
- 2020.05.14 Slimming Signum.React
- 2020.02.27 Updates package.json
- 2020.02.25 Typescript 3.8 and other changes
- 2020.02.14 Southwind inside of a Docker Container and running in Azure
- 2020.02.10 Rename Southwind.Load to Southwind.Terminal
- 2020.02.09 New Date type in Signum.Utilities
- 2020.02.04 Improving Security and Performance with optional TypeInfo
- 2020.01.27 New Signum Framework Map in documentation
- 2019.01.24 PostgreSQL support is here!
- 2019.12.04 Update to .Net Core 3.1
- 2019.12.04 Update to Typescript 3.7
- 2019.12.04 More improvements in compilation speed using TSGenerator caching
- 2019.11.25 Typescript MSBuild times 25% to 50% FASTER with Project References
- 2019.11.11 Typescript 3.6, React 16.11.0 and back to react-bootstrap
- 2019.10.25 Remove ajaxGet / ajaxPost generic parameter
- 2019.09.26 .Net Core 3.0 is here!
- 2019.08.11 New [AutoExpressionField] (and [ExpressionField("auto")] removed)
- 2019.08.06 Update to Null Reference Type changes in VS 16.2
- 2019.07.16 lite.Retrieve renamed to lite.RetrieveAndRemember
- 2019.07.10 Windows Authentication with Single Sign-On
- 2019.04.08 Fix Signum.Analyzer
- 2019.04.08 Fix TSGenerator
- 2019.04.08 Improve TypeScript compilation performance
- 2019.04.03 Nullable Reference Types merged! (C# 8, VS2019)
- 2019.04.03 Update to Typescript 3.4
- 2019.03.07 React Hooks 2
- 2019.02.20 UseAPI (React Hooks!)
- 2019.02.16 C# 8 Nullable reference types
- 2018.12.24 Pinned Filters
- 2018.12.20 QueryTokenString: Against the last stringly-typed stronghold
- 2018.12.11 Animated Charts
- 2018.12.07 Update to Typescript 3.2
- 2018.12.07 Update to .Net Core 2.2
- 2018.12.01 Signum MSBuildTask and TSGenerator as Nuget
- 2018.11.25 UX Improvements in Charting