What's New in SnapDevelop
Last Updated: September 2024
New features in SnapDevelop 2025
SnapDevelop 2025 has the following new features.
Installer
- The installer allows users to select features and dependencies required for designer-developed projects and manually-coded projects.
Framework and language support
- Adds support for .NET 8 and EF Core 8
- Adds support for Oracle 23ai and PostgreSQL 16.
Designer-developed projects
Designer-developed project types
Designer-developed projects refer to projects created in a low-code manner using visual designers. SnapDevelop 2025 provides the following designer-developed project types:
Web API: Create a designer project where entities can be easily created and back-end Web APIs can be automatically generated.
Library: Create a designer library which can be easily referenced by other projects.
Vue Web App and Vue Web APP (Empty): Create a designer project where entities and views can be easily created and front-end pages and back-end Web APIs can be automatically generated.
Item types
Provides the following items for supporting the designer-developed project types:
- Entity Design (from Scratch): Create an empty entity metadata file.
- Entity Design (from Database): Create entity metafiles (one or multiple at a time) from tables/views in existing databases. The database schema will be automatically imported to the entity.
- Base Entity Design: Create a base entity which can be inherited by the other entities. A base entity is mainly used for inheritance. A base entity has no Table/Schema and Inheritance mapping options; no Filter and Service & APIs; and it can only inherit from another base entity.
- Owned Entity Design: Create an empty owned entity metadata file. An owned entity is an entity to be embedded within its owner (another entity). An owned entity has no Table/Schema and Inheritance mapping options; no Filter and Service & APIs; and it cannot inherit from any other entity.
- Enum Design: Create an enumerator metadata file.
- Composite Query Design: Create a query model from one or more entities.
- View Design (from Template): Create a Vue Web design file based on an entity/model and a page template.
- View Design (from Scratch): Create a blank Vue Web design file. You can freely associate entity or query models, add UI components, and design layouts.
- Example Chart Design: Create a Vue Web design file for displaying charts.
Project properties
- Supports enabling authorization for the entire project and specifying the authorization policies for all or particular APIs.
- Supports customizing the code generation for certain code fragments such as Using, inheritance, class attributes, property attributes, method attributes, constructor injection, and code snippet in entities, entity configuration, enumeration, fields, filters, DbContext, query results, services, controls, APIs etc. Custom code can effectively solve the problem that the code generated by the product does not fit the existing framework, and the problem that the manually written code is overwritten when the code is regenerated.
Project generation
- Supports generating C# code with concise structure and layers:
- [project].Common: the development toolkits and extension functions that are referenced or dependent by the Contracts or Identity projects.
- [project].Contracts: the contract layer which defines the contract for the service.
- [project].Controllers: the controller layer which defines the controller for the service.
- [project].Dal: the data access layer such as EF Core which contain the database-related configurations (repository, unit of work, DbContext) and data initialization (value comparers, value converters).
- [project].Services: the service layer which implements the contracts.
- [project].Vue: Implements the front-end display of the application.
- [project].WebApi: the representation layer which sends data to users.
- [project].Identity: the authentication service layer which authorizes the user registration and login internally.
- Supports creating various profiles for project generation. Profile settings include
- whether to specify the prefix of entity file name.
- whether to create a schema folder for entities.
- whether to overwrite existing project files.
- whether to specify the location of projects (and items in each project) and namespace for the projects.
- specifying the ORM (only EFCore is supported currently).
- whether to configure the referenced projects separately.
- configuring a default database connection for the application database and identity database (used for authorization).
- Supports automatically handling project references and package references.
Manually-coded projects
Manually-coded project types
Manually-coded projects refer to projects created through traditional manual coding practices. SnapDevelop 2025 provides the following manually-coded project types:
- ASP.NET Core Web API
- Console App
- Class Library
- Vue.js
- xUnit Test
- Worker Service
- ASP.NET Core gRPC Service
IDE Features
This section highlights the SnapDevelop IDE features that deserve special attention:
- Scaffolding:
- Creates entities from an existing database;
- Generates serivces and APIs from an entity;
- Generates APIs;
- AI coding assistant: Supports AI programming assistance through OpenAI provider; supports prompts to provide context for AI chats.
- Web API tester
- Before an API is ready, you can start API mocking service, and define mock responses for the API, to get mocking results during the test
- The parameter mocking feature enables you to define default mocking values for specific data types and parameter names for APIs being tested.
- Database connections
- Provides the DB Server Explorer to manage database connections and query data, such as viewing data in the database, creating and executing SQL statements, and creating entities from the database tables.
- Docker support and Kubernetes support
- Provides the Container Explorer for you to connect to a Docker engine and manage Docker images;
- Debugs projects running on local or remote Docker;
- Publishes projects to the Docker registry
- Provides Kubernetes Explorer. You can use it in conjunction with Container Explorer to deploy your projects into a Kubernetes Cluster.