.NET Core - Sve što trebate znati
Transcript of .NET Core - Sve što trebate znati
![Page 1: .NET Core - Sve što trebate znati](https://reader035.fdocuments.us/reader035/viewer/2022062311/58a2d9e01a28ab692e8b672d/html5/thumbnails/1.jpg)
Advanced Technology Days18. i 19. studenog 2015., Cinestar Arena Centar
![Page 2: .NET Core - Sve što trebate znati](https://reader035.fdocuments.us/reader035/viewer/2022062311/58a2d9e01a28ab692e8b672d/html5/thumbnails/2.jpg)
.NET Core – Sve što trebate znatiPetar Kovačević[email protected] d.o.o.
![Page 3: .NET Core - Sve što trebate znati](https://reader035.fdocuments.us/reader035/viewer/2022062311/58a2d9e01a28ab692e8b672d/html5/thumbnails/3.jpg)
.NET Platforma• Predstavljena 2002. zajedno sa C# programskim
jezikom• Uvodi koncept virtualne mašine (kao JVM)• Izvorni kod (C#, F#, VB...) prevodi se u međukod
(Intermediate Language) namijenjen interpretaciji na virtualnoj mašini, ne na procesoru
‐ Virtualna mašina – apstrakcija sklopovlja• Portabilnost koda, fleksibilnost interpretera (GC,
iznimke...)
![Page 4: .NET Core - Sve što trebate znati](https://reader035.fdocuments.us/reader035/viewer/2022062311/58a2d9e01a28ab692e8b672d/html5/thumbnails/4.jpg)
.NET Platforma• .NET Framework - implementacija .NET platforme
za Windows operacijski sustav• Komponente
‐ CLR – Common Language Runtime‐ BCL – Base Class Libraries‐ Aplikacijski modeli (WCF, WPF, WinForms,
ASP.NET...)• „Source open” - http
://referencesource.microsoft.com/
![Page 5: .NET Core - Sve što trebate znati](https://reader035.fdocuments.us/reader035/viewer/2022062311/58a2d9e01a28ab692e8b672d/html5/thumbnails/5.jpg)
Problemi?
![Page 6: .NET Core - Sve što trebate znati](https://reader035.fdocuments.us/reader035/viewer/2022062311/58a2d9e01a28ab692e8b672d/html5/thumbnails/6.jpg)
Dizajn .NET platforme• Jezgra .NET Frameworka (mscorlib) ovisna o
Windows operacijskom sustavu (npr. AppDomains)‐ Prelazak na novu platformu zahtjeva novu jezgru
• BCL nije dizajniran modularno‐ Modularnost je nužna – npr. .NET Native, ASP.NET 5
![Page 7: .NET Core - Sve što trebate znati](https://reader035.fdocuments.us/reader035/viewer/2022062311/58a2d9e01a28ab692e8b672d/html5/thumbnails/7.jpg)
.NET Framework(s)• Posljedica slabe modularnosti i veza na OS -
različite platforme dolaze sa svojom implementacijom .NET-a
‐ Silverlight, .NET Compact, Windows Phone... ‐ Vlastiti runtime, biblioteke i aplikacijski model
• Problem fragmentacije
![Page 8: .NET Core - Sve što trebate znati](https://reader035.fdocuments.us/reader035/viewer/2022062311/58a2d9e01a28ab692e8b672d/html5/thumbnails/8.jpg)
.NET Framework(s)
![Page 9: .NET Core - Sve što trebate znati](https://reader035.fdocuments.us/reader035/viewer/2022062311/58a2d9e01a28ab692e8b672d/html5/thumbnails/9.jpg)
.NET Framework(s)• Fragmentacija za Microsoft
‐ Problem kod održavanja i inovacija‐ Vertikale divergiraju u implementaciji (zasebni
timovi, verzije, razvojni ciklusi)• Fragmentacija za korisnike
‐ Problem kada se želi ciljati više vertikala‐ Problem nekonzistentnog API-a
![Page 10: .NET Core - Sve što trebate znati](https://reader035.fdocuments.us/reader035/viewer/2022062311/58a2d9e01a28ab692e8b672d/html5/thumbnails/10.jpg)
Model distribucije• Globalna infrastruktura na klijentskoj mašini
(machine-wide framework)‐ Ograničeni verzijom .NET-a instaliranoj na mašini‐ Problem kompatibilnosti sa starim verzijama
ograničava inovativnost i usporava razvoj novih verzija
• Nove verzije na godišnjoj bazi
![Page 11: .NET Core - Sve što trebate znati](https://reader035.fdocuments.us/reader035/viewer/2022062311/58a2d9e01a28ab692e8b672d/html5/thumbnails/11.jpg)
.NET Core
![Page 12: .NET Core - Sve što trebate znati](https://reader035.fdocuments.us/reader035/viewer/2022062311/58a2d9e01a28ab692e8b672d/html5/thumbnails/12.jpg)
.NET Core• Modularna i agilna
implementacija .NET platforme• Pokušaj unifikacije .NET vertikala u
jednoj implementaciji‐ Runtime je iza apstrakcije
• Open-source, Cross-platform• Komponente:
‐ CoreFX – cross platform BCL implementacija
‐ CoreCLR (RyuJIT, GC, servisi za metapodatke...) – cross platform runtime implementacija
![Page 13: .NET Core - Sve što trebate znati](https://reader035.fdocuments.us/reader035/viewer/2022062311/58a2d9e01a28ab692e8b672d/html5/thumbnails/13.jpg)
.NET Core• Modularna distribucija putem NuGet
‐ Aplikacije referenciraju samo ono što im treba
‐ .NET distribuiran zajedno s aplikacijom
App-local framework • Brži razvojni ciklus
‐ Podrška i open source zajednice
![Page 14: .NET Core - Sve što trebate znati](https://reader035.fdocuments.us/reader035/viewer/2022062311/58a2d9e01a28ab692e8b672d/html5/thumbnails/14.jpg)
.NET Core - Distribucija
![Page 15: .NET Core - Sve što trebate znati](https://reader035.fdocuments.us/reader035/viewer/2022062311/58a2d9e01a28ab692e8b672d/html5/thumbnails/15.jpg)
![Page 16: .NET Core - Sve što trebate znati](https://reader035.fdocuments.us/reader035/viewer/2022062311/58a2d9e01a28ab692e8b672d/html5/thumbnails/16.jpg)
.NET Core• Open source
‐ CoreCLR: https://github.com/dotnet/coreCLR Runtime, JIT, GC, mscorlib.dll...
‐ Unified BCL: https://github.com/dotnet/corefx Collections, Threading, Security...
![Page 17: .NET Core - Sve što trebate znati](https://reader035.fdocuments.us/reader035/viewer/2022062311/58a2d9e01a28ab692e8b672d/html5/thumbnails/17.jpg)
![Page 18: .NET Core - Sve što trebate znati](https://reader035.fdocuments.us/reader035/viewer/2022062311/58a2d9e01a28ab692e8b672d/html5/thumbnails/18.jpg)
DEMO
![Page 19: .NET Core - Sve što trebate znati](https://reader035.fdocuments.us/reader035/viewer/2022062311/58a2d9e01a28ab692e8b672d/html5/thumbnails/19.jpg)
.NET Core i Mono• Mono – „fork” punog .NET Frameworka
‐ Trenutno: https://github.com/Microsoft/referencesource• Mono Core
‐ Runtime + adaptacijski sloj ispod .NET Core BCL-a• Obostrana open-source podrška• Xamarin.iOS, Xamarin.Android?
![Page 20: .NET Core - Sve što trebate znati](https://reader035.fdocuments.us/reader035/viewer/2022062311/58a2d9e01a28ab692e8b672d/html5/thumbnails/20.jpg)
![Page 21: .NET Core - Sve što trebate znati](https://reader035.fdocuments.us/reader035/viewer/2022062311/58a2d9e01a28ab692e8b672d/html5/thumbnails/21.jpg)
Zaključak• Kraći razvojni ciklusi za .NET i mogućnost inoviranja• Cross-platform runtime i biblioteke• Podrška open-source zajednice• App local framework
• Cross-platform aplikacijski modeli – nažalost, samo ASP.NET 5
• Visual Studio Code =/= Visual Studio
![Page 22: .NET Core - Sve što trebate znati](https://reader035.fdocuments.us/reader035/viewer/2022062311/58a2d9e01a28ab692e8b672d/html5/thumbnails/22.jpg)
Hvala na pažnji!Petar Kovačević[email protected] d.o.o.
![Page 23: .NET Core - Sve što trebate znati](https://reader035.fdocuments.us/reader035/viewer/2022062311/58a2d9e01a28ab692e8b672d/html5/thumbnails/23.jpg)
© 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries.The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.