Visual Studio Code

Er zijn twee dingen waar een moderne HTML editor volgens mij aan moet voldoen, (naast dat je gewoon html moet kunnen editen) en dat is: automatische updates in je browser, want je wilt niet elke keer dat save file/reload browser doen na elke wijziging van je code, en ondersteuning van server side technieken. Je wilt gewoon op je pc PHP of serverside Javascript kunnen uitvoeren. Of zoals bij ons eigen framework, Javascript functies uit kunnen voeren waarvoor een server nodig is.

Nu ben ik meer dan tien jaar geleden gillend weggelopen van Windows, dat was nog voor Windows 10. Ook Windows software kan me niet bekoren. Ik ben dan ook positief verrast door Visual Studio Code. Ik was al regelmatig op Visual Studio gestuit, wat veel schijnt te worden gebruikt, maar ik heb het links laten liggen. Het leek me nogal een zwaar programma dat toch vooral was gericht op het maken van programma’s, en dat vooral – uiteraard – voor Windows.

Visual Studio Code

Maar, nu bleek er ook een slankere variant te zijn, speciaal voor coding. En die leek te voldoen aan bovenstaande eisen, en ook nog eens beschikbaar op Linux, het bestuurssysteem waar ik al een paar jaar tot grote tevredenheid mee werk, na ook afscheid genomen te hebben van MacOSX.

Visual Studio Code is geheel gratis en hier te downloaden. Na installatie ben ik meteen de extensies gaan bekijken, en heb de Live server (Five server) gekozen. Nu is het een kwestie van een folder openen met je website, en dan rechtsonder in de editor klikken op “Five Server starten”, en de pagina’s worden geopend op een lokale webserver. Simpel en werkt perfect.

Extensies

Die extensies, uitbreidingen, zijn wel erg handig, want het geeft je de mogelijkheid om het programma in te delen hoe je maar wilt, en uit te rusten met alle functionaliteit die jij nodig hebt. Er zijn er honderden.

Dreambits Framework

Geen nieuwe cursus ditmaal, maar een frontend framework! Wat is dat? Dat is een verzameling bestanden (HTML, CSS en Javascript) waarmee je snel zelf een geheel eigen site kunt bouwen. Een framework is dus een soort blokkendoos van meteen te gebruiken bouwblokken waar je meteen mee aan de slag kunt.

Want, ondanks dat je op deze site HTML en CSS kunt leren, is het daarna altijd nog een uitdaging: hoe ga ik nu een site bouwen? Dit framework sluit daar op aan.

Wat is het

Met dit framework kun je een sjabloonpagina openen in je eigen HTML editor, en deze aanpassen hoe je maar wilt.

In beginsel start je met 3 blokken: Navigatie (en eventueel een Header), Content en Footer. In de content komt de inhoud van de pagina. De header en footer worden op iedere pagina ingeladen met javascript. Dat is steeds hetzelfde bestand, zodat je door heel je site dezelfde hebt. Pas je dus de navigatie aan (een link erbij of eentje weg) dan wordt dat automatisch door je hele site doorgevoerd. Net zo werkt de footer.

Alles is geheel responsive, dus je site zal ook op mobiel goed werken. Een mobiel menu is ingebouwd. Alle opmaak is geregeld in handige CSS custom properties (dat zijn een soort van variabelen). Dus je kunt makkkelijk aanpassingen maken die door de hele site worden doorgevoerd.

Alles is gemaakt met standaard HTML, CSS en Javascript. Het werkt dus overal, je hoeft het nooit te updaten en je kunt het helemaal aanpassen zoals je zelf wilt. Wil je bijvoorbeeld een andere navigatie op een bepaalde pagina, dan is dat heel simpel door te voeren. Idem dito voor de footer. Je kunt ook simpelweg navigatie en footer weglaten, bijvoorbeeld voor landing pages.

Wat zit er in

Pagina sjablonen:

  • Simpele basispagina zonder javascript
  • Basispagina met content gedeelte en javascript voor automatisch inladen van header en footer. Dit is de basis voor alle verdere pagina sjablonen
  • Basis met extra zijbalk
  • Basis met twee zijbalken
  • Basis met content in kolommen opgedeeld
  • Drie pagina’s met varianten in de header en navigatie
  • Pagina met vaste breedte

Modules

Dit zijn uitbreidingen die je in elke pagina kunt toepasen, ongeacht het gebruikte sjabloon.

  • Button
  • Cards
  • Picture Lightbox
  • Picture / Text section

De modules zijn toe te passen door het toevoegen van een stukje HTML code in je pagina, soms enkel door het toevoegen van een attribuut.

Javascript

In dit framework zal javascript een vrij belangrijke plaats innemen om de site dynamischer te maken. Om te beginnen is er ingebouwd dat navigatie (header) en footer automatisch ingeladen worden. Want het is bijzonder omslachtig om in een website elke pagina te moeten aanpassen als je een pagina toevoegt en daardoor je navigatie moet aanpassen.
Daarbovenop is nu al toegevoegd dat je andere pagina’s of delen van pagina’s kunt inladen op plaatsen waar je zelf wilt.

Let op !

Consequentie van het gebruik van deze nieuwste vorm van javascript is wel, dat de beveiliging vergroot is door CORS. Het inladen van deze pagina (-delen) kan enkel via het http-protocol, dus het zal niet zomaar meteen vanaf je harde schijf werken! Je zult vanaf een server moeten werken. Gelukkig zijn er tegenwoordig veel mogelijkheden om dit relatief eenvoudig te doen, maar het werpt wel een drempel op. We zullen hier later uitgebreid op in gaan.

Voor nu enkele tips: Sommige webediting software heeft het al ingebouwd, ik gebruik zelf geen Windows, maar Visual Studio (Code) heeft het, zie het nieuwsbericht over deze html editor. Ook met Pinegrow, mijn favorite editor, kun je prima previews krijgen, ook in de browser als je ook Browsersync installeert.

Download en meer info

Framework pages en documentatie
Hier zul je altijd de huidige versie vinden. Let wel op, de documentatie is onvolledig en zal waarschijnlijk ook nooit volledig worden. (Zie verderop)

Download dreamFrame 0.5
Klik op de knop “Code” en daarna download zip

Documentatie

We gaan een aparte cursus inrichten voor het framework, waarin een zo uitgebreid mogelijke documentatie zal komen, inclusief video’s. De cursus is uiteraard inbegrepen in het VIP pakket. Het framework zelf is verder opensource en voor iedereen te downloaden en te gebruiken, maar de documentatie kost weer erg veel extra werk en zal dus niet gratis zijn voor iedereen.