Rick en Michel van ilionx Interactive Marketing waren het hele vorige weekend in Berlijn voor CSSconf en JSConf EU 2019. Eerder las je al een kort verslag van CSSconf. Hieronder volgen korte samenvattingen van een paar presentaties van JSConf. Met de zoektermen kun je zelf meer informatie vinden.
Laurie Voss, Chief Data Officer van npm, presenteerde de trends voor JavaScript en plugde nog even zijn eigen product npm enterprise. Serverless is populair. React is alomtegenwoordig. Vue groeit enorm snel. Op de backend is Express verreweg het grootst, maar Gatsby groeit. En TypeScript wordt steeds populairder.
Nadat het 6 jaar geduurd had voordat EcmaScript 6 (of “JavaScript 6”) uitkwam, is er nu weer een werkend proces en komt er elk jaar een nieuwe EcmaScript-standaard uit. Tara Manicsic gaf een overzicht van de nieuwe features in 2019. Nieuwe operators zijn String.trimStart (in plaats van trimLeft, omdat niet alle talen van links naar rechts schrijven), catch zonder variabele binding, Array.flat, Array.flatMap en Object.fromEntries (tegengestelde van Object.entries). Array.sort wisselt geen items meer om als ze identiek zijn.
Sinds de introductie van ad blockers is er een hele industrie ontstaan die aanbiedt om ad blockers te omzeilen. Shwetank Dixit vertelt over de smerige trucs die worden toegepast, en de antwoorden van ad blockers daarop. Een voorbeeld is een techniek die advertenties ongewenst toont, maar de advertenties snel weghaalt zodra je de developer tools opent om te kijken waar ze vandaan komen. Het antwoord: een script dat de advertenties doet denken dat de developer tools open staan, zodat de advertenties niet getoond worden.
Amanda Sopkin legt regels voor accessibility uit aan de hand van wapenschilden. Wapenschilden moeten gemakkelijk uit elkaar te houden zijn, een goed kleurcontract hebben, heldere thema’s hebben, en herkenbaar zijn door mensen van verschillende achtergronden. Haar lessen zijn: wees voorzichtig met symbolen zoals handgebaren (die kunnen in een andere taal iets heel anders betekenen), ontwikkel een consequent raamwerk en houd je aan Jakobs law of the internet user.
Stencil is een framework waarmee je zelf gemakkelijk en snel web components ontwikkelt. Het is van de makers van Ionic, die het ontwikkeld hebben omdat ze niet alleen Angular, maar alle frameworks wilden ondersteunen. Waar frameworks goed zijn voor het maken van apps, kun je voor herbruikbare componenten beter webcomponents ontwikkelen. Stencil ondersteunt zowel nieuwere als oudere browsers, en bepaalt zelf wanneer polyfills meegeladen moeten worden. Web components gemaakt met Stencil hebben standaard geen dependencies.
C J Silverio, ex CTO van npm, hield een betoog waarom het geen goed idee is als we al onze open source code in handen geven van een commercieel bedrijf (npm) en ons volledig van dat bedrijf afhankelijk maken. Ze kondigde een open en gedistribueerde repository aan (nog in ontwikkeling), en kreeg een staande ovatie.
Tensorflow.js is een library waarmee je in de browser machine learning kunt toepassen. Dat kan real time in de browser, dus zonder dat je data naar derden hoeft te sturen. Gebruiksgemak is een belangrijk onderdeel en er zijn een aantal al getrainde algoritmes beschikbaar die je zo kunt gebruiken, zoals voor het herkennen van lichamen in video, of het herkennen van het sentiment van een tekst.
Max Koretskyi leest als hobby broncode van Angular en React en legde een aantal technieken uit waarmee deze frameworks supergeoptimaliseerde JavaScript schrijven. Met monomorphisms zorg je ervoor dat verschillende objecten dezelfde shape (interface) hebben, waardoor JavaScript dezelfde shapes steeds kan hergebruiken. Met bloom filters kun je heel snel uitsluiten dat een element in een verzameling zit, en Angular gebruikt dit om snel te checken of een injector de beschikking heeft over een specifieke dependency.
Apps volgen je op allerlei manieren. Eigenlijk zouden we allemaal PWA’s moeten schrijven. Maximiliano Firtman gaf tips bij het schrijven van PWA’s. Bijvoorbeeld dat je voor iOS altijd zelf een back-button moet toevoegen, omdat die er anders niet is. Hij vertelde over de web share API en het kunnen maken van foto’s. Android maakt van een PWA acht een APK, zodat die echt als een native app werkt. En iOS heeft dan weer GEEN documentatie over PWA’s. De stappen voor het maken van een PWA: schrijf een web app manifest, voeg je eigen “installeer als app”-button toe (werkt alleen op Android), voeg iOS metadata toe, en maak een app launcher.
Max Bittker ontwikkelde een website met een zandspel. Code die goed moet performen heeft hij geschreven in Rust en vertaald naar WebAssembly. De rest van de code is geschreven in JavaScript. De twee combineren goed, en web assembly is geschikt om vandaag te gaan gebruiken. Met wasm-pack compileer je je Rust code gemakkelijk naar web assembly.
Cookies zijn kleine tekstbestanden die door websites kunnen worden gebruikt om gebruikerservaringen efficiënter te maken.
Volgens de wet mogen wij cookies op uw apparaat opslaan als ze strikt noodzakelijk zijn voor het gebruik van de site. Voor alle andere soorten cookies hebben we uw toestemming nodig.
Deze website maakt gebruik van verschillende soorten cookies. Sommige cookies worden geplaatst door diensten van derden die op onze pagina’s worden weergegeven.
Via de cookieverklaring op onze website kunt u uw toestemming op elk moment wijzigen of intrekken.
In ons privacybeleid vindt u meer informatie over wie we zijn, hoe u contact met ons kunt opnemen en hoe we persoonlijke gegevens verwerken.
Strikt noodzakelijke cookies
Strikt Noodzakelijke Cookie moet te allen tijde worden ingeschakeld, zodat we uw voorkeuren voor cookie-instellingen kunnen opslaan.
Analytische cookies
Analytische cookies meten websitebezoek, waarmee de eigenaar zijn website kan verbeteren. Denk aan het aantal bezoekers en de meest bezochte webpagina’s.
Google Analytics
_ga
2 years
Used to distinguish users.
_gid
24 hours
Used to distinguish users.
_gat
1 minute
Used to throttle request rate. If Google Analytics is deployed via Google Tag Manager, this cookie will be named _dc_gtm_<property-id>.
AMP_TOKEN
30 seconds to 1 year
Contains a token that can be used to retrieve a Client ID from AMP Client ID service. Other possible values indicate opt-out, inflight request or an error retrieving a Client ID from AMP Client ID service.
_gac_<property-id>
90 days
Contains campaign related information for the user. If you have linked your Google Analytics and Google Ads accounts, Google Ads website conversion tags will read this cookie unless you opt-out. Learn more.
Schakel eerst strikt noodzakelijke cookies in om uw voorkeuren op te slaan!
Marketing
De volgende marketing cookies worden gebruikt:
Hotjar
Cookie naam
Beschrijving
Duur
_hjClosedSurveyInvites
This cookie is set once a visitor interacts with a Survey invitation modal pop-up. It is used to ensure that the same invite does not re-appear if it has already been shown.
365 days
_hjDonePolls
This cookie is set once a visitor completes a Poll using the Feedback Poll widget. It is used to ensure that the same Poll does not re-appear if it has already been filled in.
365 days
_hjMinimizedPolls
This cookie is set once a visitor minimizes a Feedback Poll widget. It is used to ensure that the widget stays minimized when the visitor navigates through your site.
365 days
_hjDoneTestersWidgets
This cookie is set once a visitor submits their information in the Recruit User Testers widget. It is used to ensure that the same form does not re-appear if it has already been filled in.
365 days
_hjMinimizedTestersWidgets
This cookie is set once a visitor minimizes a Recruit User Testers widget. It is used to ensure that the widget stays minimized when the visitor navigates through your site.
365 days
_hjDoneSurveys
This cookie is set once a visitor completes a survey. It is used to only load the survey content if the visitor hasn't completed the survey yet.
365 days
_hjIncludedInSample
This cookie is set to let Hotjar know whether that visitor is included in the sample which is used to generate Heatmaps, Funnels, Recordings, etc.
365 days
_hjShownFeedbackMessage
This cookie is set when a visitor minimizes or completes Incoming Feedback. This is done so that the Incoming Feedback will load as minimized immediately if they navigate to another page where it is set to show.
365 days
Onlinesucces.nl
Cookie naam
Beschrijving
Duur
logger
connect.onlinesucces.nl
365 days
Facebook
Naam
Aanbieder
Doel
Vervaldatum
fr
http://facebook.com/
Used by Facebook to deliver a series of advertisement products such as real time bidding from third party advertisers.
3 months
ilionx.com analytics
Naam
Aanbieder
Doel
Vervaldatum
CPSESSIONID
http://www.ilionx.com/
Used for website usage analytics to distinguish user sessions.
30 minutes
CPUSERID
http://www.ilionx.com/
Used for website usage analytics and personalization to distinguish users.
900 days
Schakel eerst strikt noodzakelijke cookies in om uw voorkeuren op te slaan!