ServiceStack has its strong foundations as a Web and MQ Services framework whose easy and versatile HTML support makes it the ideal services framework to create Backend Systems and Web APIs, Websites, Single Page Apps, Windows Services, Self-Hosting Console Apps and Rich OSX and Winforms Desktop Apps.
x new​
All ServiceStack Project Templates can be found and installed using the x new .NET Core tool that can be installed with:
dotnet tool install --global x
Update​
Or if you had a previous version installed, update with:
dotnet tool update -g x
Explore available templates​
Then run x new
to view the list of available project templates:
x new
Where it will display all repositories in .NET Core, .NET Framework and ASP.NET Core Framework GitHub Orgs:
.NET Core C# Templates | |
---|---|
angular-spa | .NET 8 Angular 15 App with Bootstrap |
blazor | .NET 8 Blazor Tailwind App Template |
blazor-vue | .NET 8 Blazor Static Rendered Vue interactivity App with Tailwind |
blazor-wasm | .NET 8 Blazor WASM App with Bootstrap |
empty | .NET 8 Empty Single Project App |
grpc | .NET 8 gRPC Services |
mvc | .NET 8 MVC Identity Auth App with Tailwind |
mvc-bootstrap | .NET 8 MVC Identity Auth App with Bootstrap |
mvcauth | .NET 8 MVC App with ServiceStack Auth and Bootstrap |
mvcidentityserver | .NET 8 MVC App with ServiceStack and IdentityServer4 Auth |
nextjs | .NET 8 Jamstack Next.js SSG React App with Tailwind |
razor | .NET 8 Razor Pages App with Tailwind |
razor-bootstrap | .NET 8 Razor Pages Identity Auth App with Bootstrap |
razor-pages | .NET 8 Razor Pages App with ServiceStack Auth and Bootstrap |
razor-press | .NET 8 Statically Generated, CDN hostable Razor Pages Documentation |
razor-ssg | .NET 8 Statically Generated, CDN hostable Razor Pages Website |
react-spa | .NET 8 React Create App with Bootstrap |
script | .NET 8 #Script Pages App with Bootstrap |
selfhost | .NET 8 self-hosting Console App |
svelte-spa | .NET 8 Svelte v3 Rollup App with Bootstrap |
vue-desktop | .NET 8 Chromium Vue Desktop App |
vue-mjs | .NET 8 Simple, Modern Vue ServiceStack Auth App with Tailwind |
vue-nuxt | .NET 8 Nuxt.js SPA App with Bootstrap |
vue-spa | .NET 8 Vue App with Bootstrap |
vue-ssg | .NET 8 Jamstack Vue SSG App with Tailwind |
vue-vite | .NET 8 Jamstack Vue Vite App with Tailwind |
web | .NET 8 Empty App |
web-tailwind | .NET 8 Empty App with Tailwind |
worker-rabbitmq | .NET 8 Rabbit MQ Worker Service |
worker-redismq | .NET 8 Redis MQ Worker Service |
worker-servicebus | .NET 8 Azure Service Bus MQ Worker Service |
worker-sqs | .NET 8 AWS SQS MQ Worker Service |
ASP.NET Core Framework Templates | |
---|---|
web-corefx | .NET Framework ASP.NET Core Website |
empty-corefx | .NET Framework ASP.NET Core Single Project Website |
vue-lite-corefx | .NET Framework ASP.NET Core lite (npm-free) Vue SPA using TypeScript |
react-lite-corefx | .NET Framework ASP.NET Core lite (npm-free) React SPA using TypeScript |
script-corefx | .NET Framework ASP.NET Core #Script Pages Bootstrap Website |
razor-corefx | .NET Framework ASP.NET Core Website with ServiceStack.Razor |
mvc-corefx | .NET Framework ASP.NET Core MVC Website |
selfhost-corefx | .NET Framework ASP.NET Core self-hosting Console App |
.NET Framework C# Templates | |
---|---|
angular-lite-spa-netfx | .NET Framework Angular 4 Material Design Lite Webpack App |
angular-spa-netfx | .NET Framework Angular Bootstrap cli.angular.io App |
aurelia-spa-netfx | .NET Framework Aurelia Bootstrap Webpack App |
mvc-netfx | .NET Framework MVC Website |
razor-netfx | .NET Framework Website with ServiceStack.Razor |
react-desktop-apps-netfx | .NET Framework React Desktop Apps |
react-spa-netfx | .NET Framework React Bootstrap Webpack App |
selfhost-netfx | .NET Framework self-hosting HttpListener Console App |
script-netfx | .NET Framework #Script Pages Bootstrap WebApp |
vue-nuxt-netfx | .NET Framework Vue Nuxt.js SPA Web App |
vue-spa-netfx | .NET Framework Vue Bootstrap Webpack App |
vuetify-nuxt-netfx | .NET Framework Vuetify Material Nuxt.js SPA Web App |
vuetify-spa-netfx | .NET Framework Vuetify Material Webpack App |
web-netfx | .NET Framework Empty Website |
winservice-netfx | .NET Framework Windows Service |
Usage​
$ x new `<template>` `<name>`
For example to create a new Vue Single Page App, run:
x new vue-spa ProjectName
Alternatively you can write new project files directly into an empty repository using the Directory Name as the ProjectName:
$ git clone https://github.com/<User>/<ProjectName>.git
$ cd <ProjectName>
$ x new vue-spa
Or download a customized project template from our Getting Started Page:
Available Project Templates​
ServiceStack is available in a number of popular starting configurations below:
Jamstack​
Jamstack (JavaScript, APIs, and Markup) is a modern architecture pattern to build fast, secure and easy to scale web applications where pre-rendering content, enhancing with JavaScript and leveraging CDN static hosting results in a highly productive, flexible and performant system that takes advantage of CDN edge caches to deliver greater performance & efficiency at lower cost.
Jamstack Benefits​
It's quickly becoming the preferred architecture for modern web apps with benefits extending beyond performance to improved:
- Security from a reduced attack surface from hosting read-only static resources and requiring fewer App Servers
- Scale with non-essential load removed from App Servers to CDN's architecture capable of incredible scale & load capacity
- Maintainability resulting from reduced hosting complexity and the clean decoupling of UI and server logic
- Portability with your static UI assets being easily capable from being deployed and generically hosted from any CDN or web server
- Developer Experience with major JavaScript Frameworks embracing Jamstack in their dev model, libraries & tooling
Ultimately, it's hosting your App's pre-rendered static UI assets on Content Delivery Network (CDN) edge caches close to users locations that's primarily responsible for its lightning performance.
Download new C# Jamstack Project Template
INFO
An updated list of available Jamstack project templates is also at https://jamstacks.net (built with Razor SSG)
Blazor WebAssembly​
The Blazor WebAssembly (WASM) template offers a pure end-to-end integrated C# solution to building a high performance web application with Blazor and ServiceStack. Due to the integrated dev model we've been able to achieve in Blazor it's become our preferred technology to use to develop Line of Business Apps since it's the only C# Razor solution adopting our preferred API First Development model with Web UIs reusing the same well-defined APIs as Mobile and Desktop Apps.
Razor SSG​
The razor-ssg ServiceStack template leverages the power of .NET Razor to provide seamless static site generation (SSG) capabilities. It's perfect for building content-rich applications like product websites, blogs, portfolios, and more.
This template streamlines the development process while offering versatility in customizing and extending your project. With GitHub Codespaces integration, you can develop, test, and manage your application all within your browser, eliminating the need for a dedicated development environment and expediting your workflow.
Next.js​
For those preferring working with React, there's a clear choice in Nextjs.org - currently the flagship & most popular Jamstack framework backed by the folks over at Vercel, where it enjoys deep engineering talent committed to maintaining and continually improving it, so you can be confident in the longevity of the technology and the React framework maintained by Meta (Facebook).
Vite​
Vite is being built for speed in the modern era and takes advantage of modern browser features like native ES modules support to remove bundling entirely during development and adopts performance leading technologies like esbuild to pre-bundle dependencies and transpile TypeScript which is able to do 20-30x faster than TypeScript's own tsc
compiler.
Ultimately its architectural choices allows Vite to deliver Lightning Fast Hot Module Reload (HMR) to remain at the developer-experience forefront of modern web development serving a growing ecosystem of frameworks with a rich typed suite of Universal Plugins.
Webpack-powered Single Page App Templates​
All ServiceStack Single Page App templates are powered by Webpack which handles the development, testing and production builds of your Web App. See the Webpack Template Docs for an overview for how to utilize the templates features.
Vue SPA Template​
YouTube: https://youtu.be/4HphWPrKwb0
AWS Lambda Template​
This project lets you create a .NET 6 empty ServiceStack web project ready for deployment as a AWS Lambda Function wired with API GateWay and packaged via a Docker image.
YouTube: https://youtu.be/8mpGNTsSlvE
Website Templates​
Website Templates contain popular starting Templates for creating Server HTML Generated Websites and HTTP APIs with ServiceStack.
Empty Starting Templates​
Empty Web and Self Hosting Console and Windows Service Templates.
ASP.NET Core Web Apps on .NET Framework​
Popular starting templates for creating ASP.NET Core templates on the .NET Framework.
Desktop Templates​
Desktop Templates for packaging your ServiceStack Web App into different Native Desktop UIs.
ServiceStackVS VS.NET Extension​
ServiceStackVS supports Visual Studio 2019-2022 and can be installed from within VS.NET:
Install ServiceStackVS​
Install the ServiceStackVS VS.NET Extension by going to Tools > Extensions and Updates...
Then searching the Visual Studio Gallery for ServiceStack
Optionally it can be downloaded and installed from the VS.NET Gallery
INFO
For older versions, see the install ServiceStackVS page for more options.
Example Projects​
The Example projects below contain a working demo including further documentation about each of their templates they were built with:
TypeScript React Template​
TypeScript React Template incorporates today's best-in-class technologies for developing rich, complex JavaScript Apps within VS.NET and encapsulated within ServiceStack's new TypeScript React Template providing an instant integrated client and .NET server solution where you'll be immediately productive out-of-the-box whilst enabling an optimal iterative development experience with pre-configured Gulp tasks that takes care of effortlessly packaging, bundling and deploying your next App.
React Desktop Apps​
React Desktop Apps take advantage of the adaptability, navigation and deep-linking benefits of a Web-based UI, the productivity and responsiveness of the React framework, the performance, rich features and functionality contained in ServiceStack and the .NET Framework combined with the native experience and OS Integration possible from a Native Desktop App - all within a single VS .NET template!
React App Template​
The ReactJS App Template enables an optimal iterative dev experience for creating optimized Single Page React.js Apps. It shares the same approach for developing modern Single Page Apps in VS.NET as the AngularJS App Template by leveraging the node.js ecosystem for managing all aspects of Client App development and using the best-in-class libraries.
AngularJS App Template​
The AngularJS App template in ServiceStackVS provides a modern opinionated web technology stack for developing rich Single Page Apps with AngularJS and ServiceStack.
Integrated HTML, CSS and JavaScript Minifiers​
For normal server-generated websites that don't leverage Webpack to bundle their outputs you can take advantage of ServiceStack's integrated and non-invasive minification features to effortlessly enable HTML, CSS and JavaScript minification to your existing Website.
Community Resources​
- Hosting an ember-cli app inside a ServiceStack (or any) MVC app by @wayne_douglas
- ServiceStack + AngularDart - Getting Started by @layoric
- License manager for Portable.Licensing using AngularJS and ServiceStack by @dnauck
- StarBucks-like real-time ordering fulfillment Single Page App built with ServiceStack, AngularJS, SignalR and Redis by @paaschpa
- Some thoughts in between SPA projects by @joeriks
- Zippy Tips Working With ServiceStack, Backbone.js, jQuery & Mono-Develop on Mac by Jacques du Preez
Example Single Page App Projects​
- Meal planning per configured interval powered by AngularJS, Bower and GruntJS
- Backbone.js + Twitter Social Bootstrap API
- StackOverflow clone with Redis back-end
- Redis Admin UI built with Google Closure Library
- Backbone Todos with Redis back-end
- GitHub-like browser with complete remote file management over REST
- ServiceStack Docs with PushState support
- Angular JS View in RazorRockstars