Technologie internetowe ASP.NET Core. Paweł Rajba

Podobne dokumenty
Podstawy wzorca MVC MODEL KON- TROLER WIDOK. Odpowiada za wyświetlenie danych użytkownikowi. Zawiera dane aplikacji oraz jej logikę.

Kurs ASP.NET ASP.NET CORE APLIKACJE WEBOWE

Budowa aplikacji ASP.NET z wykorzystaniem wzorca MVC

Architektura MVC w ASP.NET. Autor wykładu: Marek Wojciechowski

Microsoft.NET: ASP.NET MVC + Entity Framework (Code First)

ASP.NET MVC. Grzegorz Caban 20 stycznia 2009

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

ASP.NET MVC. Autor wykładu: Marek Wojciechowski

Systemy internetowe ASP.NET mgr inż. Andrzej Sobecki

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


ASP.NET MVC. Podstawy. Zaawansowane programowanie internetowe Instrukcja nr 3

Tworzenie witryn internetowych PHP/Java. (mgr inż. Marek Downar)

Realizacja Aplikacji Internetowych 2013 laboratorium K. M. Ocetkiewicz

Wzorce architektoniczne

Microsoft.NET: ASP.NET MVC + Entity Framework (Code First)

Program szkolenia: Symfony, nowoczesny framework PHP


Nowy projekt: - ASP.NET MVC 3 Web Application - [Other Languages] Visual C# Web ASP.NET MVC 3 Web Application - okno dialogowe:

Platformy Programowania

Realizacja Aplikacji Internetowych 2012 laboratorium K. M. Ocetkiewicz

Tajniki ASP.NET Core 2.0 : wzorzec MVC, konfiguracja, routing, wdrażanie i jeszcze więcej / Ricardo Peres. Warszawa, 2018.

4 AS SP.NET MVC. Widok. Zaawansowane programowanie internetowe Instrukcja nr 4

WICKET VS. DJANGO. Leszek Gawron vs. Michał Leszczyński

Instrukcja laboratoryjna cz.6

Ewolucja projektowania aplikacji w PHP na bazie frameworka Symfony 2

Infrastruktura aplikacji WWW

Modele danych walidacja widoki zorientowane na model

Omówienie wzorców wykorzystywanych w Prism 5.0. Dominika Różycka

Wybrane działy Informatyki Stosowanej

Realizacja Aplikacji Internetowych 2013 laboratorium cz. 2 K.M. Ocetkiewicz

Narzędzia podnoszące jakość procesu wytwarzania i wdrażania

Tworzenie cross-platformowych aplikacji w Xamarin.Forms

Microsoft.NET: LINQ to SQL, ASP.NET AJAX

Instrukcja tworzenia aplikacji bazodanowej opartej o technologię Oracle i platformę.net

Tworzenie i wykorzystanie usług sieciowych

Jarosław Kuchta Administrowanie Systemami Komputerowymi. Internetowe Usługi Informacyjne

Programowanie komponentowe 5

Tworzenie aplikacji Web Alicja Zwiewka. Page 1

Full Stack JavaScript z Angular i Nest. Dni: 5. Opis: Adresaci szkolenia

- Narzędzie Windows Forms. - Przykładowe aplikacje. Wyższa Metody Szkoła programowania Techniczno Ekonomiczna 1 w Świdnicy

Plan. Aplikacja. Architektura aplikacji. Architektura aplikacji Tworzenie aplikacji Application Builder podstawy

Walidacja po stronie serwera Walidacja po stronie klienta:

Programowanie MorphX Ax

Widoki zagnieżdżone, layout. 1. Wprowadzenie Repozytoria danych

WYKŁAD 1 ANGULARJS CZĘŚĆ 1

REFERAT O PRACY DYPLOMOWEJ

media Blitz wydajne sytemy szablonów

Produktywne tworzenie aplikacji webowych z wykorzystaniem Groovy i

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

SZKOLENIE TWORZENIE SYSTEMÓW

Wzorce prezentacji internetowych

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

MVVM Light Toolkit. Julita Borkowska

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

Zaawansowane aplikacje internetowe - laboratorium

Zaawansowany kurs języka Python

Praktyczne wykorzystanie mechanizmów zabezpieczeń w aplikacjach chmurowych na przykładzie MS Azure

5 AS SP.NET MVC. Walidacja danych. Zaawansowane programowanie internetowe Instrukcja nr 5

PROJEKTOWANIE APLIKACJI INTERNETOWYCH

Microsoft.NET: ASP.NET MVC + Entity Framework (Model First)

Program szkolenia: Tworzenie aplikacji w Ruby on Rails z wykorzystaniem zwinnych metodyk

Instrukcja laboratoryjna cz.3

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

Szkolenie. IBM Lotus - Podstawy projektowania aplikacji w Domino Designer 8.5. Strona szkolenia Terminy szkolenia Rejestracja na szkolenie Promocje

Programowanie i projektowanie obiektowe

Ruby i Ruby on Rails. Mateusz Drożdżyński

Walidacja danych w ASP.NET MVC

Kurs języka Ruby. Ruby on Rails ActionPack

Tworzenie witryn internetowych PHP/Java. (mgr inż. Marek Downar)

Laboratorium 1 Temat: Przygotowanie środowiska programistycznego. Poznanie edytora. Kompilacja i uruchomienie prostych programów przykładowych.

Laboratorium 1. Wzorce oprogramowania lab1, Zofia Kruczkiewicz

Szkolenie autoryzowane. MS Zaawansowany użytkownik programu SharePoint 2016

Ajax. 1. Wprowadzenie. 2. Aplikacja serwerowa

mylittlemvc Framework MVC dla ASP.NET Autor: Michał Skowronek

EPI: Interfejs Graficzny Wykład nr 4 Podstawy frameworku Rails

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

Zaawansowane Aplikacje Internetowe

Studia podyplomowe. Programowanie na platformie Microsoft Visual Studio.NET

MeetingHelper. Aplikacja Android ułatwiająca przekazywanie materiałów pomiędzy uczestnikami spotkania. Instrukcja obsługi dla programisty

MVC w praktyce tworzymy system artykułów. cz. 1

Web frameworks do budowy aplikacji zgodnych z J2EE

Scenariusz lekcji. Scenariusz lekcji 1 TEMAT LEKCJI: 2 CELE LEKCJI: 2.1 Wiadomości: 2.2 Umiejętności: 3 METODY NAUCZANIA: 4 ŚRODKI DYDAKTYCZNE:

OMNITRACKER Wersja testowa. Szybki przewodnik instalacji

Aplikacje WWW. Laboratorium z przedmiotu Aplikacje WWW - zestaw 01

Programowanie dla ios

WSTĘP DO ANDROIDA. Laboratorium 1 Systemy i aplikacje bez granic

Wykład 12. Programowanie serwera MS SQL 2005 w C#

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

Web frameworks do budowy aplikacji zgodnych z J2EE. Jacek Panachida

Wprowadzenie do programowania aplikacji mobilnych

Paweł Rajba

Podstawy programowania. Wprowadzenie

Praca w środowisku Visual Studio 2008, Visual C

Projekt warsztatów. Full Stack Developer. Autor: Kamil Wołczyk

ANALYSIS SERVICES. 1. Tworzymy połączenie ze źródłem danych. 2. Tworzymy nowy widok dla źródła danych

Transkrypt:

Technologie internetowe ASP.NET Core Paweł Rajba pawel@cs.uni.wroc.pl http://itcourses.eu/

Plan wykładu Wprowadzenie Podstawowa aplikacja Usługi i middleware Obsługa błędów Request, Response, ciastka i sesje MVC Routing, kontrolery, modele, widoki Nawigacja, Formularze, Razor Podsumowanie

Wprowadzenie ASP.NET Core to jeszcze do niedawna ASP.NET MVC 5 Najnowsze rozwiązanie do Microsoftu do tworzenia aplikacji WWW Tworzone na zasadach OpenSource Możliwość uruchomienia i tworzenia na Windows, Mac, Linux Główne narzędzia od Microsoft to Visual Studio i Visual Studio Code

Wprowadzenie Więcej detali technicznych Prosty i przejrzysty mechanizm obsługi żądań Stosuje mechanizm middleware Wbudowane mechanizmy dependency injection Niezależność od środowiska hostingowego Niemniej, wbudowana integracja z IIS Zależności zarządzane przez NuGet-a Sporo materiałów wprowadzających http://docs.asp.net/

Podstawowa aplikacja Główne składowe: Plik Startup.cs ConfigureServices Określenie services do wykorzystania w aplikacji Configure Określenie middleware do obsługi żądania Plik project.json Folder wwwroot Warto zwrócić uwagę Project w VS jest 1-1 z systemem plików

DEMO EmptyApplication

Usługi i middleware Sposób działania middleware Sporo wbudowanych Logging, Error handling, Static file server Authentication, MVC, WelcomePage Przykładowy potok: Logging, Errors, AuthN, MVC

Usługi i middleware Dodanie obsługi plików statycznych Instalacja Middleware Dodanie do konfiguracji startup.cs app.usedefaultfiles(); app.usestaticfiles(); lub app.usefileserver();

Obsługa błędów Określenie środowiska Development, Production, Obsługa błędów Pełna informacja (development) Ograniczona obsługa Przekierowanie Np. do /error Własna funkcja obsługi Np. logging a potem przekierowanie

Request, response, ciastka i sesje Obiekt context (HttpContext) ma obiekty Request Response Session Request i Response mają kolekcje Cookies

DEMO FirstExample

MVC Popularny wzorzec architektoniczny Składowe Model danych (model) Warstwa prezentacji (widok) Logika sterowania (kontroler) Cel: oddzielenie warstw Uwaga: MVC to tylko interfejs użytkownika Nie powinno być w nim logiki biznesowej

MVC Źródło: http://www.indiaosl.com/blog/wp-content/uploads/2010/01/mvc.png

MVC Dodajemy middleware (NuGet) Dodajemy do konfiguracji app.usemvcwithdefaultroute() Dodajemy service services.addmvc(); Dodajemy odpowiedni kontroler

DEMO FirstRouting

MVC: Więcej o routingu Metody app.usemvc(configureroutes) i configureroutes.maproute( ) Określenie Różnych ścieżek Parametrów domyślnych i opcjonalnych Walidacja parametrów Definicja routing kontrolerze przez atrybut [Route( )]

MVC: Więcej o kontrolerze Dodanie dziedziczenia z klasy Controller daje dużo więcej możliwości Dostęp do HttpContext Typ IActionResult i implementujące go ContentResult, FileResult, UnauthorizedResult JsonResult, RedirectResult, ViewResult oraz zwracające powyższe metody Content, File, Unauthorized, Json, Redirect, View

Przekazywanie danych do widoku Kolekcje ViewData i ViewBag ViewData Kontroler: ViewData["Message"]="Hello World!"; Widok: @ViewData["Message"] ViewBag Kontroler: ViewBag.Message= "Hello World!"; Widok: @ViewBag.Message Model Kontroler: View(model) Widok Dyrektywa: @model MvcExample.Models.Person Zmienna @Model

Modele Rodzaje modeli Business Object MvcObject (DTO) PresentationModel (ViewModel) Co jest w MVC i kiedy co stosować?

Nawigacja Html.ActionLink Html.RouteLink Url.Action Url.RouteUrl

DEMO MvcExample

Formularze Główna konstrukcja @using (Html.BeginForm()) { } Helpery @Html.LabelFor(e => e.firstname) @Html.EditorFor(e => e.firstname) @Html.ValidationMessageFor(e => e.firstname) Atrybut [HttpPost] Właściwość ModelState Przestrzeń nazw System.ComponentModel.DataAnnotations

DEMO FormSimple FormModel FormValidation

Razor Razor, czyli język szablonów Co to jest i po co to? Podstawowe elementy Views/Shared Współdzielone szablony, w tym szablony główne Plik Views/_ViewStart.cshtml Plik wykonywany przed przetworzeniem każdego widoku Domyślne ustawienia, w tym główny szablon Szablon można też wskazać w widoku @{ Layout = "~/Views/Shared/_Layout2.cshtml"; } Plik Views/_ViewImports.cshtml Import przestrzeni nazw Szablon główny Zwykle Views/Shared/_Layout.cshtml

Razor Helpery Html.* @Html.Action, @Html.Route @Html.CheckBox, @Html.Editor, @Html.Label I wiele innych TagHelpers Jak powyższe, ale składnia typu HTML Stare i nowe elementy, atrybuty typu asp-* Przykładowo: <a asp-action="edytuj" asp-route-id="@itemid">edytuj</a> <environment names="development"> </environment> <label>, <input>, <span>, <cache > I wiele innych

Razor Podstawowe kontrukcje RenderBody RenderSection Zagnieżdżanie widoków Partial views Html.Partial View components Component.InvokeAsync Layout Customers page Partial View View Component Recommended reading section

Razor Kilka wybranych konstrukcji Blok kodu @{ string s = "this is string"; } Zmienna kodowana i niekodowana @Model.Message @Html.Raw(Model.Message) Pętla i IF @foreach(var item in items) { <span>@item.prop</span> } @if (foo) { @:Plain Text is @bar }

DEMO RazorTemplates

Podsumowanie Na przykładzie ASP.NET Core zobaczyliśmy, że można na różne sposoby tworzyć dynamiczne treści Generowanie treści bezpośrednio w kodzie Prezentacja plików MVC Zwracanie samych danych lub obiektów Zwracanie całych widoków HTML

Podsumowanie Większość aplikacji składa się z podobnych elementów: Kontrolki, prezentacja danych Formularze Dostęp do bazy danych Sterowanie dostępem Logging Integracja Istotne jest, aby do powyższego wykorzystać biblioteki i gotowe rozwiązania