Skip to content

Announcing RheinMainJS #014

Wir haben beim letzten RheinMainJS-Meetup viel Feedback von Teilnehmern bekommen, unter anderem zur Anmeldung. Mit den Event-Seiten bei Google Plus und zuletzt vite.io waren wir selbst nicht richtig glücklich. Leider scheint es aber keine brauchbaren kostenlosen Alternativen zu geben. Da wir immer wieder auf Meetup.com angesprochen wurden und sich die Plattform mittlerweile als De-facto-Standard für Meetups etabliert hat, sind wir jetzt auch dort zu finden.

Für das kommende 14. Meetup könnt ihr euch jetzt also auf Meetup anmelden. Wir freuen uns, euch am 21. September in einer für uns neuen Location begrüßen zu können, nämlich bei Zühlke Engineering in Eschborn. Wir heißen schließlich RheinMainJS und wollen uns nicht nur auf Mainz und Wiesbaden beschränken ;-)

"Announcing RheinMainJS #014" vollständig lesen

User Group Code of Conduct

Introduction

As you may know, I'm co-organizing two user groups, PHP User Group Rheinhessen and RheinMainJS, and although we've fortunately never had any complaints about or problems with abusive behavior or harassment, I would like to establish a Code of Conduct for these user groups.

Others have done this before: AmsterdamPHP has a Code of Conduct (CoC). phpMiNDS in Nottingham has one. Several user groups in Berlin support a CoC. A lot of conferences both in the PHP and JS communities have a Code of Conduct, e.g. phpDay and JSConf Europe among many others.

A painting of two men. The man at the center is looking off to his right while drawing a symbol with his right hand. His left hand is resting on a page in a book. He is wearing a robe with a hood. The man on the right is looking towards the front and is wearing a long-sleeve red shirt with a black jacket. Several writing utensils and books are on a table with a green tablecloth in the front of the image.

"User Group Code of Conduct" vollständig lesen

ECMAScript 6 lernen mit ES6 Katas

Viel wird derzeit über ECMAScript 6 (ES6, Codename Harmony) gesprochen, das Mitte des Jahres final erscheinen soll. Auch bei unserer JavaScript UG RheinmainJS sind die kommenden Features immer wieder ein Thema (wir hatten allerdings noch keinen dedizierten Talk dazu hint hint).

Aus meiner Sicht, der ich hauptsächlich in PHP entwickle, vereinfacht die Syntax von ES6 den Zugang zu JavaScript für Entwickler, die von Sprachen wie Java, C# oder PHP kommen, enorm. Für sie sind JS-Klassen in ES6 intuitiver zu nutzen, Template Strings vereinfachen die Arbeit mit Zeichenketten, Funktionsparameter können Default-Werte erhalten, let und const beheben Konfusion im Block-Scope, es gibt verbesserte Iteratoren und Generatoren, und noch vieles mehr.

Allerdings lässt sich wohl der gesamte Umfang der Neuerungen in den meisten Produktivumgebungen heute noch nicht einsetzen. Eine Möglichkeit, dennoch in ES6 zu programmieren, sind Compiler wie Babel.js oder Traceur. Sie kompilieren den in ES6 geschriebenen Programmcode in Code um, der mit der vorherigen Version ES5 kompatibel ist. (Einen anderen, ähnlichen Weg geht TypeScript, aber das ist ein anderes Thema).

"ECMAScript 6 lernen mit ES6 Katas" vollständig lesen

So war's beim 9. RheinMainJS Meetup

Gestern Abend fand in Wiesbaden das 9. Meetup der JavaScript User Group RheinMainJS statt. Vor etwa 20 interessierten Teilnehmern, darunter auch vielen neuen Gesichtern, stellte Tom Raithel in seinem Vortrag Facebooks Bibliothek ReactJS vor.

Im Vergleich zu vielen anderen Libraries oder gar ausgewachsenen Frameworks wirkt ReactJS auf mich aufgeräumt, lesbar und gut strukturiert. Mich hat Tom von ReactJS begeistern können, und ich werde versuchen, es bald in einem Projekt einzusetzen.

Nachdem alle Fragen zu ReactJS beantwortet waren, haben wir unter allen Anwesenden noch ein Ticket für die "virtuelle" JavaScript User Group Nomad JavaScript verlost (Thx Jordan!). Herzlichen Glückwunsch an den Gewinner Martin!

Im Anschluss an den "offiziellen" Teil zog ein großer, hungriger und durstiger Tross weiter in eine Pizzeria in der Nähe, wo noch lange bei Pizza, Pasta und Getränken weiter diskutiert wurde. Insgesamt war es ein sehr gelungener Abend, nicht zuletzt dank unseres Gastgebers AOE GmbH!

In zwei Monaten, also irgendwann im April, wird das nächste RheinMainJS-Meetup stattfinden; bis dahin empfiehlt es sich, das Blog von FrankfurtJS im Auge zu behalten.

Sprachausgabe im Browser: Das Speech Synthesis API

Die neuesten Browser-Versionen von Googles Chrome (seit Version 33) und Apples Safari (seit Version 7, hier eine Übersicht der Browser-Kompatibilität) unterstützen das Speech Synthesis API. Dabei handelt es sich um ein Web API zur Sprachsynthese. Das heißt grob: Der Browser kann Texte mit einer menschlichen Stimme vorlesen.

Google Chrome hat aktuell zehn Sprechstimmen in neun Sprachen integriert: Neben einer britischen Frauen- und einer britischen Männerstimme, jeweils eine Frauenstimme, die amerikanisches Englich, Spanisch, Französisch, Italienisch, Deutsch, Japanisch, Koreanisch und Chinesisch spricht. Eine Liste der angebotenen Stimmen gibt die Methode getVoices() zurück.

window.speechSynthesis.getVoices();

Update: Rene Kriest hat mich darauf hingewiesen, dass die getVoices()-Methode asynchron funktioniert, und auch gleich ein Code-Beispiel geliefert.

Hallo Welt

Soll ein Text als gesprochen Sprache ausgegeben werden, muss zunächst eine "Äußerung" (utterance) erstellt werden. Dieses Objekt kann über weitere Eigenschaften konfiguriert werden, beispielsweise wird hier die Sprache gesetzt:

var hallo = new SpeechSynthesisUtterance("Hallo Welt.");
hallo.lang = "de-DE";
window.speechSynthesis.speak(hallo);

"Sprachausgabe im Browser: Das Speech Synthesis API" vollständig lesen