Se ha denunciado esta presentación.
Utilizamos tu perfil de LinkedIn y tus datos de actividad para personalizar los anuncios y mostrarte publicidad más relevante. Puedes cambiar tus preferencias de publicidad en cualquier momento.

Net core

Presentation from .NETConf 2017 and DDC 2017

- .NET Core Intro
-.NET Standard
-Creating .NET Core Framework Dependent Applications
-Creating .NET Core Self Contained Applications
-.NET Core and Docker
-Creating UI with .NET Core
-Machine Learning with .NET Core
HoloLens, Unity3D, and .NET – a Mixed Reality with sprinkles of .NET Core
DI
Logging

  • Sé el primero en comentar

Net core

  1. 1. .NET Core
  2. 2. Andreas Erben (MVP) Andreas Lehmann (Cloud Soultion Architect) Damir Dobric (Azure MVP, MS Regional Director) Jon Gallowey (Executive Director .NET foundation) Mofaggol Hoshen (University of Applied Sciences Frankfurt) Speakers
  3. 3. AGENDA 16.15 – 16.30 Keynote (Damir Dobric) 16.30 - 18.00 DotNet Core Deep Dive (Damir Dobric) 18.00 - 18.30 DotNET UI (Andreas Lehmann) 18.30 - 19.00 .NET Foundation and .NET Standard (Jon Galloway) 19.00 - 19.15 Break 19.15 - 19.30 .NET Core ML (Mofaggol Hoshen) 19.30 - 20.00 .NET HoloLens (Andreas Erben) 20.00 - 20.05 Recap (Damir Dobric) 20.05 - 21.00 Come Together
  4. 4. • .NET Core Intro • Creating .NET Core Framework Dependent Applications • Creating .NET Core Self Contained Applications • .NET Core and Docker • Creating UI with .NET Core • .NET Foundation • .NET Standard and runtimes • Machine Learning with .NET Core • HoloLens, Unity3D, and .NET – a Mixed Reality with sprinkles of .NET Core AGENDA
  5. 5. .NET Core is a general purpose development platform with cross-platform support for Windows, macOS and Linux, various devices and cloud
  6. 6. “any platform, any application, any developer”
  7. 7. Roadmap: https://github.com/dotnet/core/blob/master/roadmap.md OSs: https://github.com/dotnet/core/blob/master/release-notes/2.0/2.0-supported-os.md
  8. 8. compilers tools Inside of .NET Core runtime libraries host
  9. 9. Where to start?https://dotnet.github.io
  10. 10. https://www.microsoft.com/net/download/core C:Program Filesdotnet
  11. 11. Creating and Running .NET Core applications dotnet new console dotnet restore dotnet build dotnet run
  12. 12. Frameworks and Runtimes  Target Frameworks  https://docs.microsoft.com/en-us/dotnet/standard/frameworks  Target Runtimes  Used to identify target platforms where the application runs https://docs.microsoft.com/en-us/dotnet/core/rid-catalog
  13. 13. Building, Packaging and Deployment
  14. 14. Types of Deployment  Framework Dependent  Net Core Framework must be installed on the machine  Small application footprint  Framework Independent  Net Core framework does not have to be installed  Framework is installed (xcopy) with application binaries  Bigger footprint  Every application can use any kind of framework
  15. 15. Framework Dependent Application  dotnet restore  dotnet build  dotnet pack  dotnet publish -f netcoreapp2.0 -c Debug
  16. 16. Publish output
  17. 17. Framework Independent Application dotnet publish -r win10-x64 --self-contained <RuntimeIdentifiers> win10-x64;osx.10.11-x64;debian-x64 </RuntimeIdentifiers>
  18. 18. Publish output
  19. 19. Deploying to Docker Container ## Remote into image docker run -ti --entrypoint /bin/sh YOUR_IMAGE dotnet publish -r debian-x64 -f netcoreapp2.0 ## Build Framework Independent application docker build --build-arg EXE_DIR=./bin/Debug/netcoreapp2.0/debian-x64/publish -t sample:1.1 . ## Build Framework Independent application
  20. 20. Referencing .NET Desktop
  21. 21. Creating UI with .NET Core Andreas Lehmann Cloud Solution Architect daenet GmbH
  22. 22. UI with .NET Core?  UI == Desktop UI  No implementation from Microsoft  Is there any platform independent graphics library?
  23. 23. Take a look at SKIA  Skia Graphics Library  Skia is an open source 2D graphics library which provides common APIs that work across a variety of hardware and software platforms. It serves as the graphics engine for Google Chrome and Chrome OS, Android, Mozilla Firefox and Firefox OS, and many other products.  -> https://skia.org/  How to use it in .NET Core?  SkiaSharp is a GitHub project to use SKIA within .NET Core / .NET Standard  -> https://github.com/mono/SkiaSharp
  24. 24. From 2D API to Desktop UI  How to build Desktop UI from a 2D graphics API?  AvaloniaUI  A multi-platform windowing toolkit - somewhat like WPF - that is intended to be multi- platform. It supports XAML, lookless controls and a flexible styling system, and runs on Windows using Direct2D and other operating systems using Skia and OS-specific windowing backend (GTK, Cocoa, etc.)  -> https://github.com/AvaloniaUI/Avalonia  Supports .NET Core
  25. 25. Avalonia UI in action  Sample Desktop UI with .NET Core  Running on Linux
  26. 26. Getting started  Most of this is in Alpha state (do not use for productive use cases)  Check out the sample app -> https://github.com/kekekeks/avalonia-net-core-example  Read statement from Scott Hanselman about Avalonia -> https://www.hanselman.com/blog/WhatWouldACrossplatformNETUIFrameworkLookLikeExploringAvalonia.aspx
  27. 27. .NET Standard
  28. 28. What is .NET Standard? The .NET Standard is an API spec that describes the consistent set of .NET APIs that developers can expect in each .NET implementation https://github.com/dotnet/standard/blob/master/docs/versions.md
  29. 29. .NET Standard  PCL is common lowest denominator  Standard is replacement for PCL
  30. 30. Which standard should I support? 1.0 2.0 NumberofAPIs NumberofApplications 1.1 1.2 1.3 1.4 1.5 1.6
  31. 31. .NET Standard
  32. 32. API Browser https://apisof.net
  33. 33. Cross Referencing  netstandard 2.0 -> netstandard 1.1,..,1.6  net461 -> netstandard 2.0 error CS0012: The type 'Object' is defined in an assembly that is not referenced. You must add a reference to assembly 'netstandard, Version=2.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51'.  Net452 -> netstandard 2.0 error : Project “NetCoreLib2.csproj' targets '.NETStandard,Version=v2.0’. It cannot be referenced by a project that targets '.NETFramework,Version=v4.5.2’.
  34. 34. Unit Testing
  35. 35. Unit testing with XUnit <ItemGroup> <PackageReference Include="Microsoft.NET.Test.Sdk" Version="15.0.0" /> <PackageReference Include="xunit" Version="2.2.0" /> <PackageReference Include="xunit.runner.visualstudio" Version="2.2.0" /> </ItemGroup>
  36. 36. Unit testing with MSTest <ItemGroup> <PackageReference Include="Microsoft.NET.Test.Sdk" Version="15.0.0" /> <PackageReference Include="MSTest.TestAdapter" Version="1.1.11" /> <PackageReference Include="MSTest.TestFramework" Version="1.1.11" /> </ItemGroup>
  37. 37. Test Execution  dotnet test -h  dotnet test --list-tests  Execute specific tests  dotnet test --filter "MessageOnly_LogsCorrectValues“  dotnet test --filter Message -v d  dotnet test --filter Message -v n  dotnet test --filter Message -v d  dotnet test --filter Message –filter ”Priority = 1”
  38. 38. Machine Learning with .NET Core Mofaggol Hoshen University of Applied Sciences Frankfurt am Main
  39. 39. ML with :NET ? • Accord framework and OpenCv or EmguCv do not support .NET Core • Lack of .NET Core api
  40. 40. Learning Api • Learning API is Machine Learning Foundation of useful libraries. • Implemented in .NET Core. • It provides a unique processing API for Machine Learning solutions. • Git: https://github.com/UniversityOfAppliedSciencesFrankfurt/LearningA pi • Supervised by : Damir Dobric
  41. 41. Learning Api architectural concept Learning Api Data Provider Math Normalizers ML Algorithms Gauss MinMax Others ..
  42. 42. LearningApi Pipelines
  43. 43. Demo
  44. 44. HoloLens, Unity3D, and .NET – a Mixed Reality with sprinkles of .NET Core Andreas Erben daenet corporation Microsoft Most Valuable Professional
  45. 45. Migration of .NET to .NET Core
  46. 46. API PORT ANALYZER https://github.com/Microsoft/dotnet-apiport/ apiport analyze -f AddTokenGenDotNet.exe
  47. 47. RECAP
  48. 48. .NET Core http://developers.de Twitter: #azuremeetupfrankfurt @ddobric

×