Platformy programistyczne:.net i Java WYKŁ AD 3 (6): WPROWADZENIE DO PL ATFORMY.NET / JĘZYK C#

Podobne dokumenty
Platformy programistyczne:.net i Java WYKŁ AD 3: WPROWADZENIE DO PL ATFORMY.NET / JĘZYK C#

Platformy programistyczne:.net i Java WYKŁ AD 3: WPROWADZENIE DO PL ATFORMY.NET / JĘZYK C#

Podstawy programowania. Wprowadzenie

Tworzenie cross-platformowych aplikacji w Xamarin.Forms

Tworzenie aplikacji Web Alicja Zwiewka. Page 1

Dotacje na innowacje. Inwestujemy w waszą przyszłość.

Dariusz Brzeziński. Politechnika Poznańska, Instytut Informatyki

Projekt: Mikro zaprogramowane na sukces!

Czym jest Java? Rozumiana jako środowisko do uruchamiania programów Platforma software owa

Studia podyplomowe. Programowanie na platformie Microsoft Visual Studio.NET

Microsoft IT Academy kurs programowania

Budowa aplikacji ASP.NET z wykorzystaniem wzorca MVC

4 Web Forms i ASP.NET Web Forms Programowanie Web Forms Możliwości Web Forms Przetwarzanie Web Forms...152

ADO.NET to zestaw klas umożliwiających odczyt i obróbkę danych z różnych źródeł zgodny z platformą.net i posiadający wszystkie jej cechy:

C# 6.0 : kompletny przewodnik dla praktyków / Mark Michaelis, Eric Lippert. Gliwice, cop Spis treści

Rok akademicki: 2012/2013 Kod: ZIE s Punkty ECTS: 3. Poziom studiów: Studia I stopnia Forma i tryb studiów: -

Przygotowanie do nowoczesnego programowania po stronie przeglądarki. (HTML5, CSS3, JS, wzorce, architektura, narzędzia)

Log. Ponieważ usługa ma ograniczony interfejs użytkownika, powinna posługiwać się LOG iem Dodajemy do projektu obiekt EventLog

Podstawy programowania w Qt4

Firebird Alternatywa dla popularnych darmowych systemów bazodanowych MySQL i Postgres

Tworzenie natywnych aplikacji na urządzenia mobilne - PhoneGap Tomasz Margalski

Poznaj ASP.NET MVC. Kamil Cieślak Microsoft Student Partner

Języki i paradygmaty programowania doc. dr inż. Tadeusz Jeleniewski

Tajniki C# i.net Framework : buduj wydajne aplikacje dzięki zaawansowanym funkcjom języka C# i architektury.net. / Marino Posadas.

Programowanie obiektowe

Metodyka programowania. Podstawy C#

Wprowadzenie db4o - podstawy db4o - technikalia Przydatne wiadomości. Wprowadzenie. db4o. Norbert Potocki. 1 czerwca Norbert Potocki db4o

C# /.NET. Copyright by 3bird Projects 2018,

T O M A S Z N I T K A

JAVA. Java jest wszechstronnym językiem programowania, zorientowanym. apletów oraz samodzielnych aplikacji.

Krótka Historia. Co to jest NetBeans? Historia. NetBeans Platform NetBeans IDE NetBeans Mobility Pack Zintegrowane moduły. Paczki do NetBeans.

1 Wprowadzenie do J2EE

NASZA MISJA. wszystkie nasze dzialania sfokusowane sa na efektywną, partnerską współprace.

Produktywne tworzenie aplikacji webowych z wykorzystaniem Groovy i

MetaPack IT Academy Programista, Technologie, ecommerce. Dariusz Cebernik CTO, MetaPack Poland

Załącznik nr 1 do zapytania ofertowego nr 1/POKL/2015

Leonard G. Lobel Eric D. Boyd. Azure SQL Database Krok po kroku. Microsoft. Przekład: Marek Włodarz. APN Promise, Warszawa 2014

Google Android. Opracował Maciej Ciurlik

Windows Mobile. Andy Wigley, Daniel Moth, Peter Foot, Microsoft Mobile Development Handbook, Microsoft Press 2007

Założenia projektowe dla zapytania ofertowego EAK_ZA_01/2015

ASP.NET MVC. Grzegorz Caban 20 stycznia 2009

Wstęp Budowa Serwlety JSP Podsumowanie. Tomcat. Kotwasiński. 1 grudnia 2008

Warstwa integracji. wg. D.Alur, J.Crupi, D. Malks, Core J2EE. Wzorce projektowe.

Budowanie aplikacji biznesowych przy użyciu. Presentation Foundation i wzorca MVVM

Paweł Rajba

Budowanie interfejsów do baz danych

Typy przetwarzania. Przetwarzanie zcentralizowane. Przetwarzanie rozproszone

Początki Javy. dr Anna Łazińska, WMiI UŁ Podstawy języka Java 1 / 8

Programowanie w języku Java. Wykład 13: Java Platform, Enterprise Edition (Java EE)

Komputery przemysłowe i systemy wbudowane

Środowiska i platformy programistyczne

Opis. Wykład: 30 Laboratorium: 30

Oracle PL/SQL. Paweł Rajba.

Java - wprowadzenie. Programowanie Obiektowe Mateusz Cicheński

Projekt współfinansowany przez Unię Europejską z Programu Operacyjnego Innowacyjna Gospodarka na lata ZAMAWIAJĄCY:

Projekt: Autoryzowane kompetencje podstawą rozwoju śląskich MŚP Opis autoryzowanych szkoleń Microsoft planowanych do realizacji w ramach projektu

Projekt inżynierski uwagi

Platformy programistyczne:.net i Java L ABORATORIUM 7,8: HACKATHON - JTTT

Programowanie Komponentowe WebAPI

Kurs ASP.NET ASP.NET CORE APLIKACJE WEBOWE

Instrukcja tworzenia aplikacji EE na bazie aplikacji prezentowanej na zajęciach lab.4 z PIO umożliwiająca przez sieć dostęp wielu użytkownikom.

SiR_13 Systemy SCADA: sterowanie nadrzędne; wizualizacja procesów. MES - Manufacturing Execution System System Realizacji Produkcji

Spis treści. oraz Microsoft Visual Studio Wstęp... xiii. Część I Wprowadzenie do języka Microsoft Visual C# 1 Wprowadzenie do języka C#...

Programowanie współbieżne i rozproszone

Podyplomowe Studium Programowania i Zastosowań Komputerów. Szczegółowe programy modułów tematycznych

Instalacja SQL Server Express. Logowanie na stronie Microsoftu

Podyplomowe Studium Informatyki w Bizniesie Wydział Matematyki i Informatyki, Uniwersytet Łódzki specjalność: Tworzenie aplikacji w środowisku Oracle

Wykład V. Rzut okiem na języki programowania. Studia Podyplomowe INFORMATYKA Podstawy Informatyki

Automatyzacja Testowania w WEB 2.0

Robert Szmurło. Projektowanie Graficznych Interfejsów Użytkownika

Wstęp... ix. 1 Omówienie systemu Microsoft Windows Small Business Server

Uniwersytet Łódzki Wydział Matematyki i Informatyki, Katedra Analizy Nieliniowej. Wstęp. Programowanie w Javie 2. mgr inż.

NIEZAWODNE ROZWIĄZANIA SYSTEMÓW AUTOMATYKI. asix. Wymagania programowe systemu asix Pomoc techniczna

Bezpieczne udostępnianie usług www. BłaŜej Miga Zespół Bezpieczeństwa PCSS

Programowanie w środowiskach graficznych. Wykład 1 OS, Podstawy Windows API

Identity Management w Red Hat Enterprise Portal Platform. Bolesław Dawidowicz

Informacje wstępne Autor Zofia Kruczkiewicz Wzorce oprogramowania 4

Technologie Komponentowe. Piotr Łukasik p /

Architektura mikroserwisów na platformie Spring IO

- dodaj obiekt tekstowy: /** Maciej */ Stage { title : "First JavaFX App" scene: Scene { width: 300 height: 300 content: [ ] } }

Grzegorz Ruciński. Warszawska Wyższa Szkoła Informatyki Promotor dr inż. Paweł Figat

Mapowanie obiektowo-relacyjne z wykorzystaniem Hibernate

Języki programowania do zastosowań biomedycznych

JavaFX. Technologie Biznesu Elektronicznego. Wydział Informatyki i Zarządzania Politechnika Wrocławska

Przetwarzanie danych w chmurze

IT Camp Junior Java Developer. Cel kursu

Szczegółowy opis zamówienia:

Serwery Aplikacji "CC" Grzegorz Blinowski. tel (22) ; faks (22)

Języki i paradygmaty programowania - 1

Programuj w języku C# i zarabiaj na swoich aplikacjach! Programowanie w Visual Studio 2013 to czysta przyjemność!

egroupware czy phpgroupware jest też mniej stabilny.

edycja 20 opracowany zgodnie z Zarządzeniami Wewnętrznymi PWr. nr ZW 124/2017 i 112/2017 i 113/2017

Efektywne tworzenie aplikacji webowych z wykorzystaniem AngularJS, HTML5 i JavaScript

Platfomry programistyczne:.net i Jawa L ABORATORIUM 3: HACKATHON - JTTT

SignalR. Komunikacja w czasie rzeczywistym z SignalR. Mateusz Nostitz-Jackowski

Politechnika Poznańska, Instytut Informatyki, TWO/GE. Programowanie dla ios

Serwery LDAP w środowisku produktów w Oracle

NIEZAWODNE ROZWIĄZANIA SYSTEMÓW AUTOMATYKI. Asix.Evo. Przeglądarkowa wersja aplikacji Asix.Evo znane problemy. Pomoc techniczna

Technologie dla aplikacji klasy enterprise. Wprowadzenie. Marek Wojciechowski

Transkrypt:

Platformy programistyczne:.net i Java WYKŁ AD 3 (6): WPROWADZENIE DO PL ATFORMY.NET / JĘZYK C#

W poprzednim odcinku Git ciągle jest git.net Framework wprowadzenie.net is all around Ala ma kota na Ubuntu Pierwszy raz na studiach była szansa dotknąć prawdziwego rezystora i diody Malinowy posmak nic nie wybychło

Agenda Ile zostało w głowach Powiew świeżości w świecie.net-a Technologie.NET Język C# - początek

Powiew świeżości

Co to takiego? Powerful Open Source Development.NET

Coś się zmieniło

There are only two hard things in Computer Science: cache invalidation and naming things PHIL KARLTON

Scott Hanselman, 19 stycznia 2016: So we're changing the name and picking a better version number. ASP.NET 5 is now ASP.NET Core 1.0..NET Core 5 is now.net Core 1.0. Entity Framework 7 is now Entity Framework Core 1.0 or EF Core 1.0 colloquially. Why 1.0? Because these are new. The whole.net Core concept is new.

Source: https://docs.microsoft.com/en-us/dotnet/articles/standard/components

Środowiska uruchomieniowe.net Framework pełna wersja środowiska, kompatybilna z poprzednimi, zawarta w Windows 10. Rozwijana od 2002 roku. Implementuje.NET Standard Library. Zawiera dodatkowe API specyficzne dla systemu Windows przez to obsługuje WPF i Windows Forms..NET Core nowy framework, open source, modularny, docelowo wspierany na różnych platformach (Windows, Linux, Mac OSX). Wykorzystywany przez aplikacje ASP.NET Core oraz UWP. Implementuje.NET Standard Library Mono for Xamarin środowisko wykorzystywane przez aplikacje Xamarin. Historycznie powstało jako open sourcowa wersje standardowego.net Framework. Implementuje.NET Standard Library. Zoptymalizowana pod kątem aplikacji na środowiska ios i Android.

.NET Standard Library

.NET Standard Zestaw API, które będą implementowane przez wszystkie platformy Usystematyzowanie i ułatwienie pracy deweloperom: ma na celu rozwiązania problemu współdzielenia bibliotek/kodu pomiędzy różnymi platformami.net Standard 2.0 zastąpi PCL (Portable Class Libraries) jako narzędzie do budowania cross-platformowych bibliotek Więcej info: https://docs.microsoft.com/en-us/dotnet/articles/standard/library

Wsparcie narzędziowe Kompilatory Roslyn kompilator do kodu pośredniego (IL), open source, wykorzystywany zarówno w przypadku.net Framework oraz.net Core RyuJIT nowy kompilator Just-in-Time dla środowiska.net x64, zoptymalizowany ze względu na szybkość uruchamiania i działania, wspiera instrukcje SIMD (singe instructions, multiple data).net Native kompiluje kod C# do natywnego kodu maszynowego uruchamianego przy minimalistycznej wersji CLR.NET project system ("csproj", "vbproj", "fsproj") MSBuild platformowa budowania projektów NuGet Microsoftowy, open-sourcowy manager pakietów.net CLI

RyuJIT "Green Dragon Book (front)" by Source (WP:NFCC#4). Licensed under Fair use via Wikipedia - http://en.wikipedia.org/wiki/file:green_dragon_book_(front).jpg#mediaviewer/file:green_dragon_book_(front).jpg

http://blogs.msdn.com/b/bethmassi/archive/2015/02/25/understanding-net-2015.aspx

Co już jest Open Source? http://blogs.msdn.com/b/bethmassi/archive/2015/02/25/understanding-net-2015.aspx

Technologie w.net Framework

https://www.microsoft.com/en-us/download/details.aspx?id=44228

Poster dziś

UI - ASP.NET Aplikacja uruchamiana jest w środowisku Windows IIS (Internet Information Services) Aplikacja jest dostępna przez dowolną przeglądarkę WWW W porównaniu do aplikacji typu rich-client: Użytkownicy nie muszą nic dodatkowo instalować Aplikacja dostępna jest na dowolnej platformie Wszelkie zmiany muszą być aktualizowane tylko po stronie serwera Infrastruktura ASP.NET przewiduje kilka sposobów tworzenia aplikacji webowych

UI - ASP.NET Websites Services Web Forms MVC MVC + Web Pages + Web API SignalR ASP.NET

UI - Windows Forms Najstarsza i jeszcze popularna technologia tworzenia aplikacji typu rich-client w.net Framework Pozwala na szybkie i proste tworzenie aplikacji desktopowych Wyświetlanie niestandardowych kontrolek jest oparte na GDI+, co skutkuje niską wydajnością Technologia nie jest przystosowana do dynamicznego zmiany layoutu Aktualnie wypierana przez WPF, który będzie (być może) wypierany przez UWP

UI - Silverlight Technicznie rzecz biorąc Silverlight jest osobnym frameworkiem, który zawiera w sobie podzbiór kluczowych elementów Aplikacja może być uruchamiana jako plugin przeglądarki Model graficzny jest podzbiorem WPF (Windows Presentation Foundation) Technologia na wymarciu z punktu widzenia tworzenia aplikacji Web

UI - WPF Windows Presentation Foundation wprowadzone w.net Framework 3.0 Posiada wbudowane mechanizmy do bardziej wyrafinowanych operacji graficznych, transformacji, renderingu 3D, obsługi przeźroczystości O wiele większe wsparcie (w porównaniu do Windows Forms) przy tworzeniu dynamicznych layoutów (bardzo ważne przy internacjonalizacji aplikacji) Wykorzystuje sprzętowe wsparcie do renderowania zawartości (DirectX). Jednak bez niego wymaga dużych zasobów i może działać wolniej Interfejs użytkownika jest definiowanych w XAML-u

UI - Universal Windows Platform Windows 10 introduces the Universal Windows Platform (UWP), which provides a common app platform available on every device that runs Windows 10. The UWP provides a guaranteed core API across devices. Więcej info: https://docs.microsoft.com/en-us/windows/uwp/get-started/universal-application-platform-guide

Demo Time! Universal Windows Platform rules!

Backend ADO.NET Zunifikowany sposób dostępu do danych w.netcie. Następca ADO, lecz zaimplementowany od podstaw Wyróżniane są dwie warstwy: Provider level mechanizmy dostępu do bazy danych, natywne wsparcie dla MS SQL Server, Oracle, OLE-DB, ODBC Model DataSet mechanizm utrzymywania kopii danych w pamięci, co pozwala zmniejszyć liczbę odwołań do serwera bazy, zwiększyć skalowalność oraz wydajność aplikacji typu rich-client Dodatkowe mechanizmy dostępu zawierające ORM (Object/relational mapper pozwala na automatyczne mapowanie obiektów do wierszy w bazie danych): LINQ to SQL- prostszy, szybszy, już coraz rzadziej używany Entity Framework bardziej elastyczny, nadrobił braki i teraz to podstawowy ORM

Backend ADO.NET

Język C#

Wbudowana obiektowość w C# C# z założenia implementuje paradygmaty programowania obiektowego: enkapsulację, dziedziczenie i polimorfizm Jednolity system typów (Common Type System) typ jest podstawowym elementem, który enkapsuluje dane i funkcje. Wszystkie typy dziedziczą z jednego podstawowego typu Obiektowość w C# nie ogranicza się do klas. W szczególności wyróżnia się interfejsy, które jedynie opisują elementy klasy. Klasy mogą implementować wiele interfejsów. CTS definiuje 5 kategorii typów: klasy, struktury, typy wyliczeniowe (enumerations), intefejsy, delegaty

Common Type System https://msdn.microsoft.com/en-us/library/2hf02550(v=vs.90).aspx

Is C# a strongly typed or a weakly typed language? Yes Instancje poszczególnych typów mogą na siebie oddziaływać jedynie przez protokół, jaki udostępniają (type safety) C# co do zasady wspiera typowanie statyczne język wymusza bezpieczeństwo typów na etapie kompilacji (statically typed) C# i środowisko.net chronią pamięć przed nieprawidłowym dostępem i nieprzewidzianymi operacji (memory safe) Wbudowane ograniczenia na bezpieczeństwo typów mogą być świadomie obchodzone, np..: Operator rzutowania typów pozwala nadpisać interpretację typu Typ dynamic sprawdzenie typów jest wyłączone w trakcie kompilacji Sekcja unsafe pozwala bezpośrednio operować na wskaźnikach bez sprawdzania ich typów