net core - sve što trebate znati

23
Advanced Technology Days 18. i 19. studenog 2015., Cinestar Arena Centar

Upload: axilis

Post on 13-Apr-2017

201 views

Category:

Software


0 download

TRANSCRIPT

Page 1: NET Core - Sve što trebate znati

Advanced Technology Days18. i 19. studenog 2015., Cinestar Arena Centar

Page 2: NET Core - Sve što trebate znati

.NET Core – Sve što trebate znatiPetar Kovačević[email protected] d.o.o.

Page 3: NET Core - Sve što trebate znati

.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

.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

Problemi?

Page 6: NET Core - Sve što trebate znati

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

.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

.NET Framework(s)

Page 9: NET Core - Sve što trebate znati

.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

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

.NET Core

Page 12: NET Core - Sve što trebate znati

.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

.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

.NET Core - Distribucija

Page 15: NET Core - Sve što trebate znati
Page 16: NET Core - Sve što trebate znati

.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
Page 18: NET Core - Sve što trebate znati

DEMO

Page 19: NET Core - Sve što trebate znati

.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
Page 21: NET Core - Sve što trebate znati

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

Hvala na pažnji!Petar Kovačević[email protected] d.o.o.

Page 23: NET Core - Sve što trebate znati

© 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.