Was ist NET

Uploaded from authorPOINTLite
Views:
 
Category: Entertainment
     
 

Presentation Description

No description available.

Comments

Presentation Transcript

Microsoft .NET: 

Microsoft .NET Markus Kobe Microsoft Student Partner Student der Informatik Universität Hamburg Neno Loje Microsoft Student Partner Student der Informatik Universität Hamburg

Organisatorisches: 

Organisatorisches Ablauf Einführung in .NET (~ 45 min) .NET-Framework (~ 45 min) Pause (~15 min) Workshop (~ 90 min) Teilnehmerliste

Ziele: 

Ziele Verständnis der Begriffe rund um .NET „Landkarte“ von .NET Grundlegendes Verständnis der Arbeitsweise von und mit .NET Grundkenntnisse in C# incl. ASP.NET und ADO.NET

Was ist .NET ?: 

ist die Antwort ! Was ist .NET ?

Was ist .NET ?: 

Was ist .NET ? Technologie Produkt Architektur Plattform Strategie

Warum .NET ?: 

Warum .NET ? Ein Blick auf Gestern Information at your fingertips größtenteils Realität Vorwiegend isolierte Desktoprechner Nur vereinzelt lokale Netze Ein Blick auf Heute und Morgen Neue Formfaktors Steigender Grad der Vernetzung Neue Anforderungen

Die .NET Evolution: 

Die .NET Evolution Vor der Einführung von COM, waren Anwendungen absolut getrennte Einheiten die fast nie integrierbar waren. Anwendung Code und Datenstukturen

Die .NET Evolution II: COM: 

Die .NET Evolution II: COM COM machte die Integration möglich. Jedoch musste jede Komponente dementsprechend programmiert worden sein.

Die .NET Evolution III: Heute: 

Die .NET Evolution III: Heute Im .NET Framework stellt die Common Language Runtime alles zur Verfügung, damit Komponenten direkt miteinander interagieren.

Probleme heute: 

Probleme heute Applikationen integrieren Sprachen haben unterschiedliche Typsysteme Dienst-/Plattformintegration Keine Standards für die Interoperabilität Deployment komponentenbasierter Anwendungen Es droht die DLL-Hölle Das Web-Programmierungsparadigma Zustandslose HTML-Seiten/Apps sind schwer zu entwickeln APIs Eine Vielzahl von APIs (COM, Win32...) Plattformabhängigkeit

Design-Ziele: .NET: 

Design-Ziele: .NET Absolut einfach !!! Objektorientiert bis ins Mark Klassen und Vererbung komplett unterstützt Einfache Integration Jede .NET Klasse kann als COM Klasse benutzt werden ohne jeglichen Aufwand. COM Klassen können als .NET Klassen importiert werden. Einfacher Umgang mit WebServices

Was muss .NET bieten ?: 

Was muss .NET bieten ? Anbieten und Nutzen von Komponenten-Dienstleistungen Einhaltung von Standards Interoperabelität mit anderen Plattformen .NET setzt Maßstäbe, wie heute und in Zukunft Software entwickelt werden sollte

Microsoft .NET: Das Ziel: 

Microsoft .NET: Das Ziel Empower people through great software any time, any place, and on any device.

Ausführungsmodell: 

Ausführungsmodell Common Language Runtime (CLR)

(MS)IL: 

(MS)IL Compiler erzeugen keinen native Code sondern eine prozessorunabhängige Zwischensprache Microsoft Intermediate Language Maschienenunabhängiger Code wird nie von einem Interpreter verarbeitet Wird erst später übersetzt und ausgeführt komplexe Datentypen und Objekte sind fester Bestandteil „Managed Code“ IL-Code wird vor der Ausführung immer (!) durch Compiler in echten Maschinencode übersetzt Managed Code Code der unter Aufsicht der Common Language Runtime (CLR) ausgeführt wird

Assemblies: 

Assemblies .NET Anwendungen bestehen aus Assemblies Assembly = Komponente? Ein Assembly ist ein Container für Module Sämtliche Sicherheits- und Versionsüberprüfungen durch die CLR erfolgen auf der Basis von Assemblies !!! Sobald ein Modul kompiliert ist, gehört es zu einem Assembly

Ausführungsmodell: 

Ausführungsmodell Common Language Runtime (CLR)

JIT und CLR: 

JIT und CLR Just in Time Compiler Endgültige Übersetzung in Maschinencode Optimiert für Zielmaschine Übersetzt zur Laufzeit Übersetzt nur das was benötigt wird Common Language Runtime Runtime führt Sicherheitsüberprüfungen aus Runtime übernimmt Speicherverwaltung und Fehlerbehandlung Runtime führt Versionsprüfungen durch

Ausführungsmodell: 

Ausführungsmodell Just in Time (JIT) Compiler IL-Code IL-Code IL-Code Compiler Compiler Compiler Managed Code Managed Code Managed Code Common Language Runtime (CLR) VB VC++ C#

Unmanaged Code: 

Unmanaged Code Althergebrachte Weise Code unterliegt nicht der Aufsicht der CLR Plattformabhängig Ohne .NET Framework

Implikation: 

Implikation Sprachen werden gleichwertig, da alle Compiler MSIL-Code erzeugen „eine C# Klasse kann von einer VB.NET Klasse abgeleitet sein“ einheitliche Fehlerbehandlung Compilerbau wird einfacher kein Typsystem Sprachen sind per„Definition“ interoperabel

Die Vision von .NET…: 

Die Vision von .NET… ... setzt Maßstäbe, wie heute und in Zukunft Software entwickelt wird!

.NET für Entwickler: 

.NET für Entwickler

.NET für Entwickler: 

.NET für Entwickler

Die Qual der (Sprach-)Wahl: 

Die Qual der (Sprach-)Wahl IL Assembler (ILASM) Die Meisten Freiheiten, aber sehr kryptisch Managed C++ kann managed und unmanaged Code mischen Migration, systemnahe Programmierung VB.NET: .NET für VB6-Entwickler Vollständig Objektorientierung, Web für VB Haben Sie eine Semikolonallergie? C# ist syntaktisch nah an C/C++ und leicht für alle OO-Programmierer

.NET Klassenbibliothek: 

.NET Klassenbibliothek

Putting it all together: 

Putting it all together Windows API Unabhängigkeit von der verwendeten Programmiersprache ASP MFC/ATL RAD, Composition, Delegation Subclassing, Power, Expressiveness Stateless, Code embedded in HTML pages

.NET Framework Namespaces: 

.NET Framework Namespaces

.NET Framework Namespaces: 

.NET Framework Namespaces InteropServices Remoting Serialization Description Discovery Protocols HtmlControls WebControls

Windows Forms: 

Windows Forms Framework für leistungsfähige Windows Applikationen Visuelle Formular-Vererbung Automatisches Layout Advanced graphics support – GDI+ Einfacher Zugriff auf das Win32 ® API Controls im Internet Explorer 5.x nutzen Keine Installation, Registrierung oder GUIDs Lightweight -- “Hello World” ~ 3.5K Sicher ‘Code access security’ verhindert Schaden Keine Internet Explorer Sicherheits-Dialoge!

Windows Forms enthält:: 

Windows Forms enthält: System.Windows.Forms enthält: Application-Klasse Controls-Klassen (Button, Editbox,...) Klassen für Standarddialoge (Open,...) Klassen für Menüs Klassen für Images Klassen für das Drucken Klassen für Statuszeile und Toolbar Klassen für das Clipboard u.v.m.

.NET Framework Namespaces: 

.NET Framework Namespaces InteropServices Remoting Serialization Description Discovery Protocols HtmlControls WebControls

ADO.NET und XML: 

ADO.NET und XML Verarbeitet alle Arten von Daten XML (hierarchical), Relational Leistungsfähiger In-Memory Daten Cache Lightweight, stateless, disconnected sowohl relational wie XML Zugriff, unabhängig von der Datenquelle XML Unterstützung: W3C DOM, XSL/T, XPath und Schema Data Reader für Streamzugriff mit geringem Overhead

.NET Framework Namespaces: 

.NET Framework Namespaces InteropServices Remoting Serialization Description Discovery Protocols HtmlControls WebControls

Web Forms: 

Web Forms Einheitliches Modell Trennung zwischen Form und Code Ereignisorientiert Viel bessere Performance als ASP

Veränderungen am Server Web Services: Mehr als Browsen: 

Veränderungen am Server Web Services: Mehr als Browsen HTML

Web Services: 

Web Services Technische Definition Eine programmierbare Anwendung, auf die über Standardwebprotokolle zugegriffen werden kann„ Basiert auf SOAP

Web Services: 

Web Services SOAP XML

Common Language Runtime: 

Common Language Runtime

Wartung und Verteilung: 

Wartung und Verteilung Keine Registrierung notwendig Einfach die Applikationskomponenten kopieren Der Code ist vollständig selbstbeschreibend Nebenwirkungsfreie Installation (Zero-impact install) ‘Side-by-Side’ Ausführung Verschiedene Versionen derselben Komponente können sogar in einem Prozess kooexistieren

Nahtlose Integration: 

Nahtlose Integration Alle .NET Klassen können COM Objekte sein Keine zusätzliche Entwicklung benötigt Arbeitet mit jedem Clienten (VB6, Office, etc) Transparente Nutzung von COM Objekten Einschließlich benutzerdefinierter Schnittstellen, ActiveX controls, Automation Einfacher zu Nutzen mit COM+ Services Transaktionen, Objekt Pooling, etc. Auto-registered — keine Registrierung notwendig

Zusammenfassung CLR: 

Zusammenfassung CLR Einheitliches Typsystem Sprachen werden gleichwertig Alles ist von Object abgeleitet Das Common Type System definiert welche Typen nach außen gegeben werden sollten

It‘s the question that drives us, Neo The Matrix: 

It‘s the question that drives us, Neo The Matrix Why change a winning team? Das Team war schon am Zurückfallen. Es musste gewechselt werden, um zukünftigen Herausforderungen gerecht zu werden. Ist Microsoft zum Guten Samariter geworden? Definitiv nein – aber eine veränderte Welt, eine erhöhte Komplexität erfordert eine andere Politik und mehr Offenheit. Was hat Microsoft davon? Ein neues Geschäftsmodell. Man denkt Web, Dienste, Plattformen. Was haben wir davon? Weniger alte Probleme, einfachere Entwicklung, einfacheres Deployment, adäquatere Programmierparadigmen

Fragen?: 

Fragen?

Pause: 

Pause In 15 Minuten geht es weiter

Workshop - Vorgehen: 

Workshop - Vorgehen Voraussetzungen Die Sprache C# ADO.NET Webservices Code Access Security

Voraussetzungen: 

Voraussetzungen .NET-Entwicklungsumgebung .NET Framework SDK 1.1 http://www.microsoft.de/downloadsRessourcen für die Entwicklung  .NET Framework SDK Ver. 1.1 Visual Studio.NET 2003 (D-123 MSDN-AA) IIS (für ASP.NET) SQL-Server Desktop Engine (für ADO.NET) http://www.microsoft.de/downloadsServeranwendungenMSDE 2000 Version A

Die Sprache C#: 

Die Sprache C# Seit 2001 am Markt Vereint Vorteile von Java und C++ Speziell für das .NET-Framework entwickelt Plattformunabhängig Objektorientiert

HalloWorld C#: 

HalloWorld C# // HalloWorld.cs using System;   class HelloWorld { static void Main(string[] args) { Console.WriteLine("Hello, World!"); } }

HalloWorld C#: 

HalloWorld C# C:>csc HalloWorld.cs C:>HalloWorld.exe csc  C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322

HalloWorld C#: 

HalloWorld C#

csc.exe: 

csc.exe

HalloWorld C#: 

HalloWorld C# c:>csc /out:MyHalloWorld.exe HalloWorld.cs c:>MyHalloWorld.exe

HalloWorld C#: 

HalloWorld C# cmd.exe

ASP.NET – Server Controls: 

ASP.NET – Server Controls <% @Page Language="C#" %> <script runat=server> void myChanged(object sender, EventArgs e){ message.InnerText = MyText.Value; } </script> <form runat=server> <input id="MyText" runat="server" type="text" OnServerChange="myChanged"/> <input id="Button" runat="server" type="submit" value="LOS" /> <p id="message" runat="server"/> </form>

ASP.NET Code Behind: 

ASP.NET Code Behind //HalloWorld2.cs using System; using System.Web.UI; using System.Web.UI.WebControls; public class HalloWorld2 : Page{ public DataGrid myDataGrid; void Page_Load(object sender, EventArgs e){ Response.Write("Hallo World - Code behind"); } }

ASP.NET Code Behind: 

ASP.NET Code Behind //HalloWorld2.aspx <% @Page Language="C#" src="HalloWorld2.cs" inherits="HalloWorld2"%> <form runat=server> <ASP:DataGrid id="myDataGrid" runat="server"/> </form>

Windows Forms: 

Windows Forms http://samples.gotdotnet.com/quickstart/winforms/ Tutorial zu Windows Forms

ASP.NET: 

ASP.NET http://www.asp.net/Tutorials/quickstart.aspx Tutorial zu ASP.NET

Danke!: 

Danke! Vielen Dank für Ihre Aufmerksamkeit !

Mehr Informationen?: 

Mehr Informationen? http://msdn.microsoft.com/net http://www.gotdotnet.com http://www.dotnetgerman.com http://www.dotnet247.com http://www.codeproject.com http://www.devx.com/dotnet

Ende: 

Ende