Browse Source

Add modern vs classic template docs

pull/25725/head
Enis Necipoglu 3 months ago
parent
commit
2876ab00b1
  1. 4
      docs/en/docs-nav.json
  2. 2
      docs/en/get-started/index.md
  3. 2
      docs/en/solution-templates/index.md
  4. 55
      docs/en/solution-templates/modern-vs-classic.md

4
docs/en/docs-nav.json

@ -2093,6 +2093,10 @@
"text": "Template Guide", "text": "Template Guide",
"path": "solution-templates/guide.md" "path": "solution-templates/guide.md"
}, },
{
"text": "Modern vs Classic Templates",
"path": "solution-templates/modern-vs-classic.md"
},
{ {
"text": "Single-Layer Solution", "text": "Single-Layer Solution",
"isLazyExpandable": true, "isLazyExpandable": true,

2
docs/en/get-started/index.md

@ -20,7 +20,7 @@ Please select one of the following documents best fits for your application:
- [WPF Application](wpf.md) - [WPF Application](wpf.md)
- [Console Application](console.md) - [Console Application](console.md)
If you seek a React-based web UI, use the **modern template system** with ABP Studio or `abp new --modern`. See [UI options](../framework/ui/index.md) for the full list of officially supported UI frameworks. If you are choosing between the **Modern** and **Classic** ABP Studio template families, see [Modern vs Classic Templates](../solution-templates/modern-vs-classic.md). If you seek a React-based web UI, use the **modern template system** with ABP Studio or `abp new --modern`. See [UI options](../framework/ui/index.md) for the full list of officially supported UI frameworks.
## Which Startup Template is Suitable for Me? ## Which Startup Template is Suitable for Me?

2
docs/en/solution-templates/index.md

@ -9,7 +9,7 @@
ABP provides pre-architected and production-ready templates to jump start a new solution. ABP provides pre-architected and production-ready templates to jump start a new solution.
> **You can see the [Solution Template Selection Guide](guide.md) if you are not sure which solution template is suitable for you.** > **You can see the [Solution Template Selection Guide](guide.md) if you are not sure which solution template is suitable for you. See [Modern vs Classic Templates](modern-vs-classic.md) if you are choosing between ABP Studio's Modern and Classic template families.**
The reference pages below cover both classic and modern ABP Studio template families. The Single-Layer and Layered pages document the classic templates. The Modular Monolith and Microservice pages call out the current modern structure where it differs. The reference pages below cover both classic and modern ABP Studio template families. The Single-Layer and Layered pages document the classic templates. The Modular Monolith and Microservice pages call out the current modern structure where it differs.

55
docs/en/solution-templates/modern-vs-classic.md

@ -0,0 +1,55 @@
```json
//[doc-seo]
{
"Description": "Compare Modern and Classic ABP Studio templates, including architecture mapping, UI choices, mobile options, and when to choose each template family."
}
```
# Modern vs Classic Templates
ABP Studio provides two solution template families: **Modern** and **Classic**. Both families create production-ready ABP solutions and share the same ABP backend concepts, such as Entity Framework Core and MongoDB database options, OpenIddict authentication, multi-tenancy, optional modules, test projects, language selection and deployment-related configuration where they are supported.
The main difference is how you choose and shape the solution. **Classic templates** are the traditional template-first flow. You first choose a concrete template, such as Single-Layer, Layered or Microservice, and then select UI, database, mobile and module options. **Modern templates** are the newer architecture-first flow. You first choose the backend architecture, then ABP Studio maps your selection to the proper modern template.
## Template Families
| Template family | Template names | Main idea |
| --- | --- | --- |
| Classic | `app-nolayers`, `app`, `microservice` | The traditional ABP Studio solution templates with the broadest UI framework choices. |
| Modern | `app-nolayers-modern`, `app-modern`, `microservice-modern` | The newer ABP Studio templates focused on React-based web applications and an architecture-first creation flow. |
## Modern Architecture Mapping
When you use the Modern solution creation flow in ABP Studio, your selected architecture maps to a modern template:
| Modern architecture | Generated template | Notes |
| --- | --- | --- |
| Simple Monolith | `app-nolayers-modern` | A simpler application structure with the main backend code in one host project. |
| Layered Monolith | `app-modern` | A layered solution based on Domain Driven Design practices. |
| Modular Monolith | `app-nolayers-modern` | Uses the modern single-layer template with modular solution options enabled. |
| Microservice | `microservice-modern` | A distributed solution with dedicated services, gateways and applications. |
## Practical Differences
| Area | Classic templates | Modern templates |
| --- | --- | --- |
| Creation flow | Template-first: select Single-Layer, Layered or Microservice first. | Architecture-first: select Simple Monolith, Layered Monolith, Modular Monolith or Microservice first. |
| Web UI choices | Supports MVC / Razor Pages, Angular, Blazor WebAssembly, Blazor Server, Blazor Web App, MAUI Blazor and No UI depending on the selected template. | Supports React or No UI. |
| Mobile choices | Keeps broader mobile choices, including MAUI and React Native in templates that support mobile applications. | Supports React Native or no mobile application. |
| Public website | Uses the classic public website structure where the selected template supports it. | Uses React-based public web assets where the selected modern template supports a public website. |
| Frontend assets | Uses the established ABP UI framework integrations and theme options for MVC, Angular and Blazor applications. | Uses newer React and `shadcn`-oriented frontend assets. |
| Best fit | Existing projects, teams using MVC / Angular / Blazor / MAUI, and scenarios that need the broadest UI framework choices. | New React-focused solutions and teams that prefer the newer Studio creation experience. |
## Which One Should I Choose?
Choose **Modern** if you are starting a new solution with React UI, want a React Native mobile application, prefer the newer architecture-first ABP Studio flow, or plan to use AI-assisted programming for an AI-driven project.
Choose **Classic** if you want MVC / Razor Pages, Angular, Blazor, MAUI Blazor or MAUI mobile options, or if your team is following existing Classic-template tutorials, conventions or project structure.
ABP Studio may show or hide some templates and options based on your license. For example, Microservice templates require a higher license level than regular application templates, and Modern application templates are not shown in the Community Edition.
## See Also
* [Solution Template Selection Guide](guide.md)
* [Startup Solution Templates](index.md)
* [Get Started](../get-started/index.md)
Loading…
Cancel
Save