1 PSZ wykład 1 > Systemy i środowiska zintegrowaneProgramowanie w Środowiskach Zintegrowanych > Systemy i środowiska zintegrowane > Środowisko zintegrowane Visual Studio .NET
2 w wykładzie wykorzystano dostępne publicznie materiały firmy Microsoft, pochodzące z prezentacji „.NET Framework & C#”
3 Konspekt bieżącego wykładuSystemy i środowiska zintegrowane .NET Framework Środowisko VS.NET Elementy środowiska
4 Środowiska zintegrowaneZałożenia i motywacja Elementy środowiska zintegrowanego Integracja
5 Założenia i motywacja [przypomnienie]Podstawowy cel - przyspieszenie procesu powstawania aplikacji Założony cel osiąga się przez Dostarczenie biblioteki predefiniowanych, silnie konfigurowanych komponentów Zapewnienie możliwości wizualnej konfiguracji komponentów w czasie tworzenia aplikacji Dostarczenie środowiska wyposażonego w różne narzędzia wspomagające pracę programisty Rozszerzenia i modyfikacje składni języków oprogramowania Integrację środowiska z otoczeniem aplikacji ( bazami danych, systemem plików, siecią komputerową, urządzeniami systemowymi); integracja poprzez komponenty Integrację z gotowymi aplikacjami merytorycznymi (biznesowymi)
6 Narzędzia wspomagające pracę programisty [przypomnienie]Inteligentny edytor ( rozumienie składni, kompilacja on-line, generator podpowiedzi ) Generator struktur kodowych Strukturalna przeglądarka kodu – możliwość wizualizacji kodu w postaci drzewa struktur kodowych Przeglądarki klas, komponentów i obiektów Edytor właściwości komponentów Zintegrowany lokalny debuger Zdalny debuger Integracja z serwerem IIS / SQLSerwer / CrystalReports
7 Integracja środowiska z otoczeniemInterfejs dla baz danych w trybie ODBC, ADO Interfejs dla baz danych w trybie bezpośrednim (natywnym) Integracja z urządzeniami systemowymi Integracja z siecią komputerową Integracja z siecią Internet i jej usługami Interfejs programowania rozproszonego ( DCOM, CORBA ) Integracja z innymi aplikacjami na poziomie standardowych protokołów tekstowych ( XML, SYNCML, SOAP )
8 Integracja z aplikacjami merytorycznymiRozwój najbardziej typowych aplikacji na bazie określonego środowiska realizowany przez dostawcę środowiska Dostawca najpierw tworzy środowisko programistyczne, a później typowe aplikacje Najczęściej są to aplikacje wspomagające biznes (aplikacje biznesowe) Firma kupuje oprogramowanie wraz ze środowiskiem Zatrudniając programistów może wpływać na kształt zakupionego systemu
9 Środowisko Visual Studio .NET™Platforma .NET Elementy środowiska Języki programowania Biblioteki
10 Platforma .NET Co to jest .NET Framework ? Cele projektowe:środowisko aplikacyjne dla obecnych i przyszłych systemów Windows Cele projektowe: Ułatwienie projektowania i programowania Jednolity model projektowy Środowisko szybkiego wykonywania programu Wsparcie dla wielu języków programowania .NET Framework jako przeciwwaga dla platformy JAVA
11 Platforma .NET Operating System Common Language RuntimeJęzyki programowania Operating System Common Language Runtime Base Class Library ADO.NET and XML ASP.NET Web Forms Web Services Mobile Internet Toolkit Windows Forms Common Language Specification VB C++ C# JScript J# Visual Studio.NET Specyfikacja języka Współdzielone biblioteki Środowisko CLR System operacyjny
12 Ewolucja platformy .NETPrzed modelem COM aplikacje były kompletnie niezależnymi encjami, które praktycznie się ze sobą nie komunikowały Aplikacje Kod i struktury danych
13 Ewolucja platformy .NETModel COM wprowadził mechanizmy, dzięki którym aplikacje mogły być budowane w oparciu o wielokrotnie wykorzystywane komponenty; niestety COM nie był prosty i wymagał implementacji interfejsów
14 Ewolucja platformy .NETDzięki NET konieczność budowy interfejsów staje się zbędna. .NET sama w sobie jest kontenerem dla wielu mogących ze sobą współpracować komponentów
15 Common Language RuntimeOperating System Common Language Runtime Base Class Library ADO.NET and XML ASP.NET Web Forms Web Services Mobile Internet Toolkit Windows Forms Common Language Specification VB C++ C# JScript J# Visual Studio.NET
16 Kompilacja i wykonywanie koduAssembly Code (IL) Source Code Language Compiler Metadata wykonanie Native Code JIT Compiler kompilacja podczas instalacji lub przy pierwszym wywołaniu metody
17 Uproszczenie kodowaniaWspólny system typów (ang. Common Type System) Wspólna definicja typów w ramach platformy Możliwości natywnego programowania OOP Klasy i interfejsy Konstruktory, cechy, metody, zdarzenia Automatyczne zwalnianie pamięci (ang. garbage collector ) Dziedziczenie pomiędzy klasami zbudowanymi w różnych językach Interoperacyjność Z obiektami COM Z natywnymi bibliotekami (Win32) DLL
18 Wszystko jest obiektemBoxing Alokuje obiekt, kopiuje wartość do obiektu Unboxing Sprawdza typ obiektu, kopiuje wartość na zewnątrz int i = 123; object o = i; int j = (int)o; Dim i As Integer = 123 Dim o As Object = i Dim j As Integer = CInt(o) 123 i o System.Int32 j
19 Bezpieczeństwo Wbudowane mechanizmy zabezpieczeńDostęp do kodu i jego wykonywanie jest bezpieczne Identyfikacja kodu Admistracja przez polisy Różne mechanizmy zabezpieczeń dla ASP.NET wbudowane w Windows, Passport®, oparte na formach, … Biblioteki kryptograficzne oparte na XML DSIG Cyfrowe sygnatury dla XML (www.w3.org/signature)
20 Zarządzanie i utrzymanie koduBezproblemowa instalacja Konfiguracja bez konieczności konfiguracji rejestru windows Aplikacje i komponenty mogą być dzielone bądź prywatne Zmiany wersji Środowisko umożliwia koegzystencje wielu wersji tych samych komponentów zainstalowanych w systemie Komponenty Mogą zawierać informacje o wzajemnej zależności
21 Języki i narzędzia Operating System Common Language RuntimeBase Class Library ADO.NET and XML ASP.NET Web Forms Web Services Mobile Internet Toolkit Windows Forms Common Language Specification VB C++ C# JScript J# Visual Studio.NET
22 Zunifikowany model programowyWindows API .NET Framework Wspólny model programowy dla wszystkich języków programowania ASP Kod zaszyty w stronach WWW MFC/ATL Podział na klasy, biblioteki, serializacja itp VB Forms RAD, Kompozycja, Delegacja
23 Biblioteki .NET frameworkBase Class Library ADO.NET and XML Web Forms Web Services Mobile Internet Toolkit Windows Forms ASP.NET
24 Biblioteki .NET frameworkSystem System.Data System.Xml System.Web Globalization Diagnostics Configuration Collections Resources Reflection Net IO Threading Text ServiceProcess Security Common OleDb SQLTypes SqlClient XPath XSLT Runtime InteropServices Remoting Serialization SessionState Caching Services Description Discovery Protocols UI HtmlControls WebControls System.Drawing Imaging Drawing2D Printing System.Windows.Forms Design ComponentModel
25 Biblioteki .NET framework: SYSTEMThreading Text ServiceProcess Security Resources Reflection Net IO Globalization Diagnostics Configuration Collections Runtime Serialization Remoting InteropServices
26 Biblioteki .NET framework: SYSTEM :Data i XMLSystem.Xml SQLTypes SQLClient Common OleDb Serialization XPath XSLT
27 Biblioteki .NET framework: ASP.NETSystem.Web Caching Configuration Services UI SessionState HtmlControls WebControls Description Discovery Security Protocols
28 Biblioteki .NET framework: Windows® FormsSystem.Drawing Drawing2D Imaging Printing Text System.Windows.Forms Design ComponentModel
29 Języki programowania Operating System Common Language RuntimeBase Class Library ADO.NET and XML ASP.NET Web Forms Web Services Mobile Internet Toolkit Windows Forms Common Language Specification VB C++ C# JScript J# Visual Studio.NET
30 Języki programowania Środowisko jest niezależne od językamożna używać praktycznie dowolnego języka można zmieniać języki w czasie pisania kodu można implementować biblioteki w różnych językach Common language specification zestaw cech, które muszą być zawarte w języku w celu zagwarantowania jego zgodności z platformą Zestaw języków dostępny w VS.NET: Visual Basic®, C++, C#, J#, JScript® Zewnętrzne języki APL, COBOL, Delphi, Pascal, Eiffel, Haskell, ML, Oberon, Perl, Python, Scheme, Smalltalk… Języki preferowane: C# i Visial Basic
31 .NET posumowanie Spójny model programowy Ułatwienie kodowaniaWspólny model bibliotek Możliwa adaptacja dla innych platform Alternatywa dla języka java w świecie PC
32 Visual Studio .NET Operating System Common Language RuntimeBase Class Library ADO.NET and XML ASP.NET Web Forms Web Services Mobile Internet Toolkit Windows Forms Common Language Specification VB C++ C# JScript J# Visual Studio.NET
33 Elementy środowiska VS.NETOkno główne i paski narzędziowe Inspektor obiektów Okno drzewa obiektów, przeglądarka klas Edytor kodu i diagramów Generator podpowiedzi i skrótów Menedżer projektów Zintegrowany debugger Biblioteki komponentów Komponenty dostępne na „rynku komponentów”
34 Elementy środowiska VS.NETProjekt Komponenty Właściwości Klasy Pomoc Serwery Pasek Menu Zakładki z plikami źródłowymi Komunikaty, błędy, ostrzeżenia
35 VS.NET typy projektów Szablony projektów Języki programowaniaAplikacje typu SETUP Bazy danych i rozszerzenia IDE Inne rozwiązania wybór projektu i szablonu determinuje jakie pliki zostaną automatycznie dopięte do projektu i jakimi komponentami będziemy dysponować
36 VS.NET przykład HelloWorld w C#using System; namespace HalloWorld { ///
37 VS.NET przykład HelloWorld w C#W oknie projektu (Solution Explorer) widzimy nazwy plików składających się na pakiet, informacje o metadanych, definicję ikony oraz drzewo zależności które potrzebne są do prawidłowego działania modułu W widoku klas (Class View) widzimy informacje o przestrzeni nazw, klasach, polach metodach i klasach bazowych klas; ikony oznaczają typ dostępu Po kliknięciu prawym klawiszem myszy i wybraniu „Properties” widzimy cechy obiektu bądź – jak w tym przypadku – klasy; można je dynamicznie zmieniać
38 VS.NET debugowanie i uruchamienie
39 Na wykładzie Wprowadzenie do .NET frameworkZałożenie i motywacja Języki Środowisko wykonywania Przegląd bibliotek Środowisko Visual Studio IDE Elementy środowiska