Zamyšlení nad metodologií Scrum aneb úvod do Scrumu, co tato metodologie požaduje a nabízí, porovnání pohledu na zdroje waterfall x scrum, vývoj SW z pohledu programátora.
Slajdy z přednášky na UHK 1.listopadu 2011. Komentář a video z dema najdete na mém blogu: http://blog.kolman.cz/2011/11/jak-naprogramovat-blog-za-18-minut.html
Zamyšlení nad metodologií Scrum aneb úvod do Scrumu, co tato metodologie požaduje a nabízí, porovnání pohledu na zdroje waterfall x scrum, vývoj SW z pohledu programátora.
Slajdy z přednášky na UHK 1.listopadu 2011. Komentář a video z dema najdete na mém blogu: http://blog.kolman.cz/2011/11/jak-naprogramovat-blog-za-18-minut.html
Technologie ASP.NET MVC je rozšiřitelnější než se na první pohled může zdát!
Pokročilejší přednáška pro ty, kteří už ASP.NET MVC někdy viděli, ukazuje, jak jednoduše upravit vestavěné routování, volání akčních metod, vyhledávání views, model binding, filtry...
Na praktických příkladech bude ukázáno, jak využitím této rozšiřitelnosti dosáhnout elegantnějšího a čistšího kódu.
Dema a videozáznam: http://wug.cz/praha/akce/595-Rozsiritelnost-ASP-NET-MVC
Video k prezentaci https://youtu.be/Hi0CSr9usn8
Dnešní zákazníci chtějí rychlé a bezchybné služby. IT týmy jsou pod tlakem efektivně tuto službu poskytovat. High level pohled na ITIL. Příklady řešení z praxe s důrazem na efektivitu a rychlost nasazení.
Technologie ASP.NET MVC je rozšiřitelnější než se na první pohled může zdát! Pokročilejší přednáška pro ty, kteří už ASP.NET MVC někdy viděli, ukazuje, jak jednoduše upravit vestavěné routování, volání akčních metod, vyhledávání views, model binding, filtry... Na praktických příkladech bude ukázáno, jak využitím této rozšiřitelnosti dosáhnout elegantnějšího a čistšího kódu.
Technologie ASP.NET MVC je rozšiřitelnější než se na první pohled může zdát!
Pokročilejší přednáška pro ty, kteří už ASP.NET MVC někdy viděli, ukazuje, jak jednoduše upravit vestavěné routování, volání akčních metod, vyhledávání views, model binding, filtry...
Na praktických příkladech bude ukázáno, jak využitím této rozšiřitelnosti dosáhnout elegantnějšího a čistšího kódu.
Dema a videozáznam: http://wug.cz/praha/akce/595-Rozsiritelnost-ASP-NET-MVC
Video k prezentaci https://youtu.be/Hi0CSr9usn8
Dnešní zákazníci chtějí rychlé a bezchybné služby. IT týmy jsou pod tlakem efektivně tuto službu poskytovat. High level pohled na ITIL. Příklady řešení z praxe s důrazem na efektivitu a rychlost nasazení.
Technologie ASP.NET MVC je rozšiřitelnější než se na první pohled může zdát! Pokročilejší přednáška pro ty, kteří už ASP.NET MVC někdy viděli, ukazuje, jak jednoduše upravit vestavěné routování, volání akčních metod, vyhledávání views, model binding, filtry... Na praktických příkladech bude ukázáno, jak využitím této rozšiřitelnosti dosáhnout elegantnějšího a čistšího kódu.
ASP.NET MVC 3 and SQL Server interoperability overview [CZ]
1. ASP.NET MVC3 a spolupráce
s MS SQL Server
Vítězslav Šimon
2. 24.02.2013 Vítězslav Šimon 2
ASP.NET MVC3
Návrhový vzor MVC
Obecné pojednání o MVC 3
Nedostatky ASP.NET WebForms
Výhody
Nevýhody
Historie
Novinky
3. 24.02.2013 Vítězslav Šimon 3
MVC
MVC je návrhový
vzor architektury,
který rozděluje
aplikační logiku do
3 prvků (Model,
View, Controller)
Vzhledem ke své
struktuře
podporuje rychlý
vývoj aplikací.
V případě
testování nebo
opravy chyby je
možno se zaměřit
jen na specifickou
část aplikace.
4. 24.02.2013 Vítězslav Šimon 4
ASP.NET MVC3
Postavena na návrhovém vzoru MVC
Vychází z MS .NET Framework a MonoRail
Alternativa k ASP.NET WebForms
Odstraňuje nedostatky WebForms
Zdrojový kód je překládán do formátu
DLL
Nutný .NET Framework verze 4.0
Microsoft Public License (Ms-PL,
http://www.opensource.org/licenses/ms-pl.htm
)
Microsoft oficiálně dodává pouze svůj kód
a schválený kód 3. strany.
5. 24.02.2013 Vítězslav Šimon 5
Nedostatky ASP.NET WebForms
Velikost ViewState
Životní cyklus Web stránky (změny
na entitách v run time, PostBack)
Nedotažené code behind
Omezený přístup k částem HTML
kódu
Abstrakce – neúplnost, omezení
Horší možnosti testování
6. 24.02.2013 Vítězslav Šimon 6
Výhody ASP.NET MVC3
MVC architektura
Abstrakce základního kódu (.NET)
Rozšiřitelnost (a nahraditelnost kódu)
Testovatelnost (unit testy, OOP, průvodci)
Striktní řízení HTML a HTTP (vrstva)
ViewState není ve web stránce
Routování
Integrovaný jQuery
Podpora AJAXu
MVC3 může být s WebForms v 1 aplikaci
7. 24.02.2013 Vítězslav Šimon 7
Nevýhody ASP.NET MVC3
Překotný vývoj si někdy vynutil (2.0
-> 3.0) zásadnější zásahy do kódu
Slabší podpora některých produktů
třetích stran (TinyMCE)
8. 24.02.2013 Vítězslav Šimon 8
Historie ASP.NET MVC3
Říjen 2007 - ALT.NET konference, Austin,
Texas, viceprezident Microsoftu Scott
Guthrie představil koncept nové platformy
pro vývoj WA postavenou na MVC a jádru
ASP.NET. Platforma byla od základů nově
navržena s ohledem na rozvoj technologií
(Ruby on Rails) a nedostatky WebForms.
2009 - ASP.NET MVC 1.0
2010 - ASP.NET MVC 2.0 (WebForms 4.0)
2011 - ASP.NET MVC 3.0
9. 24.02.2013 Vítězslav Šimon 9
Novinky ASP.NET MVC3
Razor View Engine (v předchozích
standardní ASPX stránky, má být
výchozí pro budoucí vývoj) – lepší
podpora JSON, JavaScriptu, jQuery
10. 24.02.2013 Vítězslav Šimon 10
Implementační detaily
Aplikace MVC vzoru v MVC 3
Průběh zpracování požadavku
Struktura MVC3 projektu
Struktura zdrojových souborů
11. 24.02.2013 Vítězslav Šimon 11
ASP.NET MVC 3
http://msdn.microsoft.com/en-us/library/dd381412%28v=vs.98%
ASP.NET MVC 3 Framework, Third Edition
13. 24.02.2013 Vítězslav Šimon 13
Průběh zpracování požadavku
1. Přijetí požadavku
z prohlížeče
2. Určení cesty
3. Aktivace
kontroleru a
vyvolání jeho
metody
4. Vyrenderování
View s použitím
obsahu ViewData
1
2
3
4
4
Sarang Datye, http://www.dotnetbetaworks.com
14. 24.02.2013 Vítězslav Šimon 14
Struktura MVC3 projektu
File/New/Project…/Web/
1. Properties –informace o
projektu, profilech pro překlad,
informace o postupu nasazení.
2. References - seznam všech
modulů (assembly), které
aplikace požaduje pro svou
činnost.
3. AppData – veškeré souborové
datové zdroje (soubory databází
na disku) se kterými aplikace
pracuje (soubory na DB serveru
jsou uloženy ve zvláštní složce)
4. Content – veškeré soubory
týkající se obsahové části
daného webu (CSS styly,
obrázky, HTML stránky)
15. 24.02.2013 Vítězslav Šimon 15
Struktura MVC3 projektu
5. Controllers – veškeré
kontrolery, které zajišťují práci
aplikace (logika zpracování akcí)
6. Models – veškeré modely,
které reprezentují data
v databázi, která má webová
aplikace řídit.
7. Scripts – veškeré Java (a jiné)
scripty, které jsou v programu
využity.
8. Views – složka obsahující
položky s názvy kontrolerů a
v nich jsou umístěny Razor
šablony (cshtml) pro
zobrazování dat zaslaných
akcemi kontroleru koncovému
uživateli v žádoucí formátu.
16. 24.02.2013 Vítězslav Šimon 16
Struktura MVC3 projektu
9. Global.asax(.cs) –
obsahuje odkaz na code
behind soubor, název code
behind třídy a jazyk
daného kódu. Dále
obsahuje nastavení
chybových filtrů, routování
(podle něj se zpracovávají
URL a určuje se poté, který
kontroler (a jeho funkce)
bude danou akci
zpracovávat). Volitelně
může obsahovat i další
věci, například reakci na
chybu v aplikaci.
17. 24.02.2013 Vítězslav Šimon 17
Struktura MVC3 projektu
10. Web.config – obsahuje
řadu konfiguračních voleb:
Seznam databázových
zdrojů a jejich
specifických jmen pro
aplikaci (sekce
connectionStrings)
Nastavení fungování
JavaScriptu
(UnobtrusiveJavaScriptEn
abled)
Nastavení validace na
straně klienta
(ClientValidationEnabled)
Nastavení kulturních
zvyklostí (system.web ->
globalization culture)
Seznam přidaných modulů
(aplikací a knihoven,
(assembly)).
Seznam přidaných
jmenných prostorů
(Namespaces)
Nastavení způsobu
přihlašování a rolí
Konfiguraci Webového
serveru (IIS)
11. ViewsWeb.config -
obsahuje řadu
konfiguračních voleb
zaměřených především na
práci se šablonami:
Seznam přidaných
jmenných prostorů
(Namespaces)
Seznam HTTP handlerů
(pravidla pro postup při
zpracování URL při přístupu
do složky Views)
Volby Razor View Engine
18. 24.02.2013 Vítězslav Šimon 18
Struktura MVC3 projektu
Části 3 – 8 jsou adresáře na disku,
které jsou uloženy v adresáři
projektu.
Ve výchozím nastavení jsou části 5
a 6 součástí překladu, část 8
(Views) je interpetována a poté
částečně překládána do paměti.
Pohled na soubory projektu na
disku je na následujícím obrázku.
26. 24.02.2013 Vítězslav Šimon 26
ASP.NET MVC3 a MS SQL Server
Metody přístupu k datům v .NET
Framework
Connection strings SQL Server 2008
Entity Framework
27. 24.02.2013 Vítězslav Šimon 27
Metody přístupu k datům v .NET
1. ADO.NET
2. Language Integrated Query (LinQ)
3. ORM rámec - Entity Framework
28. 24.02.2013 Vítězslav Šimon 28
Přístup k datům: ADO.NET
Musí být napsán kód pro
(od/při)pojené prostředí;
System.Data.Common
–> vlastní vrstva přístupu k datům
Standardní funkce Model
35. 24.02.2013 Vítězslav Šimon 35
Entity Framework
Automatizovaně generovaný, dynamický
rámec ORM
Na pozadí vygeneruje dotaz, převezme
výsledek a převede jej do kolekcí instancí
tříd reprezentujících data.
Zpomalení kvůli dynamickému generování
dotazu je kompenzováno metodami:
Connection pooling, Lazy load, cílený
UPDATE, explicitní uzamykání, úrovně
izolace transakcí
36. 24.02.2013 Vítězslav Šimon 36
Porovnání
ADO.NET LinQ Entity Fr
Kód entit
ručně /
Class
Diagram
LinQ
Diagram
+ CBH
Entity
Diagram
+ CBH
Kód práce
s daty
ručně autogen. autogen.
Data v
objektech
ručně ano ano
CBH = Code behind, kód generovaný na pozadí
autogen. = automaticky generovaný, napsat jen volání
37. 24.02.2013 Vítězslav Šimon 37
Connection strings SQL Server 2008
Standard Security
Server=[SERVER_IP_ADDRESS];Database=[DB_
NAME];User
Id=[USER_NAME];Password=[PASSWORD];
SQL Server Express
Server=.SQLExpress;AttachDbFilename=[PATH]
[DB_FILE].mdf;Database=[DB_NAME];Trusted_C
onnection=Yes;
SQL Server Express (App_Data)
Server=.SQLExpress;AttachDbFilename=
|DataDirectory|
[DB_FILE].mdf;Database=[DB_NAME];Trusted_C
onnection=Yes;
Více connection stringů (nejen pro Server 2008)
na: http://www.connectionstrings.com/
38. 24.02.2013 Vítězslav Šimon 38
Závěrečné informace
Budoucnost ASP.NET MVC
Zdroje
Doporučené zdroje pro zájemce
39. 24.02.2013 Vítězslav Šimon 39
Budoucnost ASP.NET MVC
26.10.2012 vydána ASP.NET MVC 4 Beta
Zapouzdření a minimalizace (konstrukce <script
src=„scripts/js„></script>, podobně CSS)
DB migrace – novější EF
Web API – platforma pro HTTP RESTful služby a
HTTP APIs
Web pro mobilní zařízení – adaptivní renderování
(CSS), módy zobrazení (dle zařízení), šablony pro
mobilní zařízení (jQuery mobile)
Vylepšení Razoru – posíleno zapouzdření HTML
Web sockets a asynchronní komunikace –
konstrukty: public async [metoda] { … result =
await [inst.metoda]Async(…); }
http://scottgu.blob.core.windows.net/files/ASP.NET_MVC_4.pptx
40. 24.02.2013 Vítězslav Šimon 40
Zdroje
A. Freeman, S. Sanderson: Pro
ASP.NET MVC 3 Framework, Third
Edition, Apress, 2011
ISBN-13 (pbk.): 978-1-4302-3404-3
ISBN-13 (electr.): 978-1-4302-3405-0
www.apress.com
www.asp.net/mvc/
41. 24.02.2013 Vítězslav Šimon 41
Doporučené zdroje pro zájemce
Tutoriály k ASP.NET MVC
http://www.asp.net/mvc/tutorials
Guthrie, Scott,
http://weblogs.asp.net/scottgu/
GALLOWAY, Jon, http://
weblogs.asp.net/jgalloway/
HANSELMAN, Scott,
http://www.hanselman.com/blog/
WILSON, Brad, http://
bradwilson.typepad.com/blog/
MonoRail – od roku 2003, open source (zcela mimo Redmond), součást Castle projektu
MonoRail byl prototypem pro ASP.NET MVC 1.0.
Po vydání ASP.NET MVC 1.0 (a nástupnických) již o MonoRailu není (tak) slyšet.