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

Overview of .NET Core

By Gökhan Gökalp

Overview of .NET Core

Introduction to .NET Core presentation at Trendyol tech talk.

  • 3,081