development
Geschiedenis
ASP
o Gelanceerd in 1996
o ‘klassieke’ ASP
o Dynamische webpagina’s
.asp
o VBScript
Enkel code tussen HTML
ASP.NET webforms
o Gelanceerd in 2002
o Introductie .Net Framework
o Abstractie boven ‘web development’
o Webpagina’s maken was gelijkaardig aan Windows applicaties maken
Drag&Drop van controls
o Code behind die programmacode bevat
VB.Net of C#
o .aspx
ASP.NET MVC
o Gelanceerd in 2009
o Problemen van webforms wegwerken
Voorzien van volledige controle over HTML/CSS met clean code
Model-View-Controller
Beter testbaar
Open source maken wat leidt tot veel updates en extensies
ASP.NET core
, o Gelanceerd in 2016
o Cross platform
Applicaties draaien op zowel Windows, Linux als MacOS
o Open source
o Geoptimaliseerd voor cloud
o Hosting met ISS of self-hosting mogelijk
o Niet afhankelijk van .Net Framework
o Gebruik van Dependency Injection
Project aanmaken
STAP
1
STAP
2
2
,STAP
3
Inhoud project
wwwroot
o Afbeeldingen
o CSS
o Javascript
Controllers
o C# Klassen voor afhandeling requests
Views
o Pagina’s die omgevormd worden naar HTML
Models
o C# Klassen voor structuur van objecten
Program.cs
o Startpunt van applicatie + settings
Uitvoeren project
Via IIS Express (of eigen project) met debugging
o F5 of play
Zonder debuggen
o CTRL + F5
o Code aanpasbaar zonder complete rebuild
3
, MVC Patroon
Model-View-Controller
Design pattern
o Best practices die structuur aanpakken binnen project
Separation of concern
o Opsplitsen van code
o Elk onderdeel bevat enkel code waarvoor deze verantwoordelijk is
Voordelen met MVC
o Beter testbaar
o Beter onderhoudbaar
o Eenvoudiger te updaten
Onderdelen
o Controller
Handelt aanvragen van de gebruiker af adhv Routing en Action
Methods
Haalt nodige data op, toont juiste pagina inhoud
o View
Toont een User Interface (UI) van de applicatie
Bestaat uit Razor code gecombineerd met HTML, CSS, JS
o Model
Bevat data die doorheen de applicatie behandeld word
Gebeurt aan de hand van C# klassen per onderwerp
o ViewModel
Bevat data voor specifieke View
Gebeurt aan de hand van C# klassen per View
4