Conferentie verslag: dotJS

-

Maandag 7 december bezocht ik met een aantal Incentronauten de javascript conferentie dotJS in Parijs. Mijn collega’s bezochten die vrijdag daarvoor ook dotCSS maar ik kreeg zelf een afwezigheid tijdens het Sinterklaas weekend even niet verkocht 🙂

DotJS was een goede 1 daagse conferentie met enorm goede sfeer waarbij de organisatie naast het leveren van goede sprekers ook het publiek stimuleerd om met elkaar in contact te treden. De talks duurden maar 20 minuten waardoor sprekers werden gedwongen om snel to the point te komen in plaats van een half uur durende introductie te houden. Er werd opvallend weinig over specifieke tools and frameworks gesproken zoals Angular of React. Maar des te meer over de ontwikkelingen van javascript als taal zelf en de toepassingen hiervan. In de meeste presentaties ging men ook uit van de nieuwe Ecmascript versie ES6/ES2015 die we inmiddels prima in de praktijk kunnen toepassen met behulp van tools als Babel.  Om je een beeld te geven van deze dag licht ik een aantal hoogtepunten toe.

Async zoals we het echt willen!

De eerste talk van Christophe Porteneuve trapte direct lekker af met async als thema. Er zijn op dit moment talloze oplossingen bedacht om asynchrone requests af te handelen met callbacks en promises. Hoewel promises en generators in ES6 nog een beetje vreemd lijken, ziet het concept van async functions er veelbelovend uit.

[javascript light=”true”]
async function loadStory() {
try {
let story = await getJSON(‘story.json’);
addHtmlToPage(story.heading);

for (let chapterPromise of story.chapterUrls.map(getJSON)) {
let chapter = await chapterPromise;
addHtmlToPage(chapter.html);
}

addTextToPage(“All done”);
} catch (err) {
addTextToPage(“Argh, broken: ” + err.message);
}
hideSpinner();
});
[/javascript]

Torrents met javascript

Mathias Buus vertelde over zijn project Hyperdrive waarmee hij simpel gezegd een filesharing netwerk zoals torrents heeft gemaakt met javascript. De uitdaging zat hem niet echt in platte tekstbestanden want dit kon eenvoudig op de Git manier worden opgelost, door te kijken welke stukje file ontbreekt om vervolgens dat stukje over te lijn te sturen. Maar bij bestanden met een complexere structuur zoals video gaat dat verhaal helaas niet op. Wat hij hiervoor heeft gedaan is best interessant. Door een bestand in stukjes op te breken en elk stukje te vertalen naar een hash gaat er relatief weinig verkeer over de lijn om te testen welke stukjes van de file matchen met de file aan de andere kant van de lijn. Op deze manier wordt het aantal onnodige bytes over de lijn beperkt er is er een heus torrent netwerk gecreëerd. Bekijk het project op Github. Ik word erg enthousiast van dit soort briljante projecten!

ES6 in een “notendop”

Nicolás Bevacqua nam ons mee door alle nieuwe features van ES6. We kunnen deze nieuwe javascript versie inmiddels prima toepassen door je javascript te compilen met Babel. Hij liet voorbeelden zien van het gebruik van arrow functions, classes, rest parameters en template literals. Om deze blogpost niet te lang te maken verwijs ik je graag door naar het overzicht dat hij schreef met maarliefst 350 punten over ES6.

WebRTC

Gulp maker Eric Schoffstall stoorde zich aan de browser compatibiliteit als het gaat om WebRTC waarbij een real time verbinding tussen devices tot stand moet komen. En als zo iemand als Eric Schoffstall zich daar aan ergert dat fixt hij het gewoon! Met het project RTC.works is er een library ontstaan die in staat is om op verschillende devices dezelfde ervaring en compatibiliteit te bieden. Briljant!

Service Workers

Henrik Joreteg vertelt over Service Workers en noemt het zelfs “the single most important new feature of the modern web”. Met Service Workers ben je in staat om een script op de achtergrond te laten draaien, los van je web applicatie. Hij heeft een proof of concept gemaakt genaamd Feather App.

Handige tools

Tijdens deze dag kwamen er ook verschillende tools voorbij die te moeite waard zijn om uit te proberen!

  • Vorlon.js – Remote javascript testing en debugging
  • ReactiveX – An API for asynchronous programming
    with observable streams
  • Wakanda – Industrialize your application development process, while keeping total flexibility and openness

 

Bron foto: dot Conferences