QuickJS version 2025-04-26 et QuickJS-NG version 0.10

Posté par  . Édité par palm123, Benoît Sibaud et cli345. Modéré par Benoît Sibaud. Licence CC By‑SA.
18
16
mai
2025
JavaScript

Finalement Fabrice Bellard est comme tout le monde, lui aussi numérote ses versions avec des dates, c'est plus simple. Voici donc la version annuelle de QuickJS (licence MIT), son moteur JavaScript incorporable et compact (le binaire Linux 64 bits fait 757 kiB). QuickJS est compatible avec ECMAScript 2023 — sauf pour les appels tails que les auteurs ne trouvent pas indispensables — et passe presque toute la suite de tests ECMAScript (en sélectionnant ES2023).

En 2023, pour revivifier un développement un peu dormant, la fourche QuickJS-NG a été lancée (par un des contributeurs de Jitsi). QuickJS-NG est intéressant pour ceux qui veulent utiliser cmake et compiler le projet sous Windows avec le compilateur C Microsoft. Il intègre aussi le support de quelques fonctionnalités récentes de la norme JavaScript que QuickJS ne supporte pas encore. (Je cite Fabrice Bellard). Les différences ne sont pas énormes. La version 0.10 est toute neuve.

Ci-après, Fabrice Bellard m'a très gentiment expliqué les principaux changements de QuickJS.

Sortie de Node.js 0.4.0

Posté par  (site web personnel) . Modéré par patrick_g.
Étiquettes :
16
12
fév.
2011
JavaScript
Node.js est un environnement JavaScript côté serveur, sous licence MIT. Sa particularité est son approche asynchrone pour faciliter la montée en puissance dans des contextes avec beaucoup d'entrées-sorties, notamment réseau. En pratique, il se compose :
  • d'un interpréteur JavaScript, à savoir V8 ;
  • de require(), un chargeur de modules compatible CommonJS ;
  • d'une bibliothèque standard, volontairement restreinte (une sorte de libc JavaScript où tous les appels sont asynchrones) ;
  • d'un ensemble de conventions : par exemple, les fonctions de retours indiquent toujours en premier paramètre si l'appel s'est bien passé et dans le cas contraire, quelle a été l'erreur ;
  • et d'un exécutable, node pour lancer tout ça.

La version 0.4.0 sortie cette semaine est la deuxième stable (c'est comme pour l'ancien mode de développement du noyau Linux : le numéro mineur est pair pour les versions stables et impair pour les versions de développement). Les principaux changements depuis la version stable précédente (la version 0.2, pour ceux qui suivent) sont les suivants :
  • nouveau client HTTP, avec une API plus simple et la gestion d'un réserve (pool) de connexions ;
  • refonte du module TLS/SSL ;
  • augmentation des performances, grâce à l'allocation plus rapide des tampons mémoire (Buffer) ;
  • meilleure prise en charge des gestionnaires de paquets comme npm, grâce à l'amélioration de require() ;
  • une mise à jour de V8 pour la version 3.1.2 ;
  • un débogueur fonctionnel, mais encore très limité pour le moment ;
  • un module os qui expose des informations sur le système ;
  • et, bien sûr, plein de corrections de bogues.

Sortie de Node.js v0.2.0

Posté par  (site web personnel) . Modéré par baud123.
Étiquettes :
15
23
août
2010
JavaScript
Node.js, dont le slogan est Evented I/O for V8 JavaScript, a pour but d'offrir un moyen simple d'écrire des applications réseau scalables. Le code est placé sous licence MIT.

Pour bien comprendre ce qu'est Node.js, je vous propose le cheminement suivant. Partons de V8, la machine virtuelle développée par Google qui permet d'interpréter du javascript. Ajoutons un modèle événementiel, similaire à EventMachine en Ruby ou à Twisted en Python. Cela tombe bien, en javascript, c'est assez naturel de procéder de cette manière : le javascript dans les navigateurs utilise déjà un modèle événementiel (les événements sont 'DOM chargé', 'touche pressée' ou encore 'clic de la souris'). C'est un bon début, mais le javascript ne possède pas de bibliothèque standard pour manipuler des fichiers ou faire des opérations réseau. Utilisons donc notre modèle événementiel pour ajouter des API qui permettent de faire ça de manière asynchrone. Une autre lacune de javascript est l'absence de moyen de charger une bibliothèque depuis un script, et comme on n'a pas spécialement envie de tout écrire dans un seul fichier, rajoutons donc une fonction require pour charger un autre script. Enfin, saupoudrons le tout avec quelques API utilitaires, un interpréteur interactif, et vous obtiendrez une bonne idée de la composition de Node.js.

Node.js permet ainsi de développer simplement des applications en javascript que l'on peut qualifier de server-side. Voici quelques exemples de ce que l'on peut faire avec Node.js :

La version 0.2.0 est sortie le 20 août et marque une première stabilisation du projet. Jusqu'à maintenant, les versions s'enchaînaient à un rythme soutenu (2 à 3 par mois), avec souvent des changements d'API et des problèmes de compatibilité divers et variés. Il est donc difficile pour les développeurs de bibliothèques de les maintenir, et pour les développeurs d'applications, de trouver les bonnes bibliothèques qui fonctionne avec la dernière version de Node.js. Cela devrait maintenant changer : Ryan Dahl a promis d'assurer la compatibilité de l'API pour les versions 0.2.x. Si vous souhaitez essayer Node.js, c'est donc le bon moment pour vous lancer !

Angular 2 est en version finale, Ninja Squad vous met le pied à l’étrier

Posté par  . Édité par Benoît Sibaud et Davy Defaud. Modéré par ZeroHeure. Licence CC By‑SA.
11
19
sept.
2016
JavaScript

Ninja Squad proposait un e‐book sur Angular 2 quand ce framework n’était alors qu’en bêta (cf. la dépêche précédente Deviens un Ninja avec Angular 2 : un e‐book sans DRM à prix libre et en soutien à l’EFF).
Cette semaine, Angular 2 est — enfin — passé en version finale. Ce qui signifie qu’il est utilisable sans trop de crainte en production (plus de changements incompatibles) et qu’il est donc temps de s’y mettre sérieusement.

Après l’e‐book (à jour de la dernière version), Ninja Squad propose désormais un « pack pro », proposant de mettre en pratique la théorie apprise dans l’e‐book en construisant pas à pas une application complète, avec une batterie de tests fournie couvrant le code produit à 100 % : à chaque étape, on soumet sa solution, dont la qualité est analysée ; un score est donné ; on peut alors améliorer son implémentation, ou sauter les trois exercices suivants, ou même tricher en consultant la solution fournie respectant les bonnes pratiques et l’état de l’art ; on suit ainsi sa progression dans la trentaine d’exercices proposés (entre 3 et 5 jours de travail).

Cela devrait faire gagner des heures sur vos projets personnels et professionnels, en ayant toujours sous la main du code fonctionnel et à jour des dernières versions couvrant l’essentiel des cas d’usage d’une application d’entreprise (les mises à jour sont évidemment gratuites).

Tarif normal : 199 €.
Code de réduction pour les lecteurs de LinuxFr.org : LinuxFrRocks, -30 % pour les 20 premiers acheteurs.

La plate‐forme est testable gratuitement sur les six premiers exercices : https://angular2-exercises.ninja-squad.com/.

N. D. M. : la licence de l’e‐book (201 pages A4) interdit explicitement la vente, l’utilisation commerciale et la redistribution. Le site annonce actuellement environ 2 800 acheteurs et 114 packs pro, ayant généré 6 452 € de dons à l’EFF.

Worldwide Meteor 1.0 Day le 6 novembre 2014 chez Numa (Paris)

Posté par  (site web personnel) . Édité par ZeroHeure et Benoît Sibaud. Modéré par Ontologia. Licence CC By‑SA.
10
5
nov.
2014
JavaScript

Rejoignez nous à Paris jeudi 6 novembre vers 18h30 chez Numa pour un événement unique : le Worldwide Meteor 1.0 Day ! Meteor est une plate‐forme open source facilitant le développement d’applications modernes Internet et mobiles en JavaScript.

Toute la communauté Meteor organise des meetups simultanément à travers le monde le 6 novembre ; ouvert à tous ceux qui sont intéressés à en apprendre plus sur la plate-forme Meteor.

Vous aurez la chance de rencontrer des développeurs d'applications réalisées avec Meteor, jouer avec les nouveaux exemples et tutoriels ainsi que de participer à une session de questions/réponses via Hangouts avec un développeur du Meteor Development Group et d'experts de la communauté.

Atelier Back to Basics : Javascript

9
28
mai
2014
JavaScript

L’association Silex Labs propose une série de quatre ateliers pour travailler ensemble avec des outils devenus incontournables et partager des retours d’expériences sur les bonnes pratiques d’organisation et de travail collaboratif. Le prochain aura lieu le mercredi 28 mai de 19h à 21h à l’IESA Multimédia (Paris) sur le thème Javascript (après ceux sur HTML5 et CSS3, et avant celui sur Node.js le 18 juin).

Titre de l'image

NdM : l'inscription coûte 15 € (ou une adhésion annuelle à Silex Labs couvrant tous les ateliers).

Apéro Web à Nancy

Posté par  . Édité par claudex, Nÿco et Benoît Sibaud. Modéré par patrick_g. Licence CC By‑SA.
Étiquettes : aucune
7
8
juil.
2013
JavaScript

Après Bash, un nouvel Apéro Web se déroulera à Nancy le 18 Juillet 2013 au Classico (1 Rue Général Hoche) à 19h. Le but de ces évènements est de partager, discuter sur ces thèmes autour du Web, dans une ambiance agréable. Le thème de la soirée du 18/07 sera Node.js :

« JavaScript sort de son navigateur pour vous en mettre plein les yeux avec Node.js. Plus qu'un serveur web de nouvelle de génération, Node.js est une plateforme avec une communauté et des outils autant destinés au serveur qu'au client.

Durant cette introduction, les spécificités de Node.js seront décortiquées : event-driven model, non-blocking I/O, CommonJs, packages, etc. Puis, nous vous présenterons un des outils de l'univers node: Grunt.js, le task-runner sortira de son terrier pour vous aider à automatiser vos projets Javascript. »

La troisième rencontre de la communauté JavaScript de Lille - Jeudi 25 juillet 2013

Posté par  . Édité par Nils Ratusznik, Benoît Sibaud, NeoX, Nÿco et Xavier Teyssier. Modéré par Xavier Teyssier. Licence CC By‑SA.
Étiquettes : aucune
6
22
juil.
2013
JavaScript

Tous les passionnés de JavaScript ont rendez-vous au CoworkingLille pour discuter de JavaScript. L'accueil des participants se fera dès 19H30 au CoworkingLille au 10 rue de la Piquerie 59000 Lille.

Dans la communauté JavaScript les promises (en français, promesse, engagement) font l'actualité. Selon le Wiki CommonJS, une promise, en JavaScript, est un objet représentant une valeur qui pourrait être retournée par l'exécution d'une opération unique (souvent asynchrone). Nicolas Froidure nous fera, lors de cette rencontre, une présentation de cette nouvelle techno et de son expérience acquise pendant le développement de Liar.

Vous pouvez trouver sur ce lien la spécification des promises (polyfill inside).

Cette présentation sera suivie d'une table ronde sur NodeJS, la production et les outils existants. Nous aborderons les différentes approches :

Tous les retours d'expériences sont les bienvenus avec des exemples d'application en production à l'appui.

ChtiJS sur Twitter : @chtijs