31
Sami .NET kóði fyrir Windows, Linux og Mac OsX Guðmundur Jón Halldórsson http://www.gudmundurjon.net Five Degrees

UTMessan 2014 - Same .NET code for Windows, Linux, and OsX

Embed Size (px)

DESCRIPTION

How to run the same .NET code for Windows, Linux, and OsX

Citation preview

Page 1: UTMessan 2014 - Same .NET code for Windows, Linux, and OsX

Sami .NET kóði fyrir Windows, Linux og Mac

OsX

Guðmundur Jón Halldórssonhttp://www.gudmundurjon.net

Five Degrees

Page 2: UTMessan 2014 - Same .NET code for Windows, Linux, and OsX

“There are two types of speakers: those that are nervous and those that are liars”

Mark Twain

Page 3: UTMessan 2014 - Same .NET code for Windows, Linux, and OsX

Mono project – hvað er það?

• C# (async, LINQ, dynamic, ...)• F#• Java• Scala• Boo• Nemerle• Visual Basic .NET

• Python• JavaScript• Oberon• PHP• Object Pascal• LUA• Cobra(meira)

Mono styður flest mál sem hægt er að compile-a á IL

Gudmundur Halldorsson
Page 4: UTMessan 2014 - Same .NET code for Windows, Linux, and OsX

Hvar keyrir Mono project – hvað er það?An open source, cross-platform, implementation of C# and the CLR that is binary compatible with Microsoft.NET... Af því að við viljum nota .Net á Linux

• Mono Runtime• Mono IL Contrast (gasnview, ilcontrast, gui-compare, mperfmon, gsharp)• Mono Documentation• MonoDeveloper (C, C++, C#, Vala, Boo, Java, Nemerle, Ilasm, ASP.NET, Mono/GNU

Debugger)

Page 5: UTMessan 2014 - Same .NET code for Windows, Linux, and OsX

Á hverju keyrir Mono

• Linux• OS X• BSD• iPhone• Android

• PlayStation 3• Wii• Xbox 360• Microsoft Windows• x86, x64, ARM, s390, PowerPC,

SPARC, IA64

Page 6: UTMessan 2014 - Same .NET code for Windows, Linux, and OsX

Er allt hægt með Mono

• Mono styður allt til og með .NET 4.0• NEMA WPF, WF og hluta úr WCF

• Prófa að keyra Mono Migration Analyzer

Page 7: UTMessan 2014 - Same .NET code for Windows, Linux, and OsX
Page 8: UTMessan 2014 - Same .NET code for Windows, Linux, and OsX

Hvað er í Mono pakkanum

BASE CLASS LIBRARY

ASP.NETADO.NETCore

LINQ DLR WCF

MONO CLASS LIBRARY

Mono Addins Mono Cecil

Mono Unix

MONO RUNTIME

JIT AOT(Ahead of time compilation)

C# F# VB Java JS Boo PHP Lua

Page 9: UTMessan 2014 - Same .NET code for Windows, Linux, and OsX

Mono - .Net

.NET 1.1C# 1.0Core Libraries 1.1: mscorelib, System, System.XmlASP.NET 1.1ADO.NET 1.1Winforms/System.Drawing 1.1System.TransactionsSystem.ManagementSystem.EnterpriseServices

Page 10: UTMessan 2014 - Same .NET code for Windows, Linux, and OsX

Mono - .Net

.NET 2.0C# 2.0 (generics)Core Libraries 2.0: mscorelib, System, System.XmlASP.NET 2.0 (ekki vefpartar)ADO.NET 2.0Winforms/System.Drawing 2.0

Page 11: UTMessan 2014 - Same .NET code for Windows, Linux, and OsX

Mono - .Net

.NET 3.0WCF (Silverlight 2.0 subset)WPF (Ekki ráðgert)WWF (Verður útfært síðar)

Page 12: UTMessan 2014 - Same .NET code for Windows, Linux, and OsX

Mono - .Net

.NET 3.5C# 3.0System.CoreLINQASP.Net 3.5ASP.Net MVCLINQ to SQL

Page 13: UTMessan 2014 - Same .NET code for Windows, Linux, and OsX

Mono - .Net

.NET 4.0C# 4.0ASP.Net 4.0, ASP.Net MVC 1, MVC 2 and MVC3System.NumericsManaged Extensibily Framework (MEF)Dynamic Language RuntimeClient side OData, EntityFramework, Parallel Framework, PLINQCodeContractsServer-side OData

Page 14: UTMessan 2014 - Same .NET code for Windows, Linux, and OsX

Mono - .Net

.NET 4.5C# 5.0 - async supportAsync Base Class Library UpgradeMVC4 – (að hluta, ekki async)ASP.NET 4.5 Async Pipeline

Page 15: UTMessan 2014 - Same .NET code for Windows, Linux, and OsX

Viðmótsforritun með Mono

• Winforms• Gtk# (GTK+ og GNOME)• Qyoto• WX.Net• MonoCurses• MonoMac• iOS• Android(og fleiri ...)

• Moonlight (Silverlight)

Page 16: UTMessan 2014 - Same .NET code for Windows, Linux, and OsX

Gagnagrunnar og Mono

• SQLite• PostgreSQL• MySQL• Sysbase• Oracle• SQL Server

Page 17: UTMessan 2014 - Same .NET code for Windows, Linux, and OsX

Mono C# Shell

Page 18: UTMessan 2014 - Same .NET code for Windows, Linux, and OsX
Page 19: UTMessan 2014 - Same .NET code for Windows, Linux, and OsX

Mono desktop

Banshee F-Spot Pinta2 Unity3d

Page 20: UTMessan 2014 - Same .NET code for Windows, Linux, and OsX

MONO Developer

Page 21: UTMessan 2014 - Same .NET code for Windows, Linux, and OsX

Mono Debug

Page 22: UTMessan 2014 - Same .NET code for Windows, Linux, and OsX

MONO forritun

Page 23: UTMessan 2014 - Same .NET code for Windows, Linux, and OsX

MONO forritun - vefur

Page 24: UTMessan 2014 - Same .NET code for Windows, Linux, and OsX

MONO forritun - vefþjónustur

Page 25: UTMessan 2014 - Same .NET code for Windows, Linux, and OsX

Mono Framtíðin

• Núverandi útgáfa er 3.2.4• Það verður fullur stuðningur við .NET 4.0 (Nema WPF)

Xamarin sér um Mono.Android og Mono.iOs

Page 26: UTMessan 2014 - Same .NET code for Windows, Linux, and OsX
Page 27: UTMessan 2014 - Same .NET code for Windows, Linux, and OsX

Stýrikerfisnotkun

Page 28: UTMessan 2014 - Same .NET code for Windows, Linux, and OsX
Page 29: UTMessan 2014 - Same .NET code for Windows, Linux, and OsX

Android vs. iOS vs. Windows Phone

Page 30: UTMessan 2014 - Same .NET code for Windows, Linux, and OsX

Xamarin Studio

Page 31: UTMessan 2014 - Same .NET code for Windows, Linux, and OsX

Áður en þú ferð - spurningar

#Twitter@gudmundurjon

#LinkedInhttp://www.linkedin.com/in/gudmundurjon

#Bloggiðhttp://www.gudmundurjon.net