Wk09 / UI/UX

UI/UX
CSD-I
Week 9
1 / 49
volgende
Slide 1: Tekstslide
Applicatie- en mediaontwikkelaarMBOStudiejaar 1

In deze les zitten 49 slides, met interactieve quizzen en tekstslides.

time-iconLesduur is: 60 min

Onderdelen in deze les

UI/UX
CSD-I
Week 9

Slide 1 - Tekstslide

Deze slide heeft geen instructies

Deze week
Deze week:
  • Nog even herhalen
  • Voor we het vergeten - de For Loop
  • UI en UX
  • Werken met Grids
  • Herhalen/Ophalen naamgevingsconventies
  • Documenteren

Slide 2 - Tekstslide

We bouwen verder op het tonen van data uit een tekstbestand. Waar we vorig hoofdstuk met weinig data hebben gewerkt, gaan we nu met veel data uit een csv-bestand werken. We gaan alle regels met data uit een csv-bestand in een lijst in onze app laten zien. Iedere regel krijgt dan een eigen plek in de lijst.
Opdracht: bekijk programma en antwoord
  1. Op regel 55 staat var csvReader = ..... gebruikt. Wat staat in deze variabele?
  2. Wat is een betere naam voor deze variabele (op regel 55)?
  3. Wat staat en waarom staat er iets tussen de haakjes bij new CsvReader(????) ?
  4. r23 -  Wat wordt er bedoeld met x:DataType = "local:Worker" ?
  5. Welke code zorgt er voor dat er een afbeelding in je app verschijnt en hoe werkt dat?
timer
6:00
Stilte, werk voor jezelf
Overleg met buur is ok
Werk in groepjes
Klik en zoom

Slide 3 - Tekstslide

Vragen laten beantwoorden in textdocumentje en daarna "cold call" vragen in de klas.
Opdracht: bekijk programma en antwoord
  1. Op regel 55 wordt var csvReader = ..... gebruikt. Wat staat in deze variabele?
  2. Op welk regelnummer begint het sjabloon voor ieder item in de ListView en op welk eindigt het?
  3. r23 -  Wat wordt er bedoeld met x:DataType = "local:Worker" ?
  4. Welke code zorgt er voor dat er een afbeelding in je app verschijnt en hoe werkt dat?
timer
6:00
Stilte, werk voor jezelf
Overleg met buur is ok
Werk in groepjes
Klik en zoom

Slide 4 - Tekstslide

Vragen laten beantwoorden in textdocumentje en daarna "cold call" vragen in de klas.
Van bestand naar List
  • Bestand selecteren
  • Bestand openen
  • Stream opzetten zodat we de inhoud kunnen lezen 
  • Reader maken waarmee we het bestand gaan lezen
  • De inhoud van het hele bestand in een variabele stoppen
  • De data in de variabele omzetten naar een list

Slide 5 - Tekstslide

Deze slide heeft geen instructies

Eerst nog even herhalen
  • Bestand in een variabele zetten
  • Bestand openen
  • Stream opzetten zodat we de inhoud kunnen lezen 
  • Reader maken waarmee we het bestand gaan lezen
  • De inhoud van het hele bestand in een variabele stoppen
  • De data in de variabele omzetten naar een list

Slide 6 - Tekstslide

Deze slide heeft geen instructies

Eerst nog even herhalen
  • Bestand in een variabele zetten

  • Stream opzetten zodat we de inhoud kunnen lezen 
  • Reader maken waarmee we het bestand gaan lezen
  • De inhoud van het hele bestand in een variabele stoppen
  • De data in de variabele omzetten naar een list

Slide 7 - Tekstslide

Deze slide heeft geen instructies

Eerst nog even herhalen
  • Bestand in een variabele zetten


  • Reader maken waarmee we het bestand gaan lezen
  • De inhoud van het hele bestand in een variabele stoppen
  • De data in de variabele omzetten naar een list

Slide 8 - Tekstslide

Deze slide heeft geen instructies

Eerst nog even herhalen
  • Bestand in een variabele zetten



  • De inhoud van het hele bestand in een variabele stoppen
  • De data in de variabele omzetten naar een list

Slide 9 - Tekstslide

Deze slide heeft geen instructies

Eerst nog even herhalen
  • Bestand in een variabele zetten




  • De data in de variabele omzetten naar een list

Slide 10 - Tekstslide

Deze slide heeft geen instructies

Eerst nog even herhalen
  • Bestand in een variabele zetten






Slide 11 - Tekstslide

Deze slide heeft geen instructies

Eigenlijk is dit twee keer hetzelfde programma.

Slide 12 - Tekstslide

Deze slide heeft geen instructies

Eigenlijk is dit twee keer hetzelfde programma. Enige verschil:
  • Links is de lijst handmatig gevuld

Slide 13 - Tekstslide

Deze slide heeft geen instructies

Eigenlijk is dit twee keer hetzelfde programma. Enige verschil:
  • Links is de lijst handmatig gevuld
  • Rechts wordt de lijst gevuld vanuit een csv-file

Slide 14 - Tekstslide

Deze slide heeft geen instructies

Je wil een lijst met namen opslaan

Wat is de juiste aanpak?
A
Maak een klasse "Namen" in de MainPage.
B
Maak een klasse "Naam" in de MainPage.
C
Maak een List van strings en vul deze met namen.
D
Maak een klasse "Naam" in een eigen file Naam.cs.

Slide 15 - Quizvraag

Deze slide heeft geen instructies

Je wil een lijst met studenten opslaan met een naam en leeftijd

Wat is de juiste aanpak?
A
Maak een klasse "Studenten" in de MainPage.
B
Maak een klasse "Student" in een eigen file Student.cs
C
Maak een klasse " Students" in een eigen file Students.cs
D
Maak een List en vul deze met Dictionaries van studenten

Slide 16 - Quizvraag

Deze slide heeft geen instructies

Schrijf de code om de properties Naam en
Leeftijd te declareren in de class Student

Slide 17 - Open vraag

Deze slide heeft geen instructies

Belangrijk
                                               



Xaml kijkt naar de gecompileerde code van je applicatie. Is je programma nog niet succesvol een keer gestart (en dus gecompileerd) dan zal Xaml de class niet kunnen vinden. 
Oplossing:
      - Maak eerst de extra class aan die je gaat gebruiken.
      - Start hierna je 'lege' applicatie zodat je zeker weet dat er geen fouten zijn en je applicatie       
         dus succesvol gecompileerd wordt.
      - Ga hierna verder met het bouwen van je applicatie.

Slide 18 - Tekstslide

Deze slide heeft geen instructies

Voor we het vergeten - de For Loop

Slide 19 - Tekstslide

Deze slide heeft geen instructies

Voor we het vergeten - de 'for-loop'

Slide 20 - Tekstslide

Deze slide heeft geen instructies

Slide 21 - Tekstslide

Deze slide heeft geen instructies

de for-loop

Slide 22 - Tekstslide

Deze slide heeft geen instructies


Nu 

naar
de

grid 

lay-out

Slide 23 - Tekstslide

We bouwen verder op het tonen van data uit een tekstbestand. Waar we vorig hoofdstuk met weinig data hebben gewerkt, gaan we nu met veel data uit een csv-bestand werken. We gaan alle regels met data uit een csv-bestand in een lijst in onze app laten zien. Iedere regel krijgt dan een eigen plek in de lijst.
Grid
  • Grid is een raster dat bestaat uit rijen en kolommen
  • Een hokje in een grid noemen we cell

Slide 24 - Tekstslide

Deze slide heeft geen instructies

Standaard Grid
Een standaard grid bestaat uit 1 rij en 1 kolom (dus 1 cel)

Slide 25 - Tekstslide

Deze slide heeft geen instructies

Elementen plaatsen op een rij

Slide 26 - Tekstslide

Deze slide heeft geen instructies

Elementen plaatsen op een rij










 1* geeft aan dat de hoogte van de rij 1/4e van het totaal inneemt
3* geeft aan dat de hoogte van de rij 3/4e van het totaal inneemt

Slide 27 - Tekstslide

Deze slide heeft geen instructies

Elementen plaatsen op een rij










 Auto -- geeft aan dat de hoogte automatisch wordt bepaald door de inhoud
     *     -- geeft aan dat de andere rij de rest van de ruimte inneemt.

Slide 28 - Tekstslide

Deze slide heeft geen instructies

Opbouw van je Grid

Slide 29 - Tekstslide

Deze slide heeft geen instructies

Opbouw van je grid

Slide 30 - Tekstslide

Deze slide heeft geen instructies

Opbouw van je grid



Grid.Row="0"                                            



Grid.Row="1"                                            












Slide 31 - Tekstslide

Deze slide heeft geen instructies

Opbouw van je grid



Grid.Row="0"                                            



Grid.Row="1"                                            












Slide 32 - Tekstslide

Deze slide heeft geen instructies

Attributen en Elementen van Grid

Slide 33 - Tekstslide

Deze slide heeft geen instructies

Aan de slag


Opdracht 5: Vlaggen
Pagina 119

  • Maak voor iedere vlag een nieuw project maar binnen één solution.
  • Kijk naar het gele kader hoe je al deze projecten in één solution kunt plaatsen.
  • Lees het tweede gele kader Extra: Andere type lay-out
Stilte, werk voor jezelf
Overleg met buur is ok
Werk in groepjes
Doel:
* Leren werken met de attributen en elementen van Grid

* Leren met Grid je lay-out op te maken

* Leren meerder projecten in één solution te plaatsen

Hulp:
Zie paragraaf 2 + 3
Klaar?
Zie gele blok aan het einde van het hoofdstuk voor meer oefeningen

Slide 34 - Tekstslide

We bouwen verder op het tonen van data uit een tekstbestand. Waar we vorig hoofdstuk met weinig data hebben gewerkt, gaan we nu met veel data uit een csv-bestand werken. We gaan alle regels met data uit een csv-bestand in een lijst in onze app laten zien. Iedere regel krijgt dan een eigen plek in de lijst.
UX

Slide 35 - Tekstslide

Deze slide heeft geen instructies

Wat is UX?
  • UX staat voor User Experience
  • De beleving van de gebruiker
  • De UX en UI zijn nauw met elkaar verbonden in een applicatie

Slide 36 - Tekstslide

Deze slide heeft geen instructies

Voorbeelden

Slide 37 - Tekstslide

Deze slide heeft geen instructies

Voorbeelden

Slide 38 - Tekstslide

Deze slide heeft geen instructies

Accessibility / Toegankelijkheid
Door ontwikkelaars vaak geschreven al a11y

Nadenken over a11y
  • Niet alleen voor mensen met een permanente
      beperking
  • Mensen in het gips
  • Kleurenblind
  • Responsive websites (mobiel toegankelijk)

Slide 39 - Tekstslide

Deze slide heeft geen instructies

Dark Patterns
Opzettelijk een slechte UX gebruiken

Slide 40 - Tekstslide

Deze slide heeft geen instructies

Toegankelijke code
Denk bij het maken van een applicatie ook aan je collega ontwikkelaars!

Slide 41 - Tekstslide

Deze slide heeft geen instructies

Nettere code schrijven
Conventies
   - lowerCamelCase   -- Elementen, lokale variabelen
   - UpperCamelCase  -- Properties, Klassen
 



Laten we kijken of we nog meer conventies nodig hebben.

Slide 42 - Tekstslide

Conventies = afspraken,
bijvoorbeeld naamgevingsconventies = afspraken over namen van structuren in code



Zoek de elementen...
(die in de XAML een x:Name heeft)

Slide 43 - Tekstslide

Deze slide heeft geen instructies




Allemaal gevonden?

Slide 44 - Tekstslide

Deze slide heeft geen instructies

Elementen
Naamgeving
We gaan elementen beter herkenbaar maken in onze code:
Geef vanaf nu een element altijd een beschrijvende lowerCamelCase naam die eindigt op El (van Element).

Bijv.:
nameEl
emailEl
receiveNewsEl

Slide 45 - Tekstslide

Deze slide heeft geen instructies

Event Handlers


IntelliSense verzint voor meerdere knoppen, slechte namen voor event handlers:

Slide 46 - Tekstslide

Deze slide heeft geen instructies

Event Handlers
Vanaf nu gaan we dit netjes oplossen door knoppen altijd eerst een x:Name te geven. Daarna koppelen we de Event Handler pas:




Dan kunnen we iedere knop een beschrijvende naam geven.

Slide 47 - Tekstslide

Deze slide heeft geen instructies

Aan de slag


Opdracht 10
pagina 134


Let op dit moet je ook inleveren!

Stilte, werk voor jezelf
Overleg met buur is ok
Werk in groepjes
Doel:
* Vergaarde kennis vastleggen in een document

* Documenteren als belangrijk onderdeel van je vakgebied

* Oefenen maken "Conventiedocument"
Hulp:
Zie paragraaf 6 t/m 9 en doorzoek het moduleboekje op "conventie"
Klaar?
Start met de weekcheck

Slide 48 - Tekstslide

We bouwen verder op het tonen van data uit een tekstbestand. Waar we vorig hoofdstuk met weinig data hebben gewerkt, gaan we nu met veel data uit een csv-bestand werken. We gaan alle regels met data uit een csv-bestand in een lijst in onze app laten zien. Iedere regel krijgt dan een eigen plek in de lijst.
Weekcheck H9
Introductie + zelfstandig werken.


Slide 49 - Tekstslide

Deze slide heeft geen instructies