.NET Overview

Document Sample
.NET Overview
Shared by: Andrey Shchekin
Stats
views:
389
posted:
9/29/2009
language:
English
pages:
34
Enterprise development (in .NET), Day 2



.NET overview (in context)

Andrey Shchekin http://ashmind.com Sankt-Petersburg, 2009

Images © Mattahan Productions, Inc | http://mattahan.deviantart.com/ | http://mattahan.insocada.com/



PHP C# Java C++



.NET | JVM

Static typing* Compiled code



PHP | Ruby | …

Dynamic typing Interpreted code



Fast for users Maintainable



Fast for developers Convenient



Static (C#)

var a = 5; a = "Andrey"; - error! var value = new Object(); return value.Something; - error!



Dynamic (JS)

var a = 5; a = "Andrey"; var value = new Object(); return value.Something; // undefined



.NET

1. Runtime 2. Languages 3. Libraries



Runtime (CLR)

Static typing/Type safety Automatic memory management GC Garbage Collector



Virtual machine IL Intermediate Language JIT Just in Time Compiler



CLR

Dynamic linking (.dll)



C | C++

Static linking (.h)



Runtime features



Compiler features



IL (byte code) Virtual machine



ASM (processor) Direct execution



Assemblies

Assembly = .NET exe or dll. Always conforms to specific API. Strong-naming: security.



CLR

Single platform* Multiple languages



JVM

Multiple platforms Single language*



Specific features Focused support



Common features Broad distribution



Base Class Library (BCL)

A set of built-in types System.Collections System.Data System.IO System.Net System.Text System.Security System.Threading System.Xml



Languages



C#

VB.NET Boo F# Oxygene Nemerle IronRuby IronPython IronLisp Phalanger (PHP) Eiffel



… IronPython on the CLR was about 1.7x faster than the Cbased implementation …



*.NET



ASP.NET

HTML Templates + .NET Code ASP.NET == System.Web.* Hosted on IIS via w3wp/aspnet_wp. In IIS7 more or less built-in.



ASP.NET MVC

Simpler and better ASP.NET System.Web.Mvc.* You should actually always use this.



ADO.NET

Database access library. ADO.NET == System.Data.* Boring.



Windows Forms

Classic Windows application framework. Nice but limited.



WPF

New framework for Window GUI apps. Learn it instead of WinForms. WPF = XAML + C# All controls can be completely customized.



Visual Studio 2010 will be WPF.



Similar to Flash, but in .NET. WPF in browser.

Works in all browsers (Windows) and Safari (Mac). Good for: high-quality streaming video complex Internet apps Bad if: You can do it in HTML/JS



Where else?

Xbox: XNA Framework Windows Mobile: .NET Compact Framework Watches and other small stuff: .NET Micro Framework



LINQ



LINQ to

Google Flickr Twitter Amazon Sql Xml Active Directory



LINQ

var publicTweets = from tweet in twitter.Status where tweet.Type == StatusType.Public orderby tweet.Date descending select tweet;



Mono

Open-source .NET Runtime (Linux!). Additional libraries (Gtk#, etc).

GNOME applications (Beagle, F-Spot). Actually run my code developed on .NET.



Moonlight

Open-source Silverlight. The only way to use Silverlight on Linux. Kind of lags in versions, though.



Mono on iPhone (costs $400, though).



.NET Frameworks

.NET CLR 1.0 1.0 1.1 1.1 2.0 3.0* 2.0 3.5

2.0+



C#

Visual Studio .NET



1.0

.NET 2003



2.0 (Generics)

2005



3.0 (Linq)

2008



* 3.0 (WinFX): WPF WCF WF WCS



Windows Presentation Foundation Windows Communication Foundation Windows Workflow Foundation Windows CardSpace



Getting .NET-related stuff

Free: Visual Studio 2008 Express DreamSpark (for students) Almost free ($100 after 3 years): BizSpark (startups) WebsiteSpark (web studios)



Goodies

A lot of free and open-source stuff: http://code.google.com http://www.codeplex.com http://google.com :) Open source IDE: Win #Develop (SharpDevelop) All MonoDevelop



Questions




Share This Document



Related docs
Other docs by Andrey Shcheki...
Databases and Data Access in .NET
Views: 103  |  Downloads: 10
Enterprise development
Views: 658  |  Downloads: 7
Introduction to C#
Views: 207  |  Downloads: 12
Practical Unit-Testing in .NET
Views: 140  |  Downloads: 7
ASP.NET MVC
Views: 996  |  Downloads: 81
.NET Overview
Views: 389  |  Downloads: 9
by registering with docstoc.com you agree to our
privacy policy

You are almost ready to download!

You are almost ready to download!