Overview of .NET Core

Gökhan GÖKALP
08.09.2017
Trendyol Tech Talk
Agenda
- .NET Core General Info
- When to Use It? When Not?
- Containerizing
- Techempower Plaintext Benchmarks
- Demonstration
- References
- Contacts

.NET Core General Info


- Announced in 2014 and released in 2016 with 1.0 version.
- Modular and smaller implementation of .NET
.NET Core General Info


- Open-source and community-focused (GitHub)
- Cross platform!
- Windows, Linux, OS X / macOS
- Runs on CoreCLR runtime
.NET Core General Info


- Easy to learn
- Easy frameworks to create Apps (MVC, RESTful APIs, SPA, Console Apps etc...)
- Command-line tools
.NET Core General Info

- Microsoft aim to continuously deliver updates to the .NET Core Runtime and Tools.
- Goals:
- There are high-quality ports for Linux, macOS and Windows.
- There are high-quality ports for X64, X86, ARM32, and ARM64.
- .NET Core ships stable releases multiple times a year.
When to Use It?

- Cross-platform needs
- Microservices
- Best performant and scalable systems
- Command line style development for Mac, Linux or Windows
When Not?
- Current .NET Framework applications in production / Migrations
- Need full capabilities of higher level frameworks like EF 6.x, WCF, WWF
- Need sub-frameworks not supported by .NET Core

Containerizing

- The modularity and lightweight nature of .NET Core makes it perfect for containers.
- Optimized images for development and production

FROM microsoft/dotnet:runtime
WORKDIR /dotnetapp
COPY out .
ENTRYPOINT ["dotnet", "dotnetapp.dll"]
Dockerfile
dotnet restore
dotnet publish -c Release -o out
Restore packages and publish
docker build -t dotnetapp .
docker run -it --rm dotnetapp
Build and run the Docker image
Techempower Plaintext
Benchmarks

References

Contacts

- LinkedIn: https://www.linkedin.com/in/gokgokalp
- Web: http://www.gokhan-gokalp.com
- E-mail: gok.gokalp@yahoo.com