Die .NET- rege/dnet_hs19/dnet1.pdf Web Forms Web Services ASP.NET, MVC 5 Web-GUI (objektorientiert,

download Die .NET- rege/dnet_hs19/dnet1.pdf Web Forms Web Services ASP.NET, MVC 5 Web-GUI (objektorientiert,

If you can't read please download the document

  • date post

    04-Jun-2020
  • Category

    Documents

  • view

    0
  • download

    0

Embed Size (px)

Transcript of Die .NET- rege/dnet_hs19/dnet1.pdf Web Forms Web Services ASP.NET, MVC 5 Web-GUI (objektorientiert,

  • Die .NET-Technologie

    ■ Karl Rege ■ Teil der Folien mit freundlicher Genehmigung von Prof. Dr. Hanspeter Mössenböck, Dr. Wolfgang Beer, Dr. Herbert Prähofer (Uni Linz)

  • 2 von 71School of Engineering © K. Rege, ZHAW

    Motivation

  • 3 von 71School of Engineering © K. Rege, ZHAW

    Motivation für diese Vorlesung

  • 4 von 71School of Engineering © K. Rege, ZHAW

    Motivation für diese Vorlesung

    Pro Microsoft

    ■ Microsoft stellt die beste Software der Welt her.

    ■ Sie handelt absolut selbstlos und will nur das Beste für die Welt.

    ■ C#/.NET ist bei Microsoft die zentrale Plattform für die Anwendungs-

    entwicklung

    Pro Java/FOSS/Apple

    ■ M$ ist das Evil Empire der Softwarebranche.

    ■ M$ versucht den Software-Markt zu

    monopolisieren.

    ■ Lerne deinen Kontrahenten kennen.

    ■ Man kann sich von M$ "inspirieren"

    lassen und gute Ideen in die Open- Source Welt hinüber nehmen

    ■ Man wird im Informatiker Berufsleben fast unausweichlich mit dieser Technologie in Kontakt kommen (ausser man wechselt den Beruf).

    ■ Entwickler, die beide Welten (Java/Open-Source, Microsoft) kennen, haben bessere Berufsaussichten.

    ■ Integration verschiedener Systeme wird eine wichtige/die wichtigste kommende Herausforderungen für SW-Ingenieure sein.

    ■ In .NET sind einige Konzepte umgesetzt, die man bisher im Studium noch nicht kennengelernt hat; es ist auch ein Beispiel von gutem Engineering.

  • 5 von 71School of Engineering © K. Rege, ZHAW

    Schlacht um das OS

  • 6 von 71School of Engineering © K. Rege, ZHAW

    Microsofts Fehler

    ■ War vom 87 bis 07 absolut dominante Plattform - auch Mobile (Windows CE)

    ■ Was hat S. Balmer bis 2013 nur falsch gemacht?

    hat 786 Mio $ verdient indem er sich selber gefeuert hat

    hat 786 Mio $ verdient indem er sich selber gefeuert hat

  • 7 von 71School of Engineering © K. Rege, ZHAW

    In absoluten Zahlen weit weniger dramatisch

  • 8 von 71School of Engineering © K. Rege, ZHAW

    Windows 87%

    Mac OS 9.7%

    Linux 2.2%

    Chrome OS 0.36%

    Unknown 0.26%

    BSD 0.01%

    Android 70.24%

    iOS 28.4%

    Unknown 1.11%

    Series 40 0.08%

    Windows Phone OS 0.07

    Linux 0.03%

    Global OS Verbreitung Aug. 2019

    Desktop OS

    Mobile OS

    © https://www.netmarketshare.com

  • 9 von 71School of Engineering © K. Rege, ZHAW

    Development Environments

    ■ Stack Overflow Umfrage 2019

    https://insights.stackoverflow.com/survey/2019#technology

  • 10 von 71School of Engineering © K. Rege, ZHAW

    Most Loved/Dreaded Development Languages

    Loved Dreaded

  • 11 von 71School of Engineering © K. Rege, ZHAW

    Most Loved Non Web Frameworks

    ■ Most Loved

  • 12 von 71School of Engineering © K. Rege, ZHAW

    Technology Clusters

  • 14 von 71School of Engineering © K. Rege, ZHAW

    Inhalt und Aufbau der Vorlesung

  • 15 von 71School of Engineering © K. Rege, ZHAW

    Aufbau der Vorlesung

  • 16 von 71School of Engineering © K. Rege, ZHAW

    Aufteilung der Vorlesung 1 & 2

    ■ .NET 1 Framework 2.0 (2006)

    ■ .NET 2 Neuere Technologien und .NET Core, Azure, ….

    .N E

    T 1

    .N E

    T 2

  • 17 von 71School of Engineering © K. Rege, ZHAW

    .NET Plattform (heute)

    ■ Aktuell existieren 3 "Flavours" der .NET Plattform

  • 18 von 71School of Engineering © K. Rege, ZHAW

    .NET Plattform (heute)

    ■ Plattform unabhängige Desktop GUI Entwicklung schwierig ■ verschiedene XAML "Dialekten" ■ WPF, Silverlight, Windows Runtime-XAML, Xamarin Forms

    http://www.heise.de/developer/meldung/Unreife-Kernloesung-NET-Core-1-0-ist-zwar-erschienen-aber-noch-nicht-fertig-3249902.html

  • 19 von 71School of Engineering © K. Rege, ZHAW

    .NET Plattform (morgen)

    ■ Ziel ist eine gemeinsame Basis

    https://blogs.msdn.microsoft.com/dotnet/2016/09/26/introducing-net-standard/

  • 20 von 71School of Engineering © K. Rege, ZHAW

    Einführung, Die Sprache C# Teil 1 Einführung,Symbo le ,Typen,Aus drücke, Dekla ra tio nen, Anweis ungen, Ein-/Aus gabe

    Die Sprache C# Teil 2 Klas s en und S truc ts , Vere rbung, Inte rfaces

    Die Sprache C# Teil 3 Delegates und Events , Aus nahmen, Namens räume,

    Die Sprache C# Teil 4 Attribute , auto matis ch generie rte Ko mmentare

    C# Teil 5, Die .NET Architektur Virtue lle Mas chine, CTS, CLS, CIL, Matada ten, As s emblies und Mo dule , VES, S icherhe it,Ze iger

    Klassenbibliothek Teil 1 Co llec tio ns ,Ein-/Aus gabe ,Threading

    Klassenbibliothek Teil 2 Netzwerkko mmunika tio n, Reflec tio n, Graphis che Benutzero berflächen

    1

    2

    4

    3

    5

    6

    7

    Klassenbibliothek Teil 3 XML, ActiveX, DLL

    ADO.NET&XML Verbindings o rientie rte r und Verbindungs lo s er Zugriff, DataSets , DataSe ts und XML Daten

    10 ASP.NET Teil 1 dyn Webs eiten, Web- Fo rmulare , Ereignis behandlung, S teuere lemente , Validierung

    11 ASP.NET Teil 2 Eigene S teuere lemente , Zus tands verwaltung, Applika tio ns s chicht, Ko nfigura tio n

    12 VB.NET 13 Industrie Vortrag 14 Reserve

    9

    8

    Aufbau der Vorlesung

    ■ Semesterplanung (ohne Gewähr)

  • 21 von 71School of Engineering © K. Rege, ZHAW

    Unterlagen

    ■ Folien: waikiki.zhaw.ch oder MOODLE

    ■ Buch: .NET Kompaktkurs C# 7.0

    Mössenböck et. al. dpunkt Verlag

    ■ ISBN: 978-3-86490-227-7

  • 22 von 71School of Engineering © K. Rege, ZHAW

    Betriebssystem (Windows, Linux, Android, … )

    Unmanaged Applications

    Was ist .NET?

    ■ Eine Software-Plattform für Desktop und Web Anwendungen

  • 23 von 71School of Engineering © K. Rege, ZHAW

    Betriebssystem (Windows, Linux, Android, … )

    Unmanaged Applications

    Managed Applications

    Klassenbibliothek

    Common Language Runtime

    Common Language Runtime

    Interoperabilität, Sicherheit, Garbage Collection, Just-In-Time Compilation, Versionierung, ...

    Klassenbibliothek GUI, Collections, Threads, Netzwerk, Reflection, XML, ...

    Was ist .NET?

    ■ Eine Software-Plattform für Desktop und Web Anwendungen

  • 24 von 71School of Engineering © K. Rege, ZHAW

    Betriebssystem (Windows, Linux, Android, … )

    Unmanaged Applications

    Managed Applications Web Applications

    Klassenbibliothek

    Common Language Runtime Web Server (IIS)

    ASP.NET

    Web Forms Web Services

    ASP.NET, MVC 5

    Web-GUI (objektorientiert, ereignisorientiert, browseunabhängig)

    Web Services verteilte Dienste über (SOAP, HTTP, REST)

    Was ist .NET?

    ■ Eine Software-Plattform für Desktop und Web Anwendungen

  • 25 von 71School of Engineering © K. Rege, ZHAW

    Betriebssystem (Windows, Linux, Android, … )

    Unmanaged Applications

    Managed Applications Web Applications

    Klassenbibliothek

    Common Language Runtime Web Server (IIS)

    .NET-Framework + Tools (Visual Studio .NET, VS Code, ...) + Servers (SQL Server, Azure, ...)

    ASP.NET

    Web Forms Web Services

    Was ist .NET?

    ■ Ein Framework und mehr ...

  • 26 von 71School of Engineering © K. Rege, ZHAW

    Bisher

    Desktop-Programmierung

    Objektorientiert

    Compiliert (C/C++, Fortran, ...)

    Klassenbibliothek

    Web-Programmierung

    ASP (nicht objektorientiert)

    Interpretiert (VBScript, JavaScript, PHP, ...)

    Eigene Bibliothek

    Unter .NET

    Desktop- und Web-Programmierung

    Objektorientiert (auch ASP.NET)

    Compiliert (C#, C++, VB.NET, Fortran, ...)

    Einheitliche Klassenbibliothek

    Ziele von .NET

    ■ Zusammenführung von Desktop- und Web-Programmierung

  • 27 von 71School of Engineering © K. Rege, ZHAW

    Unter .NET ■ Binärkompatibilität zwischen mehr als 20 Sprachen (C#, C++, VB.NET, Java,

    Pascal, PHP, Eiffel, Fortran, Cobol, ML, Haskell, Oberon, Perl, Python, ...)

    Public Class A Public x As Integer Public Sub Foo() ...

    End Class

    class B : A { public string s; public void Bar() {...}

    }

    class C { private B obj; ... obj = new B(); obj.Bar() ...

    }

    Klasse in VB.NET Unterklasse in C# Verwendung in Java

    … Ziele von .NET

    ■ Interoperabilität zwischen Programmiersprachen

    ■ Bisher ■ Millionen Zeilen Code in C++, Fortran, Visual Basic, ... ■ Nur sehr beschränktes Zusammenspiel: über OLE/ActiveX

  • 28 von 71School of Engineering © K. Rege, ZHAW

    Unter .NET ■ ASP.NET (saubere Trennung von HTML und Script-Code)

    ■ Objektorientiert