.NET dev platform
and Open Source
presented by Hrvoje Hudoletnjak
• Before there were: C/C++, VisualBasic, Delphi, Clarion, Clipper, ..>
• Write Once Run Everywhere
• Bytecode
• Compiled / interpreted language on JVM (Java Virtual Machine)
• Sun Microsystems (now Oracle)
• Knock, knock. Who’s there? ….. (long pause) …. Java!
• Why I don’t use Java? Because I c#!
1996
• CLR (Common Language Runtime) = JVM
• C#, VisualBasic, J#
• Anders Hejlsberg
• WinForms / WebForms
1996 2000
COMMON
LANGUAGE
RUNTIME
• ECMA Standards for C#
• .NET 1.1
• ISO Standard 2003
1996 2000 2001
.NET 1.1
2003
• MONO Project („Monkey” in Spanish)
• Begun by Miguel de Icaza – lead developer of GNOME
• Sponzored by Novell
• Mono 1.0: Core, ADO.NET, ASP.NET, C# 1.0
• Mono 1.2: C# 2.0, ASP.NET 2
• Mono 2.0: complete implementation of .NET 2.0
• Currently (2013): actively developed under Xamarin,
supports .NET 4.5
• MonoDevelop
2000 2001 2004
Mono 1.0
2005
.NET 2.0
Mono 1.2
2006
Mono 2.0
SOURCE PLEASE?
HOSTING?
SHARED
Plus.hr, Avalon, Inside
3+ $/m
Virtual Private Server
20+ $ /m
Dedicated
50+ $ /m
Cloud
Amazon (1y free), Azure (free web sites)
Scott Guthrie
(important guy)
Yours truly
(not so important guy)
• ASP.NET MVC (Model View Controller pattern)
• WebForms -> Cortporate&Enterprise RAD environment
• MVC -> Web 2.0 cunsumer web sites, HQ web apps
• All based on ASP.NET framework (.NET 3.5 +)
• Full source released 2009 under MS-PL license
• jQuery included in official ASP.NET release
2007
ASP.NET MVC
CTP
2009
ASP.NET MVC
v1
2010
ASP.NET MVC
v2
2011
ASP.NET MVC
v3
2012
ASP.NET MVC
v4
WEB
PLATFORM
WebPages WebForms MVC
HTML (5), CSS (3), JavaScript
jQuery, KnockoutJS, Backbone, Angular, Ember, …
APACHE v2 Licesne
ASP.NET MVC
Razor
WebPages
WebAPI
EntityFramework
NuGet
…
• PaaS & IaaS
• Host .NET, PHP, NodeJS, Java, Ruby, … under Windows or Linux
• Services (networking, messaging, storage) available through HTTP /
REST
• Hadoop, NodeJS, source contributed by MS
• 10 free websites (in subdomain)
• SDK source on Github
CLOUDS?
BUILD UP THE DEVELOPER
ECOSYSTEM
Castle
NHibernate
log4net
NUnit
Elmah
Ninject
Antlr
Iesi Collections
jQuery
Newtonsoft.Json
Moq
FluentNHibernate
AutoMapper
StructureMap
NLog
Autofac
Facebook SDK
Rx
RhinoMocks
MvcContrib
51Degrees.mobi
DotNetOpenAuth
Common.Logging
MvvmLight
BBCode
MvcMailer
xunit
FluentValidation
Hammock
SharpZipLib
FluentHtml-ci
Machine.Specifications
jQuery.Validation
WatiN
HtmlAgilityPack
Simple.Data.Core
CLEditor
Simple.Data.Core
Altairis.Web.Security
UrlShortener.HelperiTextSharp
QuickGraph
DotNetZip
FakeItEasy
PublishSettingsGenerator
Spark
NSubstitute
RavenDB
Lucene
AutoPoco
RestSharp
Should
postalnservicebus
reactiveui-core
linq.js
fasterflect
combres
TweetSharp
MvcSiteMapProvider
Adam.JSGenerator
FluentAssertions
Bootstrapper
AzureToolkit
ErikEJ.SqlCeMembership
• ASP.NET MVC, Entity Framework, Nuget on Codeplex, accepting code
contribution
• Azure SDK on GitHub
• OWIN / Katana
• NancyFX
• Nhibernate
• Simple.Data
• Elmah
• RavenDb
• DotNetOpenAuth
• Lucene.net
• ServiceStack ….
TOOLS?
Visual Studio Express 2012
Web, Windows 8, Windows Desktop, Windows Phone
WebMatrix 3
WebPages, PHP, NodeJS, JavaScript
USE THE FORCE, YOUNG PADAWAN!
GIMME MOAR!
LEARNING RESOURCES
msdn.microsoft.com
www.asp.net/get-started
channel9.msdn.com
www.pluralsight.com
www.tekpub.com
THANK YOU! ANY QUESTIONS?
Hrvoje Hudoletnjak
T: twitter.com/hhrvoje
W: hudosvibe.net
M: hrvoje@hudoletnjak.com

Open source and .net