1 Witold Bołt [email protected]Wprowadzenie do .NET Witold Bołt
2 Agenda Podsumowanie Co to jest .NET Framework?Po co to jest? – motywacja. Podstawowe pojęcia i założenia platformy Biblioteka klas .NET Języki .NET Narzędzie programistyczne dla .NET Język C#, .NET Framework 3.5 i Visual Studio 2008 Wprowadzenie do C# Przykład: LINQ Przykład: WPF (+ Expression Blend) Podsumowanie
3 Co to jest .NET Framework?Zaawansowana platforma programistyczna Rozbudowana biblioteka klas Zestaw narzędzie wspomagających wytwarzanie oprogramowania (Visual Studio, Expression Studio) Rozwiązania serwerowe umożliwiające wdrażanie i używanie aplikacji w środowiskach sieciowych (Windows Server, IIS, MSSQL)
4 Po co jest .NET? Szybkie i wygodne wytwarzanie oprogramowania (szczególnie dużych systemów) Integracja wielu technologii, języków, sposobów komunikacji, platform Bezpieczny kod – bezpieczne aplikacje
5 Podstawowe założenia Aplikacje kompilowane do kodu pośredniego (CIL – Common Intermediate Language) Platforma dostarcza środowisko uruchomieniowe (CLR – Common Language Runtime) Kompilacja JIT – Just in Time do kodu maszynowego Platforma umożliwia współpracę wielu języków programowania (CTS – Common Type System, CLS – Common Language Specification)
6 Podstawowe założenia c.d.
7 Podstawowe założenia c.d.Aplikacje .NET niezależne od: architektury sprzętowej i systemu operacyjnego Aplikacje z kodem zarządzalnym (managed code) Konsekwencje tych założeń – łatwiej programować, ale aplikacje mogą być mniej wydajne
8 Biblioteka klas .NET BCL – Base Class LibraryFCL – Framework Class Library ADO.NET ASP.NET Windows Forms Windows Presentation Foundation (WPF) Windows Communication Foundation (WCF) Windows Workflow Foundation (WF) Windows CardSpace (WCS) LINQ
9 Języki .NET – wywodzące się z MSC# - obiektowy język wysokiego poziomu, stworzony specjalnie na potrzeby .NET (w wielu aspektach zbliżony do Java) Visual Basic .NET C++/CLI J# - Java dla .NET (obecnie „deprecated”) IronPyton IronRuby JScript .NET Windows PowerShell F# - język z rodziny ML
10 Języki .NET – inne PHP – projekt Phalanger SmalltalkPerl – projekt Active Perl Boo Lisp – projekty IronLisp, L#, DotLisp Ada Oberon Fortran Modula-2 ObjectPascal/Delphi – Borlnad Delphi Studio Java – istnieje możliwość uruchamiania Java bytecode w .NET przez IKVM ANSI C COBOL Nemerele … i wiele innych!
11 Narzędzia programistyczneVisual Studio – zintegrowane środowisko do rozwijania aplikacji – obecna wersja stabilna to Visual Studio 2005. Visual Studio Express Edition – darmowa wersja środowiska (umożliwia tworzenie aplikacji w C# lub Visual Basic – również do zastosowań komercyjnych!) Visual Studio Standard i Professional Visual Studio Team Suite – wersja przeznaczona dla zespołów, komunikuje się z serwerem Team Foundation Server Expression Studio – zestaw narzędzi do projektowania grafiki i interfejsów użytkownika w oparciu o WPF/XAML Expression Blend Expression Design Expression Web Expression Media W raz z darmowym .NET Framework SDK dostarczany jest też zestaw kompilatorów i narzędzi programistycznych (command line)
12 Język C# Język w pełni obiektowy Składnia oparta na C/C++Część „ciekawych” własności: Generics Wyrażenia Lambda Anonimowe typy i metody LINQ – zapytania zintegrowane z językiem Klasy częściowe „partial class” Delegaty i zdarzenia Nullable base types (na przykład: int?)
13 LINQ LINQ – Language Integrated QueriesW ramach składni C# pojawiają się wyrażenia przypominają SQL Można stosować do tablic, kolekcji, dokumentów XML, źródeł danych ADO.NET (bazy danych) i implementować w swoich obiektach! Dostępny w .NET Framework 3.5 / C# 3.0 / Visual Studio 2008
14 LINQ – przykłady: int[] numbers = { 5, 4, 1, 3, 9, 8, 6, 7, 2, 0 };var numsPlusOne = from n in numbers select n + 1; List products = GetProductList(); var productNames = from p in products select p.ProductName; int[] numbers = { 5, 4, 1, 3, 9, 8, 6, 7, 2, 0 }; var lowNums = from n in numbers where n < 5 select n; string[] digits = { "zero", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine" }; var sortedDigits = from d in digits orderby d.Length, d select d;
15 DEMO #1 Zastosowanie Visual Studio 2008, LINQ i Windows Form
16 WPF i XAML WPF – Windows Presentation FoundationNowe API do tworzenia interfejsów użytkownika Grafika wektorowa Wykorzystanie sprzętu graficznego (GPU) XAML - Extensible Application Markup Language Język oparty o XML Opis wyglądu i zachowania interfejsu przez znaczniki Korzyści?
17 DEMO #2 Zastosowanie Visual Studio 2008, Exporession Blend 2 i WPF
18 Pytania?
19 Dziękuję za uwagę! Kontakt: [email protected]