HTML

HTML is de afkorting van HyperText Markup Language. HTML is de taal die zorgt voor de opmaak van webpagina’s.

De HTML is in het Engels en de code is opgebouwd uit tags. Een tag staat altijd tussen haken < en >. Bijvoorbeeld : met de tag <b> zet je een tekst in het vet (b van bold).

Meestal komen de codes voor in paren, namelijk een tag om te openen en een tag om af te sluiten. De tag om af te sluiten wordt voorafgegaan door een schuine streep </b>.

Tags zijn opgebouwd uit een element, een attribuut en een waarde. Bijvoorbeeld: <p align=”center”> om de alinea te centreren.

  • p is het element, namelijk alinea;
  • align is het attribuut;
  • center is de waarde. De waarde plaatsen we tussen aanhalingstekens.

De meeste tags echter bestaan enkel uit een element. De tag om af te sluiten bevat enkel een element en nooit een attribuut of een waarde.

In het programma kladblok kan HTML-code opgesteld worden.

Een webpagina openen en sluiten gebeurt met de tag <html>. Hiermee wordt namelijk aangegeven dat wat volgt als HTML geïnterpreteerd dient te worden. Verder bevat elk HTML-document een head en een body. In de head staat extra informatie over het document, zoals bijvoorbeeld de titel. De body is hetgeen wat zichtbaar is op de webpagina.

Het 3-tier model

Het spreekt voor zich dat wanneer een applicatie groter wordt, de complexiteit toeneemt. Het goed organiseren van de code is van groot belang om:

  • de code overzichtelijk te houden en gemakkelijk terug te vinden;
  • efficiënt samen te werken met andere programmeurs;
  • makkelijker fouten weg te werken;
  • alle functionaliteit eenmalig te coderen;

De voordelen van het lagenmodel zijn dan ook:

  • onderhoudbaarheid;
  • schaalbaarheid;
  • flexibiteit;
  • beschikbaarheid.

Het 3-tier model is een veelgebruikt model om de code gestructureerd en overzichtelijk te organiseren met een duidelijke aanpak. Bij het hanteren van het 3-tier model wordt de applicatie onderverdeeld in 3 aparte lagen, namelijk de presentatielaag, de businesslaag en de datalaag.

Het 3-Tier model

Het 3-tier model

Figuur 20.1: Het 3-Tier model

De presentatielaag of GUI is de bovenste laag. Deze laag bestaat uit de pagina’s die de gebruiker kan zien aan de buitenkant van het systeem, namelijk de lay-out van de webpagina’s en de navigatie.

De businesslaag zorgt voor de verbinding met de ander lagen en bevat alle programmeerlogica, objecten en methoden. Tijdens de uitvoering van het programma wordt de invoer van de gebruikers opgeslagen in de objecten en worden de businessregels toegepast.

De datalaag of persistence manager verbindt de toepassing met de databank. Hierin staat de code die gegevens ophaalt uit de database en die bewerkingen uitvoert op de database. Enkel de datalaag bevat de SQL-code. SQL (Structured Query Language) is een opdrachttaal voor het invoeren, wijzigen, verwijderen, raadplegen en beveiligen van gegevens in een relationele databank.

Statische versus dynamische webpagina

HTML-pagina’s zijn statische webpagina’s, dit wil zeggen de auteur de exacte inhoud en lay-out van deze pagina’s op voorhand heeft bepaald. Bij elk bezoek blijft de pagina voor iedere gebruiker onveranderlijk. De uitleg voor het maken van een statische webpagina is terug te vinden in de cursus HTML.

Een dynamische webpagina kan op twee manieren verwezenlijkt worden, namelijk client-side of server-side.

Bij een client-side dynamische webpagina worden naast HTML-instructies ook instructies naar de browser gestuurd, zodat de browser de pagina interactief kan aanpassen. Deze meegestuurde instructies moeten door de browser begrepen worden. Talen die hiervoor zorgen zijn bijvoorbeeld Javascript, VBScript, Java-Applets, Curl…

Bij een server-side dynamische webpagina worden de instructies om de HTML-output te genereren uitgevoerd door de server. Het verwerken van de instructies gebeurt eerst op de server en vervolgens stuurt de server het resultaat in de vorm van een HTLM-pagina door naar de browser op de client.

ASP.NET volgt het systeem van dynamische webpagina’s en is bijgevolg browser-onafhankelijk.

ASP.NET is een onderdeel van het .NET Framework van Microsoft. ASP.NET is een combinatie van twee technologieën, namelijk Active Server Pages (ASP) en .NET, om met behulp van een programmeertaal webpagina’s aan te maken op een webserver. Uiteraard gebruikt de website c-sharp.be de programmeertaal c#.

Een ASP.NET-webpagina is bijna altijd te herkennen aan de extensie .aspx.

Ontwerpomgeving Greenfoot

Om het object georiënteerd programmeren nog concreter uit te leggen, is in hoofdstuk 12 stap voor stap uitgelegd hoe je een eenvoudig spelletje kan programmeren in de ontwerpomgeving Greenfoot.

Greenfoot is een gratis ontwerpomgeving waarmee je op een interactieve en speelse manier kan leren programmeren. Het is speciaal ontwikkeld voor beginners en maakt gebruik van eenvoudig te gebruiken afbeeldingen.

De ontwerpomgeving Greenfoot maakt gebruik van een aantal voorgedefinieerde klassen. We weten niet hoe deze klassen opgebouwd zijn. We maken enkel gebruik van hun functionaliteit. Dit principe noemen we encapsulation.
We moeten er alleen voor zorgen dat we de eigenschappen en methoden correct gebruiken. Dit is het principe van polymorfisme.

http://www.greenfoot.org/

Overerving en polymorfisme

Overerving of inheritance betekent dat je een andere, nieuwe klasse kan maken vanuit een bestaande klasse. Met andere woorden hergebruiken we software(-onderdelen) en breiden deze eventueel uit met nieuwe mogelijkheden.

De oorspronkelijke klasse heet de “superklasse” of “basisklasse” en de nieuwe klasse de “subklasse” of “afgeleide klasse”. De subklasse beschikt automatisch over dezelfde attributen en methoden als de superklasse. Verder kan de subklasse attributen of methoden van zichzelf hebben.

Het grote voordeel is dat de bestaande superklasse intact blijft en dat wijzigingen en aanvullingen in de nieuwe subklasse komen. Bijgevolg kan je alle eerder geschreven software blijven gebruiken.

Bij overerving spreken we van een “is een relatie”. Een object van een subklasse is ook een object van de superklasse.

De term polymorfisme (letterlijk: veelvormigheid) betekent dat een variabele objecten van verschillende types kan bevatten. In het algemeen komt het erop neer dat een object van een subklasse kan gezien worden als een element van een superklasse en dus ook de eigenschappen en methoden van die superklasse kan gebruiken.

Overerving en polymorfisme vormen de basis van het object georiënteerd programmeren.

https://www.c-sharp.be/oop/overerving/

Object georiënteerd programmeren in BlueJ

Object georiënteerd programmeren (OOP BlueJ) betekent dat er gewerkt wordt met objecten. Het betreft objecten die zowel informatie bevatten als acties kunnen uitvoeren. Het zijn geen fysieke objecten die je kan vastpakken maar objecten die zich bevinden in het geheugen van de computer. Bij object georiënteerd programmeren moet je vanaf de start bij het ontwerp van een programma rekening houden met de informatie en welke acties bij welke informatie horen.

De voornaamste doelstelling van object georiënteerd programmeren is om op een efficiëntere manier betere programma’s te ontwikkelen.

C-sharp.be gebruikt de ontwerpomgeving BlueJ om object georiënteerd programmeren aan te leren. Met OOP BlueJ kan je onmiddellijk starten met de concepten objecten en klassen. Het maken van een gebruikersinterface is niet nodig en onnodige details komen niet ter sprake in OOP BlueJ.

http://www.bluej.org/

Gestructureerd programmeren

“Deel A: Gestructureerd programmeren” van de cursus C# (c-sharp.be) staat nu volledig online. De oplossingen van de oefeningen op het einde van de hoofdstukken zijn terug te vinden in het menu oplossingen. Van de extra oefeningen zijn bewust niet alle oplossingen opgenomen. Hierdoor krijgen liefhebbers de mogelijkheid om zelf een oplossing bedenken zonder dat ze in een bepaalde richting gestuurd worden.

Deel A beperkt zich tot gestructureerd programmeren aan de hand van consoletoepassingen zodat we ons volledig kunnen focussen op de techniek van het programmeren, met andere woorden het schrijven van de programmacode.

De komende weken en maanden werk ik aan “Deel B: Object georiënteerd programmeren”. Hiervoor gebruik ik naast Visual Studio ook de ontwerpomgeving BlueJ.

https://www.visualstudio.com/en-us/products/visual-studio-express-vs.aspx

Waarom C# (C-sharp)?

De website c-sharp (c-sharp.be) is een concept dat geleidelijk aan, hoofdstuk per hoofdstuk, zal groeien. De website c-sharp is speciaal ontwikkeld voor beginnende programmeurs en studenten die de programmeertaal C# (C-sharp) willen aanleren. Hierbij starten we met gestructureerd programmeren aan de hand van consoletoepassingen in de ontwerpomgeving Visual Studio 2013 Express for Desktop. Op het einde van ieder hoofdstuk staan oefeningen om de leerstof in te oefenen.

Voor het object georiënteerd programmeren is de ontwerpomgeving BlueJ de ideale tool. Met BlueJ kan je onmiddellijk starten met klassen en objecten. Daarnaast word je in BlueJ niet geconfronteerd met onnodige details.

C# (C-sharp) is een objectgeörienteerde, eenvoudige programmeertaal waarvan de syntax zeer dicht aanleunt bij Java en C++.

Vandaag is C# (C-sharp) één van de meest gebruikte programmeertalen in de wereld.

http://c-sharp.be/