zondag 13 september 2015

Welkom in de Wondere Wereld van... JavaScript

JavaScript is een draak van een taal uit de tijd dat HTML nog een BLINK-tag had. Een broddeltaaltje waar script kiddies foeilelijke webpagina's mee in elkaar knutselen. Je kunt er object-georienteerd mee programmeren, maar vraag niet hoe.

Om alle tekortkomingen te compenseren kwam er jQuery, dat het leven van de programmeur een stuk makkelijker maakte door hem te helpen bij het doorlopen van de DOM. Ook kwam er syntactic sugar in de vorm van CoffeeScript. En bibliotheken als Underscore vulden de gaten in de standaardfuncties die Javascript biedt. Het waren echter slechts pleisters op gapende wonden.

Maar in de loop van dit jaar heb ik JavaScript van nog een andere kant leren kennen. De JavaScript-wereld is namelijk volop in beweging: mede dankzij Node.js (dat het mogelijk maakt om Javascript buiten de browser te gebruiken) schieten de frameworks als paddestoelen uit de grond. En in tegenstelling tot de taal zelf, zijn de frameworks krachtig, elegant en veelzijdig.

Concreet heb ik de afgelopen maanden gewerkt met de volgende frameworks:
  • Bootstrap maakt je website responsive, zodat het op allerlei divices bruikbaar is. Het is oorspronkelijk ontwikkeld door Twitter.
  • Angular maakt het eenvoudig om Single Page Applications (SPAs) te ontwikkelen door gebruik te maken van templates, two-way data binding en directives (custom HTML tags).
  • Meteor biedt full-stack webontwikkeling. De overgang tussen server en client is vrijwel naadloos, in de zin dat je op de client toegang hebt tot je database, alsof je op server zit. Bovendien heb je een JSON-database in de vorm van Mongodb, en maken reactivity en optimistic UIs je leven als programmeur een stuk aangenamer.
Bonus: Meteor ondersteunt nu al de nieuwe ES6-standaard waarmee er een eind komt aan veel van de hieroven genoemde tekortkomingen van JavaScript.

En er is keuze: bijvoorbeeld Materialize in plaats van Bootstrap, Ionic als uitbreiding op Angular, Polymer voor het ontwikkelen van web components, Ember als alternatief voor Meteor, enz enz enz.

In 1998 al schreef de geestesvader van Tcl/Tk, John Ousterhout:
Scripting languages are designed for "gluing" applications; they use typeless approaches to achieve a higher level of programming and more rapid application development than system programming languages. Increases in computer speed and changes in the application mix are making scripting languages more and more important for applications of the future.
Met de huidige ontwikkelingen van blijkt hoe visionair deze woorden waren.

Geen opmerkingen:

Een reactie plaatsen