201618Jan

VerbalExpressions: Reguläre Ausdrücke leicht gemacht

Reguläre Ausdrücke sind auch in der Webentwicklung ein wichtiges Werkzeug, wenn es beispielsweise um die Validierung von Zeichenketten geht. Die Ausdrücke an sich können jedoch schnell sehr komplex werden und diese sind nicht immer leicht zu meistern. Zwar gibt es Tools zur Visualisierung von regulären Ausdrücken, allerdings hilft das nur bedingt.
Vereinfachen lassen sich die Ausdrücke aber dennoch: Zum Beispiel mit einer Bibliothek wie VerbalExpressions, die auch für JavaScript (Browser und Node.js) zur Verfügung steht.

VerbalExpressions - JavaScript Regular Expressions made easy

Dabei handelt es sich um eine Art Hochsprache für reguläre Ausdrücke, die solche durch einfache Funktionen generiert. So lassen sich verschiedene Bedingungen durch Chaining aneinander hängen. Mit Funktionen wie maybe() oder anythingBut() können dann komplexe Abfragen vereinfacht geschrieben werden:

  • var tester = VerEx()
  • .startOfLine()
  • .then('http')
  • .maybe('s')
  • .then('://')
  • .maybe('www.')
  • .anythingBut(' ')
  • .endOfLine();
  •  
  • var testMe = 'https://www.google.com';
  •  
  • if (tester.test(testMe)) {
  • alert('We have a correct URL'); // Output
  • } else {
  • alert('The URL is incorrect');
  • }
  •  
  • console.log(tester);
  • // Output: /^(http)(s)?(\:\/\/)(www\.)?([^\ ]*)$/

Die VerbalExpressions-Bibliothek steht bei GitHub bereit und gibt es gibt Portierungen für nahe zu jede Sprache, darunter PHP, Dart, Swift, Java, Lua und C#.

201615Jan

Chakra: Microsofts JavaScript-Engine wird Open Source

Wie seit kurzem auf dem MSEdge-Developer-Blog zu lesen ist, steht der Quellcode des Kerns der JavaScript-Engine "Chakra" jetzt bei GitHub bereit. Bei Chakra handelt es sich um die JavaScript-Engine von Microsoft, die seit Internet Explorer 9 im Einsatz ist. Bei GitHub steht nun "ChakraCore" zur Verfügung: Dabei handelt es sich um die Kernmodule der Engine, die sich aus verschiedenen Komponenten wie dem JIT-Compiler, dem Interpreter und der Runtime zusammensetzt. Mehr dazu findet sich in der Architektur-Übersicht.

ChakraCore - JavaScript-Engine von Microsoft nun Open Source

ChakraCore beherrscht ECMAScript 2015 und lässt sich zudem mit der JSRT-API (JavaScript Runtime) nutzen. So kann die Engine in eigenen Anwendungen genutzt werden. Der in C++ geschriebene Code kann für x86-, x64- oder ARM-Plattformen kompiliert werden. Dazu ist mindestens Windows 7 (mit SP1) sowie Visual Studio 2013 oder 2015 erforderlich. Eine Linux-Portierung der Engine ist laut Microsoft schon geplant.

201611Jan

Update: Blog per E-Mail-Newsletter abonnierbar

Zum Beginn des neuen Jahres gibt es auch wieder intern eine kleine Neuerung: Die Blog-Einträge und Artikel können ab sofort auch per E-Mail-Newsletter abonniert werden. Wer automatisch per Mail mit Beiträgen versorgt werden möchte, kann seine E-Mail-Adresse über dieses Formular in den Verteiler eintragen.

Update- Blog per E-Mail-Newsletter abonnierbar

Die E-Mail-Adressen werden ausschließlich für den Newsletter verwendet. Zudem kann der Newsletter jederzeit wieder abbestellt werden. Der Link zum Abonnieren findet sich nun unter jedem Beitrag.

Tags:
201611Jan

Imba: Neue Web-Sprache für Ruby- und Python-Fans

Wer gerne mit Ruby oder Python entwickelt und bei seiner nächsten Webanwendung verstärkt JavaScript einsetzen möchte, könnte einen Blick auf Imba werfen. Dabei handelt es sich um eine neue Web-Sprache, die nach JavaScript kompiliert und sowohl auf der Client- als auch auf der Serverseite eingesetzt werden kann. Der Compiler kann per npm installiert und anschließend per CLI genutzt werden.

Imba - Create complex web apps with ease

Imba versteht sich als minimalistische Sprache und vereint verschiedene Konzepte, unter Anderem auch Konzepte von React und JSX. Zudem arbeitet es in einer TodoMVC-Beispielanwendung bis zu 10x schneller als React. Die Syntax von Imba ist an Ruby angelehnt und es stehen komfortable Funktionen für die Erzeugung und Manipulation von DOM-Elementen bereit. Auf der Website finden sich diverse Beispiele, bei denen auch der generierte JavaScript-Code eingesehen werden kann. Ein Blick in die Dokumentation dürfte mehr Klarheit schaffen.