entwickler.de https://entwickler.de PHP, JavaScript, Windows Development Tue, 22 Oct 2019 11:48:36 +0000 de-DE hourly 1 https://wordpress.org/?v=4.8.3 IPC & iJS 2019 eröffnet: 25 Jahre PHP und JavaScript und kein Ende in Sicht https://entwickler.de/online/web/ipc-ijs-2019-eroeffnet-25-jahre-php-und-javascript-und-kein-ende-in-sicht-579911672.html https://entwickler.de/online/web/ipc-ijs-2019-eroeffnet-25-jahre-php-und-javascript-und-kein-ende-in-sicht-579911672.html#respond Tue, 22 Oct 2019 11:40:10 +0000 https://entwickler.de/?p=579911672 Die International PHP Conference (IPC) und International JavaScript Conference (iJS) wurden in München eröffnet. Über 60 Speaker präsentieren in über 90 Sessions, Keynotes und Workshops die neuesten Entwicklungen und Trends in den Bereichen PHP, WebTech und JavaScript.

Der Beitrag IPC & iJS 2019 eröffnet: 25 Jahre PHP und JavaScript und kein Ende in Sicht ist auf entwickler.de erschienen.

]]>
Die International PHP Conference (IPC) und International JavaScript Conference (iJS) wurden in München eröffnet. Über 60 Speaker präsentieren in über 90 Sessions, Keynotes und Workshops die neuesten Entwicklungen und Trends in den Bereichen PHP, WebTech und JavaScript.

Den Startschuss zur IPC und iJS 2019 gaben Sebastian Meyen (CCO S&S Media) und Ann-Cathrin Klose (Editor S&S Media) mit einer spannenden Eröffnungsrede zur erfolgreichen Geschichte von PHP und JavaScript. Im prallgefüllten Saal rieben sich einige Gäste die Augen: Sind die Programmiersprachen PHP und JavaScript wirklich schon fast 25 Jahre alt? Es ist in der Tat kaum zu glauben, wie lange die beliebten Programmiersprachen schon auf höchstem Level ihre Community begeistern. Während PHP zur Anfangszeit rasch wuchs und dann stabil und kontinuierlich eine Dominanz in der Web-Welt aufbaute, gab es bei JavaScript über die Jahre hinweg immer wieder Höhen und Tiefen. Mittlerweile kann JavaScript mit einem beeindruckenden Ökosystem aufwarten und ist nicht mehr aus der Programmierwelt wegzudenken.

Eröffnungsrede der IPC & iJS © S & S Media

JavaScript hatte von Anfang an den Nimbus der Kreativität und Innovation, während PHP immer wieder aufgrund seiner unaufgeregten Weiterentwicklung in Frage gestellt wurde. Doch allen Kritikern zum Trotz muss man beiden Programmiersprachen Respekt zollen. Es wurden schon einige Programmiersprachen hochgejubelt, die bereits nach wenigen Jahren wieder verschwunden waren. PHP und JavaScript sind immer noch da und entwickeln sich immer weiter.

Eröffnungskeynote von Jessica Mauerhan: RTFM!

Nach der Eröffnungsansprache folgte mit RTFM („read the fucking manuel“), die erste Keynote der Konferenz. Jessica Mauerhan gewährte dabei einen sehr persönlichen Einblick, wie ihr Weg hin zur professionellen PHP-Programmiererin verlief. Neben vielen schönen Erfahrungen, gab es dabei leider auch immer wieder unerfreuliche Erlebnisse. Beispielsweise startete sie ein sozial engagiertes App-Projekt und bekam in einem Forum nicht die erwartete Hilfe, sondern wurde schroff abgekanzelt.

Eröffnungskeynote von Jessica Mauerhan © S & S Media

Sind Programmierer also oftmals unsoziale Nerds, ohne Respekt und Einfühlungsvermögen? Wir alle haben es selber in der Hand. Hilfe braucht jeder einmal und wer sich in andere Menschen hineinversetzt, der handelt auch entsprechend sozial und engagiert. Jessica Mauerhan appeliert an ihre Zuhörer sich nicht nur auf den Code zu konzentrieren, sondern trotz all dem beruflichen Stress auch nach links und rechts zu schauen und dabei nicht die Hilfsbereitschaft und die Familie aus den Augen zu verlieren. Mit einer großen Zustimmung und einem warmen Applaus endete die beeindruckende Keynote von Jessica Mauerhan.

In den nächsten Tagen werden noch viele weitere spannende Keynotes und Vorträge auf der IPC & iJS folgen. Entwickler.de ist dabei und berichtet live vor Ort.

Der Beitrag IPC & iJS 2019 eröffnet: 25 Jahre PHP und JavaScript und kein Ende in Sicht ist auf entwickler.de erschienen.

]]>
https://entwickler.de/online/web/ipc-ijs-2019-eroeffnet-25-jahre-php-und-javascript-und-kein-ende-in-sicht-579911672.html/feed 0
Studie zu WebAssembly-Einsatz: Schädliche Absichten oder Gaming https://entwickler.de/online/web/studie-zu-webassembly-einsatz-schaedliche-absichten-und-gaming-579911651.html https://entwickler.de/online/web/studie-zu-webassembly-einsatz-schaedliche-absichten-und-gaming-579911651.html#respond Tue, 22 Oct 2019 09:56:30 +0000 https://entwickler.de/?p=579911651 Ein Forschungsteam hat sich des Themas WebAssembly angenommen: Wofür wird die noch recht neue Technologie im Web angewendet? Dabei stellte sich heraus, dass vor allem schädliche Absichten wie Cryptomining und Obfuscation dahinterstecken, aber auch Spiele sind ein beliebter Einsatzzweck.

Der Beitrag Studie zu WebAssembly-Einsatz: Schädliche Absichten oder Gaming ist auf entwickler.de erschienen.

]]>
Ein Forschungsteam hat sich des Themas WebAssembly angenommen: Wofür wird die noch recht neue Technologie im Web angewendet? Dabei stellte sich heraus, dass vor allem schädliche Absichten wie Cryptomining und Obfuscation dahinterstecken, aber auch Spiele sind ein beliebter Einsatzzweck.

An der Technischen Universität Braunschweig haben sich Marius Musch, Christian Wressnegger, Martin Johns und Konrad Rieck mit WebAssembly befasst. „New Kid on the Web: A Study on the Prevalence of WebAssembly in the Wild“ soll dem Forschungsteam zufolge die erste groß angelegte Web-Studie zu WebAssembly sein. Ziel war es, die Verbreitung und Einsatzzwecke zu untersuchen. WebAssembly (Wasm) entstand 2017 und noch im gleichen Jahr wurde der Bytecode fürs Web in alle gängigen Browser implementiert.

Verbreitung von WebAssembly

Die Forscher untersuchten die eine Million Top-Websites, die Alexa ausgibt: Wird WebAssembly verwendet und wenn ja, für welchen Zweck? Es zeigte sich, dass 1.693 Webseiten Wasm-Code ausführten, d. h. etwa eine von 600 Webseiten. Insgesamt wurden 150 einzigartige Module identifiziert, die teils mehrfach verwendet wurden. Ihre Einsatzzwecke wurden in sechs Kategorien mit verschiedenen Absichten unterteilt. Als gutartig galten „benutzerdefiniert“, „Spiele“ und „Library“, während „Mining“ und „Obfuscation“ als bösartige Anwendungszwecke festgelegt wurden. Die neutrale Kategorie „Test“ wurde verwendet, wenn vom Browser auf generelle Wasm-Unterstützung getestet wurde.

Mining, Obfuscation und Gaming

Die meisten gefundenen Module fielen in die Kategorie Mining von Kryptowährungen, mit 48 einzigarten Beispielen auf 913 Webseiten. Obfuscation wurde in 10 Modulen entdeckt, zum Beispiel zum Verschleiern von JavaScript-Code innerhalb eines Wasm-Moduls. Insgesamt wurde Wasm zu 56 % für schädliche Zwecke eingesetzt.

Der gutartige Wasm-Einsatz bezog sich hauptsächlich auf Spiele: In diese Kategorie fielen 44 einzigartige Module, die sich jedoch nur auf 58 Webseiten verteilten und somit meist nur einmal verwendet wurden. 25 Module mit Einsatz auf 636 Webseiten wurden als Library-Module identifiziert, benutzerdefinierte Module wurden 17-mal und Test-Module zweimal gefunden. Vier Module konnten nicht zugeordnet werden und laufen unter Unknown.

Die Studie wurde unter anderem durch das Bundesministerium für Bildung und Forschung im Rahmen der Projekte VAMOS und FIDI gesponsert. Der Forschungsbericht von Marius Musch, Christian Wressnegger, Martin Johns und Konrad Rieck ist bei der TU Braunschweig als PDF-Datei frei zugänglich.

Der Beitrag Studie zu WebAssembly-Einsatz: Schädliche Absichten oder Gaming ist auf entwickler.de erschienen.

]]>
https://entwickler.de/online/web/studie-zu-webassembly-einsatz-schaedliche-absichten-und-gaming-579911651.html/feed 0
IPC 2019 Livestream: Keynote „RTFM“ von Jessica Mauerhan https://entwickler.de/online/php/ipc-2019-livestream-keynote-rtfm-579911382.html https://entwickler.de/online/php/ipc-2019-livestream-keynote-rtfm-579911382.html#respond Tue, 22 Oct 2019 06:25:32 +0000 https://entwickler.de/?p=579911382 "RTFM" - lies das verdammte Handbuch! Das gibt es auch für knorrige und unkommunikative Programmierer. Aber sind diese Stereotypen überhaupt wahr? Jessica Mauerhan möchte in ihrer Keynote für eine mitfühlende und respektvolle Kommunikation werben.

Der Beitrag IPC 2019 Livestream: Keynote „RTFM“ von Jessica Mauerhan ist auf entwickler.de erschienen.

]]>
"RTFM" - lies das verdammte Handbuch! Das gibt es auch für knorrige und unkommunikative Programmierer. Aber sind diese Stereotypen überhaupt wahr? Jessica Mauerhan möchte in ihrer Keynote für eine mitfühlende und respektvolle Kommunikation werben.

Am ersten Konferenztag der IPC und der gleichzeitig stattfindenden iJS in München gibt es eine Keynote von Jessica Mauerhan. Verfolgen Sie die Session im Livestream:

Dienstag, 22. Oktober 2019: RTFM

There is a stereotype of programmers as being antisocial and difficult, and unfortunately many of us take on this attitude as if it comes with the job – but it doesn’t have to be this way! I know it from experience, because I’ve been an angry, judgmental know-it-all, and I’m ready to tell you how I completely changed my attitude and refactored my life.

In this talk I’ll explain how anger and fear are the root causes of our aggressive behavior, how these feelings manifest as judgmental comments online, bullying in the workplace and ultimately keep the tech community toxic and stunted. I’ll show you how embracing compassion, respect, and empathy will make you a better programmer and a happier person.

Die Sprecherin

Jessica Mauerhan (Skillshare) is a software engineer who has been working with PHP and related technologies for 15 years. She enjoys mentoring fellow engineers in automated testing, test driven development, and quality code design. She lives in McKinney Texas with her family and loves coffee, comedy and podcasts.

Der Beitrag IPC 2019 Livestream: Keynote „RTFM“ von Jessica Mauerhan ist auf entwickler.de erschienen.

]]>
https://entwickler.de/online/php/ipc-2019-livestream-keynote-rtfm-579911382.html/feed 0
Gehaltsrechner von Stack Overflow: Wo verdienen Entwickler am meisten? https://entwickler.de/online/development/stack-overflow-gehaltsrechner-2019-579911543.html https://entwickler.de/online/development/stack-overflow-gehaltsrechner-2019-579911543.html#respond Mon, 21 Oct 2019 12:35:27 +0000 https://entwickler.de/?p=579911543 Was verdient ein Data Scientist in Deutschland oder Kanada? Welchen Unterschied macht die Berufserfahrung? Stack Overflow will darauf Antworten liefern und hat seinen Gehaltsrechner einem Update unterzogen. Er soll Entwicklern und Arbeitgebern repräsentative Gehälter für IT-Berufe anzeigen und ist auch für Deutschland verfügbar.

Der Beitrag Gehaltsrechner von Stack Overflow: Wo verdienen Entwickler am meisten? ist auf entwickler.de erschienen.

]]>
Was verdient ein Data Scientist in Deutschland oder Kanada? Welchen Unterschied macht die Berufserfahrung? Stack Overflow will darauf Antworten liefern und hat seinen Gehaltsrechner einem Update unterzogen. Er soll Entwicklern und Arbeitgebern repräsentative Gehälter für IT-Berufe anzeigen und ist auch für Deutschland verfügbar.

Stack Overflow hat seinen Salary Calculator, der seit drei Jahren existiert, seinem jährlichen Update unterzogen. Der Gehaltsrechner steht online zur Verfügung und basiert auf den Ergebnissen des diesjährigen Stack Overflow Developer Survey. Daten gibt es für insgesamt neun Länder, darunter die USA, Deutschland, Kanada, Frankreich und das Vereinigte Königreich.

Der Salary Calculator soll anzeigen, was verschiedene Entwicklertypen wie DevOps Engineers oder Frontend-Entwickler in der Landeswährung in den untersuchten Ländern verdienen. In manchen Fällen wurden auch spezifische Städte getrennt ausgewertet, zum Beispiel sollen Entwickler in Paris etwa 15 % mehr als im Rest Frankreichs verdienen. Die Ergebnisse werden jeweils als Perzentile angezeigt. Hier zum Beispiel das Ergebnis für einen Data Scientist in Deutschland mit Bachelorabschluss und drei Jahren Berufserfahrung:

Stack Overflow Salary Calculator; Quelle: Stack Overflow

Die wichtigsten Einflussfaktoren

Laut Stack Overflow haben der Standort, die Bildung, die Berufserfahrung, die verwendeten Technologien und die Art der Entwicklung die größte Aussagekraft für die Schätzung des Gehalts. Die Auswirkungen von Standort und Berufserfahrung wurden an den fünf Ländern demonstriert, die den größten Traffic auf Stack Overflow generieren sowie die meisten Teilnehmer im Survey stellen – USA, Deutschland, Kanada, das Vereinigte Königreich und Frankreich:

Gehaltsunterschiede nach Standort und Berufserfahrung; Quelle: Stack Overflow

Die Gehälter sind demnach in den USA am höchsten, danach folgen mit einigem Abstand Deutschland und Kanada. Die Berufserfahrung wirkt sich wie erwartet grundsätzlich positiv auf die Höhe des Gehalts aus, vor allem in den ersten Jahren des Berufseinstiegs.

Ein weiterer wichtiger Prädiktor ist die Art der Entwicklung. Über verschiedene Länder hinweg zahlt sich DevOps am meisten aus, während zum Beispiel Frontend-Entwickler oder Datenbank-Admins am unteren Bereich der Skala zu finden sind:

Gehaltsunterschiede nach Entwicklertyp; Quelle: Stack Overflow

Allerdings hat sich Stack Overflow die Daten differenzierter angeschaut und festgestellt, dass zum Beispiel Data Scientists und Data Engineers zwar ein hohes Gehalt erzielen, jedoch vor allem aufgrund ihrer hohen Bildung und Berufserfahrung. Sie verdienen nicht mehr als andere Entwicklertypen mit ähnlicher Bildung und Erfahrung.

Zur Modellierung des Gehaltsrechners wurde eine multiple lineare Regression auf die logarithmierten Einkommen angewendet. Allerdings räumt Stack Overflow ein, dass die Vorhersage einige Schwierigkeiten aufweist. In Ländern wie Indien oder Brasilien mit niedrigerem Einkommen sei sie unzuverlässiger als in Ländern wie Schweden oder Deutschland mit höherem Einkommen.

Weitere Details zur Methodik und Datengrundlage gibt es im Blogeintrag von Stack Overflow.

Der Beitrag Gehaltsrechner von Stack Overflow: Wo verdienen Entwickler am meisten? ist auf entwickler.de erschienen.

]]>
https://entwickler.de/online/development/stack-overflow-gehaltsrechner-2019-579911543.html/feed 0
Auf dem Weg zu Angular 9: Features & Reverts in Angular 9.0.0-next.12 https://entwickler.de/online/javascript/angular-9-news-579895784.html https://entwickler.de/online/javascript/angular-9-news-579895784.html#comments Mon, 21 Oct 2019 10:23:16 +0000 https://entwickler.de/?p=579895784 Angular 9.0.0-next.12 bringt eine Reihe neuer Features mit. Nicht alle Ideen haben sich jedoch bewährt: Einige der Änderungen mussten rückgängig gemacht werden.

Der Beitrag Auf dem Weg zu Angular 9: Features & Reverts in Angular 9.0.0-next.12 ist auf entwickler.de erschienen.

]]>
Angular 9.0.0-next.12 bringt eine Reihe neuer Features mit. Nicht alle Ideen haben sich jedoch bewährt: Einige der Änderungen mussten rückgängig gemacht werden.

Angular 8 hat mit höflicher Verspätung im Juni das Licht der Welt erblickt. Doch nach dem Release ist vor dem Release und bereits im Herbst steht Angular 9 auf dem Plan, genauer: im Oktober oder November sollte es soweit sein. Ob dieser Termin eingehalten wird, oder Angular 9 doch ein Nikolausgeschenk wird? Wir werden es sehen. Doch bis dahin ist es noch ein weiter Weg und zunächst stehen traditionell die kleineren Releases, also Angular 8.1, 8.2 usw. ins Haus.

Angular 9: Die Next-Versionen

Angular 9.0.0-next.12

Update vom 21. Oktober 2019

Mit dem Release von Angular 9.0.0-next.12 unterstützt das Framework nur noch TypeScript 3.6, nicht mehr die Vorgänger-Versionen 3.4 und 3.5. Damit bringt auch dieses Next-Release wieder einen Breaking Change mit. Das ist allerdings der einzige. Weitere Neuerungen betreffen erneut die Performance mit Ivy. Hier wurde unter anderem an der Initialisierung von statischen Attributen in Templates gearbeitet, die jetzt nur noch im ersten Durchgang stattfindet.

Zu den Feature-Neuerungen an Angular 9.0.0-next.12 gehört, dass nun Typechecking für Event Bindings mit Ivy zur Verfügung steht. Ebenfalls in den Bereich von Ivy fällt das vereinfachten Debugging für Styles und Classes. Einige Neuerungen, darunter ein Flag, das BootstrapOptions hinzugefügt wurde, mussten allerdings bereits zurückgezogen werden. Genauere Informationen dazu können wie immer über das Changelog auf GitHub gefunden werden.


Angular 9.0.0-next.11

Update vom 16. Oktober 2019

Die TypeScript-Runtime-Bibliothek tslib ist keine direkte Dependency von Angular mehr. Mit der Veröffentlichung von Angular 9.0.0-next.11 ist tslib in den Status einer Peer-Dependency übergegangen. Für Nutzer, die das Angular-CLI nicht verwenden, stellt das einen Breaking Change dar, da sie tslib nun manuell installieren müssen. Auch für Angular Forms bringt v9.0.0-next.11 einen Breaking Change mit: <ngForm></ngForm> ist entfernt worden und kann nicht mehr als Selector verwendet werden. Stattdessen muss nun mit <ng-form></ng-form> gearbeitet werden. Zu den Breaking Changes in diesem Kontext gehört auch, dass die entsprechende Warnung entfernt wurde. Der dritte Breaking Change an den Forms besteht in der Entfernung von FormsModule.withConfig. Stattdessen kann FormsModule direkt verwendet werden.

Neben diesen Breaking Changes bringt die neue Next-Version von Angular 9 natürlich auch einige Feature-Änderungen sowie Performance-Verbesserungen und Bugfixes mit. Wie schon zuvor in den Next-Releases für Angular 9 zu sehen war, zeigt sich auch hier wieder, dass das Angular-Team an der Fertigstellung des neuen Compilers, Ivy, arbeitet. Hier bringt Version Next.11 verschiedene Neuerungen mit: Für den i18n-Support in Angular 9 wird mit Ivy ein neues Format eingeführt; wird noch das alte verwendet, musste dies bislang manuell markiert werden. Um das Upgrade zu erleichtern, ist enableI18nLegacyMessageFormat nun aber standardmäßig auf true gesetzt worden. Zu den weiteren Neuerungen für Ivy gehört, dass nun genauere Fehlermeldungen für unbekannte Komponenten ausgegeben werden, die Informationen dazu enthalten, wie das Problem gelöst werden kann.

Das sind natürlich noch nicht alle Neuerungen, die in den Bereich des neuen Compilers fallen. Auch die Verbesserungen an der Performance in diesem Release gehören zu Ivy. Darunter fällt beispielsweise, dass in setInputsFromAttrs nun striktere Null-Checks ausgeführt werden.

Weitere Informationen zu diesen und allen weiteren Neuerungen können wie immer dem Changelog auf GitHub entnommen werden.


Angular 9.0.0-next.10

Update vom 10. Oktober 2019

Angular 9.0.0-next.10 steht zum Test bereit: Die Arbeit an Angular 9 geht weiter, noch ist die neue Major-Version des Frameworks nicht da. Erst einmal wurde nun in der Code-Basis aufgeräumt. Renderer, bekannt aus Version 4, ist schon lange deprecated und wurde nun ganz entfernt, inklusive der zugehörigen Symbole. Stattdessen muss nun Renderer2 verwendet werden. Auch neue Features haben es aber in das Release geschafft. Für Ivy sind zwei Neuerungen mit Bezug auf die Internationalisierungs-Funktionen (i18n) dabei, wie im Changelog nachgelesen werden kann:

  • ivy: i18n – implement compile-time inlining (#32881) (2cdb3a0)
  • ivy: i18n – render legacy message ids in $localize if requested (#32937) (bcbf3e4)

Außerdem gibt es Feature-News für den Core, wo Queries nun standardmäßig dynamisch verarbeitet werden. Das static-Flag für ViewChild und ContentChild steht darum nun standardmäßig auf false. Dazu wurde das Flag außerdem als optional markiert. Weitere neue Features betreffen die Forms, den Language-Service und ngcc.

Für die Performance bringt das Update erneut Änderungen an Ivy mit. Informationen zu diesen und allen weiteren Änderungen können dem Changelog entnommen werden.


Angular 9.0.0-next.9

Update vom 4. Oktober 2019

Mit Angular 9.0.0-next.9 haben es vier neue Features in die kommende Major-Version geschafft, einer davon gilt als Breaking Change. Dieses Mal handelt es sich dabei jedoch nicht um eine Neuerung an Ivy oder Bazel, sondern um eine Deprecation im Service Worker, die nun entfernt wurde. So steht versionedFiles in der Service Worker Asset Group Configuration in ngsw-config.json nicht mehr zur Verfügung.

Unter den drei weiteren Feature-Änderungen, die dieses Release mitbringt, findet sich dann aber doch auch der neue Compiler wieder: Mit Ivy kann das Package @angular/localize nun per ng add hinzugefügt werden. Ebenfalls zu Ivy gehört die Performance-Verbesserung im Release: Der globale State wird nicht mehr wiederholt aus den i18n Instructions aufgerufen, wenn die Informationen bereits verfügbar sind.

Darüber hinaus aktualisiert Angular 9.0.0-next.9 die notwendige Version der RxJS Dependency auf v6.5.3. Auch für den Language Service gibt es eine Neuerung, die das Laden von NgModules betrifft. Wenn NgModules aus dem Language Service geladen werden, wird nun geprüft, ob eine aktualisierte Version im Cache vorliegt. Ist das der Fall, kann diese genutzt werden.

Darüber hinaus wurde eine Reihe von Bugfixes in Angular 9.0.0-next.9 implementiert. Einen Überblick über alle Neuerungen gibt das Changelog auf GitHub.


Angular 9.0.0-next.8

Update vom 26. September 2019

Das neunte Next-Release von Angular 9, v9.0.0-next.8, bringt nur vier Neuerungen mit, zwei davon sind Bugfixes für Ivy. Behoben wurde ein Fehler der im Kontext des Debuggings von Component Elements auftrat. Hier werden mit window.ng.getDebugNode nun die nötigen Debug-Infos ausgegeben. Der zweite behobene Bug in Ivy bezieht sich auf Map-basierte Bindings, die unter bestimmten Umständen zwischenliegende Werte übersprangen.

Im Release ist auch ein neues Feature enthalten, das im Language Service eingefügt wurde. Dieser kann jetzt feststellen, zu welchem NgModule ein Directive gehört. Die Performance-Verbesserung findet sich hingegen wieder in Ivy: Der extra SafeStyle Detection Code wurde entfernt.

Weitere Informationen zum Release können wie immer dem Changelog auf GitHub entnommen werden.


Angular 9.0.0-next.7

Update vom 19. September 2019

Angular 9.0.0-next.7 ist da! Erneut bringt die Version eine ganze Reihe neue Features mit, darunter einige Neuerungen für Ivy. Auch an der Performance des neuen Compilers wurde gearbeitet. Das Release bringt aber auch Breaking Changes mit.

Für Ivy wurden mit Version Next.7 von Angular 9 unterschiedliche Neuerungen ausgeliefert. Darunter sind sowohl Bugfixes als auch neue Features und Performance-Verbesserungen. Auch die beiden Breaking Changes im Release hängen mit Ivy zusammen. Eine davon betrifft Übersetzungen, die mit der Funktion loadTranslations() geladen werden. Hier muss nun MessageId für den Key verwendet werden, nicht mehr der String SourceMessage. Für die $localize-Funktion haben sich die Imports verändert. Der globale Scope wird nun aus @angular/localize/init importiert, während loadTranslations() und clearTranslations() aus @angular/localize geladen wird. Auch dabei handelt es sich um Breaking Changes. Zu den Performance Improvements für Ivy gehört, dass Lview in Pipe Instructions und Property Instructions nicht mehr wiederholt gelesen wird. Für das DOM wurden unnötige Lesezugriffe in Styling Instructions vermieden. Außerdem sind einige weitere Performance-Verbesserungen, Features für den Internationalisierungs-Support in Ivy und Bugfixes für Ivy im Release enthalten.

Neben den Neuerungen an Ivy gab es im Release natürlich auch Updates für andere Bereiche von Angular. So sind erneut drei Features für den Language-Service enthalten. Dazu gehört, dass einige Logging-Methoden für den TypeScript-Host hinzugefügt wurden, mit denen Logfiles erzeugt werden können.

Mehr Informationen zu diesen und allen weiteren Neuerungen an Angular 9.0.0-next.7 können dem Changelog auf GitHub entnommen werden.


Angular 9.0.0-next.6

Update vom 12. September 2019

Mit Angular 9.0.0-next.6 wurden wieder zahlreiche Neuerungen am Framework veröffentlicht. Darunter ist eine ganze Reihe von Bugfixes, aber auch einige Performance-Verbesserungen, Features sowie ein Code-Refactoring, das einen Breaking Change verursacht, haben es in das Release geschafft. Deutlich zu sehen ist am Changelog, dass weiterhin an Ivy gearbeitet wird. So stehen vier von fünf Performance-Verbesserungen im Zusammenhang mit Ivy; auch unter den Bugfixes finden sich vor allem behobene Fehler am neuen Compiler. Darunter ist beispielsweise ein Bug, der durch die in der vorherigen Next-Version vorgenommene Integration von $localize in Ivy entstand. Hier wurde zum neusten Release festgelegt, dass keine jsdoc-Kommentare für $localize erzeugt werden sollen. Diese glichen denen für goog.getMsg(), sodass eine Fehlermeldung ausgegeben worden war.

Die neuen Features im Release fallen dieses Mal jedoch nicht in den Bereich von Ivy. Neuerung gab es aber am Language Service. Hier wurde Support für styleUrl-Definitionen hinzugefügt, der analog zu den Definitionen von templateUrl funktioniert und das Vorgehen vereinheitlichen soll. Für die Language Service Integration Tests wurde ein Script hinzugefügt, das die Angular-Distribution bei jedem Build neu installiert. Mit dem neuen Script kann die Installation außerhalb des Root-Verzeichnisses erfolgen. Außerdem wurden einige Änderungen am Service Worker vorgenommen, die sich auf den EXISTING_CLIENTS_ONLY-Modus beziehen. Darunter ist ein neues Feature, das die Rückkehr aus diesem Modus ermöglicht, wenn ein entsprechendes Update verfügbar ist.

Ein Refactoring wurde in Angular 9.0.0-next.6 an der Protractor-Integration für Bazel vorgenommen. Bislang war die Regel protractor_web_test_suite rule im npm-Package @angular/bazel zu finden, wurde nun aber daraus entfernt. Stattdessen findet sie sich nun im Package @bazel/protractor. Wer mit dieser Regel arbeitet, muss sein Projekt entsprechend anpassen, da es sich dabei um einen Breaking Change handelt.

Weitere Informationen zur neusten Next-Version von Angular 9 können wie immer dem Changelog entnommen werden.


Angular 9.0.0-next.5

Update vom 5. September 2019

Achtung! Nachdem die next.3-Version von Angular 9 den letzten Breaking Change beinhaltete und Ivy zum Standard-Compiler kürte, gibt es im aktuellen Release auch wieder zwei Breaking Changes. Der erste betrifft den öffentlichen Export von hasBeenProcessed(), der nicht mehr stattfinden wird. Der Grund für das Entfernen ist einfach: Die Funktion wurde nie genutzt. Da eine Änderung an der Funktion ein Breaking Change ist, wurde sie komplett entfernt. Der zweite Breaking Change betrifft die Methode Injector.get, die nun abstrakten Klassen erlaubt, typsichere Werte auszugeben.

Doch Angular 9.0.0-next.5 hat mehr im Gepäck als Breaking Changes: Auch neue Features gibt es wieder, fünf an der Zahl. Da gerade vom Ivy Compiler die Rede war beginnen wir dort. Für den Compiler wurde die globale Funktion $localize() implementiert. Im Bereich Bazel wurde auf die neueste Version von [@microsoft](https://github.com/microsoft)/api-extractor aktualisiert. Die Methode TestBed.inject wurde unterdessen in den Kern von Angular eingebaut, um TestBed.get zu ersetzen. Zudem wurde der Decorator providedIn erweitert, sodass nun 'platform' und 'any' genutzt werden können.

Auch die Performance des Ivy Compilers stand wieder im Fokus, ganze neun Verbesserungen wurden hierfür durchgeführt. Unter anderem wurden Mikro-Benchmarks für normale und Map-basierte Style- und Klassen-Bindings eingeführt. Ein Benchmark für das Erstellen von Elementen und Text wurde ebenfalls hinzugefügt. Entfernt wurden hingegen Calls zu renderStringify beim Erstellen von Text-Nodes und der sich wiederholende read/write-Prozess in addComponentLogic. Außerdem ist die Klasse PlatformLocation nun „tree-shakable“.

Alle Änderungen, Bugfixes, Performance-Verbesserungen und natürlich die Breaking Changes, sind in vollem Umfang auf GitHub zu finden.


Angular 9.0.0-next.4

Update vom 28. August 2019

Seit der vorigen Vorabversion von Angular 9, ist Ivy als Standard-Compiler und -Renderer festgelegt. Kein Wunder also, dass sich die meisten Änderungen des aktuellsten Releases auf Ivy bezieht. Unter anderem wurden einige Bugs gefixt, darunter auch der ärgerliche Fehler, der verhinderte, dass der Index für Bindings vor der Ausführung eines Templates während des Aufrufens von refreshView zurückgesetzt wird.

Ein neues Feature für Ivy stellt die Nutzung der DomElementSchemaRegistry für die Prüfung von Bindings zum DOM durch ngtsc dar. So sollen zukünftig Fehler in Apps vermieden werden, die durch das TypeScript-Schema lib.dom.d.ts bzw. dessen nicht reibungslose Nutzung in Verbindung mit der DomElementSchemaRegistry entstehen.

Für eine etwa 6 Prozent niedrige Verarbeitungszeit im Produktionsmodus soll das ausschließliche Speichern von Binding-Metadaten im ngDevMode sorgen. Auf eine etwa 12 Prozent gesteigerte Performance können sich Nutzer ebenfalls freuen: Durch ein Refactoring des Umgangs mit lView[BINDING_INDEX] (keine doppelten Einträge an dieser Stelle mehr), soll Angular schneller werden.

Weitere Informationen zur aktuellen Next-Version können wie immer dem Changelog auf GitHub entnommen werden.


Angular 9.0.0-next.3

Update vom 22. August 2019

Ivy ist als Standard-Compiler und -Renderer in Angular 9.0.0-next.3 angekommen. In Angular 8.x und den bisherigen Releases für die Angular-9-Entwicklung ist Ivy noch als Opt-In-Feature verfügbar. Der Wechsel zum Standard war für Angular 9 bereits angekündigt worden; dies soll eine der zentralen Neuerungen für das kommende Major Release sein. Nun ist es so weit: Wer die Next-Versionen von Angular 9 testet, bekommt ab sofort als Standard-Pipeline für Rendering und Compiling ausgeliefert.

Im Zuge dieser Umstellung wurden natürlich einige Neuerungen an Ivy in das Release integriert. So wurden alle ngtsc-Diagnostics für Ivy zu ts.Diagnostics konvertiert. Außerdem können mit Ivy nun selektor-lose Directives als Base-Klassen genutzt werden. Auch ein Breaking Change für Ivy ist im Release enthalten. So ist Hammer.js in Zukunft Tree-Shakeble, sodass Hammer-Providers nicht mehr mit ausgeliefert werden, wenn HammerModule nicht in das Root-Module importiert wird. Für die Performance führt das Changelog zur neuen Next-Version gleich zehn Neuerungen auf, die im Zusammenhang mit Ivy stehen; einige Bugfixes für Ivy sind im Next-Release ebenfalls enthalten. Außerdem bringt Angular 9.0.0-next.3 eine Reihe weiterer Änderungen mit, die andere Bereiche des Frameworks betreffen, wie den Core und den Language-Service. Weitere Informationen dazu können wie immer dem Changelog auf GitHub entnommen werden.


Angular 9.0.0-next.2

Update vom 13. August 2019

Mit Angular 9.0.0-next.2 steht nun schon das dritte Next-Release für die kommende Major-Version bereit. Dieses Mal sind gleich zwei Neuerungen für Ivy mit dabei, den neuen Renderer, der zu Angular 9 fertig gestellt werden soll. Der Bugfix für Ivy betrifft das Verhalten bei inkrementellen Änderungen an Komponenten. Wenn diese Teil eines NgModules sind, trat bisher ein Fehler auf, weil die Information über den Compilation Scope aus dem NgModule verloren gingen und nicht neu erzeugt wurden. Nun wird diese Information über das Interface ComponentScopeRegistry registriert, sodass sie für inkrementelle Kompilierungen verfügbar ist. Für die Performance von Ivy wurde ein Refactoring vorgenommen, durch das der Global State im Kontext interpolierter Werte nicht mehr ausgelesen wird, solange es nicht nötig ist.

Die weiteren zwei Bugfixes im Release betreffen Bazel und den Compiler. Für Bazel wurde das Treeshaking bei der Erzeugung von FESM- und UMD-Bundles deaktiviert. Der Bugfix am Compiler betrifft das Entfernen von Whitespace im Wrapping von i18n-Expansions. Weitere Informationen zu Angular 9.0.0-next.2 können dem Changelog auf GitHub entnommen werden.


Angular 9.0.0-next.1

Update vom 9. August 2019

Drei Bugfixes haben es in Angular 9.0.0-next.1 geschafft. Davon betreffen zwei den Language-Service, einer den Upgrade-Bereich. Für den Language-Service wurde getSourceFile() so konfiguriert, dass es nur für TypeScript-Dateien aufgerufen wird. Dem entsprechenden Pull Request ist zu entnehmen, dass es sich dabei um eine Vorbereitung auf die Integration externer Template-Dateien handelt, die künftig vom Angular Language Service Plug-in verarbeitet werden sollen. HTML-Dateien müssen davon jedoch ausgeschlossen werden. Die zweite Neuerung am Language Service steht in Zusammenhang damit, dass Angulars eigenes LanguageService Interface durch das von TypeScript ersetzt werden soll. Diese Änderung an sich ist noch nicht vollzogen worden; auf dem Weg dahin hat man mit dem Release von Angular 9.0.0-next.1 aber die Definition und QuickInfo kompatibel damit gemacht. Details können auch hier im Pull Request gefunden werden.

Im Upgrade-Bereich wurde ein Fehler behoben, der bei der Kompilierung von downgegradeden Komponenten auftrat. Da AngularJS synchron kompiliert, sollen Komponenten nach dem Downgrade ebenfalls so behandelt werden. Das war nicht mehr der Fall und wurde nun über die statische Methode SyncPromise.all() wieder implementiert.

Weitere Informationen zu den Neuerungen an Angular 9.0.0-next.1 können wie immer im Changelog auf GitHub gefunden werden.


Angular 9.0.0-next.0

Update vom 1. August 2019

Beta-Versionen heißen jetzt „next“: Angular hat nach dem Release von v8.0 das Schema bei der Benennung ihrer Versionen verändert. Wo zuvor von Beta-Relaeses gesprochen wurde, steht jetzt „next“ im Versionsnamen. So auch beim ersten Release mit der Nummer 9 im Titel: v9.0.0-next.0 wurde veröffentlicht und zeigt, dass Ivy ein großes Thema für die kommende Major-Version ist. Viel mehr verraten die Release Notes auf GitHub aber nicht. Das erste 9er-Test-Release bringe Verbesserungen und Fixes mit Bezug zu Ivy mit, so ist dort zu lesen. Weitere Informationen folgen wohl erst mit der nachfolgenden Version.


Angular 8.x: Die Minor-Releases

Angular 8.2.0

Update vom 1. August 2019

Angular 8.2.0 ist fertig. Nach einem Release Candidate steht nun das finale Release der Minor Version von Angular zum Download bereit, das alle Neuerungen der Testphase zusammenbringt und einige kleinere Änderungen selbst hinzufügt. So bringt v8.2.0 beispielsweise Support für TypeScript 3.5 mit und umfasst insgesamt 14 Bugfixes, die jedoch weitgehend aus den Betas bekannt sind. Genau so verhält es sich mit den insgesamt sechs neuen Features im Release, zu denen unter anderem die automatische Migration von Renderer zu Renderer2 gehört. Dieses Feature konnte seit Angular 8.2.0-next.1 getestet werden.

Einen Überblick über Angular 8.2.0 gibt das Changelog auf GitHub.


Angular 8.2.0-rc.0

Update vom 30. Juli 2019

Angular 8.2.0-rc.0 bringt eine Neuerung mit, die sich positiv auf die Performance auswirken soll. Dazu wurde am Verhalten des Compilers gearbeitet, der nun nicht mehr vom Prototype zu den eigenen Properties kopiert, wenn ein Objekt geklont wird. Bis zur Verwendung von Node 12 sei das kein Problem gewesen, da Node in vorherigen Versionen selbst eine Optimierung dafür mitbrachte. Das wurde jedoch zugunsten anderer Optimierungen in Node 12 verworfen, sodass nun eine Lösung in Angular implementiert wurde.

JavaScript Days 2019

JavaScript Testing in der Praxis (Teil 1 + 2)

mit Dominik Ehrenberg (Crosscan) und Sebastian Springer (MaibornWolff)

Fortgeschrittene schwarze Magie in TypeScript

mit Peter Kröner (‚Webtechnologie-Erklärbär‘)

Zu den neuen Features im Release gehört, dass $element nun für Upgrades verfügbar ist und in Template Functions von Komponenten eingefügt wird, die geupgraded wurden. Das zweite Feature ist eine Neuerung, die Bazel und Ivy zusammen bringt. Dazu wurde das Compile Target für Angular in Bazel so verändert, dass nun Ivy verwendet wird. Damit soll ein Problem gelöst werden, das mit transitiven Dependencies auftrat, die bisher nicht erzeugt werden konnten, da sie über einen alten Compiler geladen wurde. Weitere Informationen dazu können dem entsprechenden Pull Request auf GitHub entnommen werden. Eine weitere Änderung für Bazel wird als Bugfix geführt: Die maximale Heap-Größe für node/ngc in Bazel ist von 2GB auf 4GB erhöht worden. Damit habe man diesen Wert an den des TypeScript-Compilers angepasst.

Weitere Informationen zu diesen Änderungen sowie den drei weiteren Bugfixes am ersten Release Candidate zu Angular 8.2.0 sind im Changelog auf GitHub zu finden.


Angular 8.2.0-next.2

Update vom 18. Juli 2019

Mit Angular 8.2.0-next.2 hat die kommende Minor-Version von Angular 8 vier weitere Bugfixes erhalten. Kontinuierlich gearbeitet wird noch immer an Bazel. Mit diesem Release wurde eine erst kürzlich vorgenommene Änderung zurück genommen, die den Umgang mit Custom Bazel Compiler Hosts betrifft. Die Neuerung „feat(bazel): allow passing and rewriting an old bazel host“ sei nicht mehr nötig, da der Angular Indexer stabil sei, wie im entsprechenden Pull Request erklärt wird.

Die drei weiteren Bugfixes im Release betreffen den Language-Service, das Compiler-CLI und erneut das WTF-Array. Details dazu können dem Changelog auf GitHub entnommen werden.


Angular 8.2.0-next.1 veröffentlicht

Update vom 11. Juli 2019

Das zweite Beta-Release für Angular 8.2 ist da: 8.2.0-next.1. Auch dieses Update fällt eher klein aus und bringt nur drei Neuerungen mit. Darunter ist ein neues Feature für den Core, das die Migration von Renderer auf Renderer2 automatisiert. Zu den Änderungen, die dadurch automatisch vorgenommen werden, gehört die automatische Umbenennung der Methoden aus dem alten Renderer. Wo dies nicht möglich ist, weil sich die Methoden nicht direkt entsprechen, werden nun automatisch Helper-Funktionen eingefügt, die sicherstellen, dass dennoch valider Code erzeugt wird. Weitere Informationen zu den automatisierten Migrationsschritten für Renderer2 können dem entsprechenden Pull Request entnommen werden.

Die anderen beiden Neuerungen am Release sind Bugfixes. Eins davon betrifft Bazel. Hier wurde eine Änderung am Übersetzungssystem rückgängig gemacht, da das System an sich nicht mehr den vollen Dateipfad des Outputs benötigt. Der zweite Bugfix betrifft den Compiler, wo nun alle Informationen aus ASTWithSource separat von AST an sich aufgerufen werden können.

Weitere Informationen zum Release können wie immer über das Changelog aufgerufen werden.


Angular 8.1.0 & 8.2.0-next.0 veröffentlicht

Update vom 8. Juli 2019

Angular 8.1.0 ist in der vergangenen Woche final veröffentlicht worden. Das erste Minor-Release für Angular 8 hat noch einmal drei Fehler behoben, zwei davon im Bereich des Service-Worker, einen am Core. Das Changelog listet diesbezüglich folgende Änderungen auf:

  • core: handle undefined meta in injectArgs (#31333) (80ccd6c), closes CLI #14888
  • service-worker: cache opaque responses in data groups with freshness strategy (#30977) (b0c3453), closes #30968
  • service-worker: cache opaque responses when requests exceeds timeout threshold (#30977) (a9038ef)

Angular 8.2.0-next.0 folgte umgehend auf dieses Release. Hier finden sich die gleichen Bugfixes wie in der Minor-Version, darüber hinaus gab es aber auch Neues für Bazel. Zwei neue Features sind dabei. So kann mit Bazel nun ein individuell festgelegter CompilerHost genutzt und an ngc Compile weitergegeben werden. Nötig sei das beispielsweise für Nutzer, die den Compiler Host von TypeScript überschreiben müssen. Das zweite Feature hängt mit dieser Änderung unmittelbar zusammen. Um sicherzustellen, dass der Angular Indexer bei Google korrekt mit neu gesetzten Bazel Hosts umgehen kann, wurde eine Option eingefügt, mit der alte Bazel Hosts weitergegeben und überschrieben werden können.

Weitere Informationen zu beiden Versionen können dem Changelog auf GitHub entnommen werden.

Angular 8.1.0-rc.0

Update vom 27. Juni 2019

Mit Version 8.1.0-rc.0 steht der erste Release Candidate für Angular 8.1 bereit. Ein neues Feature ist in der Version enthalten: Für AngularJS und Angular sind nun zwei neue Test Helper in der Upgrade/Static-Library verfügbar. Diese helfen bei der Verbindung der Injectors der Versionen, ohne dazu vollständig hybride Apps erstellen zu müssen. Weitere Details zum neuen Feature können im entsprechenden Pull Request nachgelesen werden.

Für Bazel bringt das Release drei Bugfixes mit. Darunter ist eine Aktualisierung von ng new schema, mit der es dem gegenwärtigen Status des Angular Schematics angepasst wurde. Außerdem sind nun keine nicht unterstützten CSS-Pre-Processors mehr darin enthalten. Das dritte Bugfix für Bazel bezieht sich auf Metadata-Builds, die nun keine Schematics-Ordner mehr umfassen.

Außerdem bringt das Release auch Bugfixes für den Compiler und Service-Worker mit. Weitere Informationen können wie immer dem Changelog auf GitHub entnommen werden.


Angular 8.1.0-next.3

Update vom 21. Juni 2019

Mit Angular 8.1.0-next.3 steht ein weiteres Preview-Release für Angular 8.1 zum Download bereit. Die Anzahl der Neuerungen in der Version fällt klein aus, nur drei Bugfixes sind enthalten. Einer davon betrifft Bazel, dessen Builder Workspace jetzt mit Node 10.16 arbeitet. Der zweite Bugfix des Release findet sich in getQuickInfoAtPosition, wo any entfernt wurde. Außerdem wurde das @deprecated JSDoc-Tag vorläufig aus TestBedStatic.get entfernt, da eine Änderung an der Signatur von TestBed.get zu einer deutlich höheren Zahl an Deprecation-Warnungen in einigen TypeScript-Projekten geführt hatte. Bis dafür eine andere Lösung implementiert wurde, hat man die durch @deprecated erstellten Annotations darum durch reine Textwarnungen ersetzt, wie dem entsprechenden Pull Request zu entnehmen ist.

Weitere Informationen zu Angular 8.1.0-next.3 können wie immer dem Changelog auf GitHub entnommen werden.


Angular 8.1.0-next.2

Update vom 14. Juni 2019

Angular verfolgt offenbar eine neue Strategie bei der Benennung der Versionen. Auf das erste Beta-Release von Angular 8.1 folgten Version 8.1.0-next.1, sowie inzwischen 8.1.0-next.2. Während in Next.1 nur ein Bugfix am Core vorgenommen wurde, bringt Next.2 nun gleich fünf Änderungen mit. Drei der Bugfixes betreffen Bazel. Das globale Stylesheet wird bei Verwendung von Bazel nun sowohl im Entwicklungsmodus als auch in der Produktion per <link>-Tag in index.html referenziert. Außerdem verwendet Bazel nun die Components Schematics nicht mehr im Build und es wird keine Änderung an tsconfig.json mehr durch Bazel vorgenommen.

Die anderen beiden Bugfixes in Angular 8.1.0-next.2 betreffen das HttpUploadProgressEvent-Interface, das nun als öffentliches API freigegeben wurde, sowie den Service-Worker. Wenn hier navigator.serviceWorker.register('/ngsw-worker.js') scheitert, wird keine nicht gefangene Fehlermeldung mehr ausgegeben.

Weitere Informationen zu Angular 8.1.0-next.2 können dem Changelog auf GitHub entnommen werden.


Angular 8.1.0-beta.0: Bugfixes und Features geplant

Update vom 4. Juni 2019

Am 30. Mai, zwei Tage nach Veröffentlichung von Angular 8, wurde der erste Schritt in Richtung Angular 9 vollzogen. Gemeint ist, dass die erste Beta-Version von Angular 8.1 veröffentlicht wurde, die bereits jetzt ein relativ großes Release vermuten lässt: Passend zum Datum wurden 30 Bugs gefixt. Damit aber nicht genug, denn auch neue Features wird das erste Minor Release des aktuellen Veröffentlichungszyklus‘ enthalten – immerhin 6 an der Zahl.

Features

Eine der neuen Funktionen spricht vor allem jene Entwickler an, die sich um die Verwaltung kümmern und dafür sorgen müssen, dass alles aktuell ist und bleibt: Es wird wohl zukünftig nicht mehr nötig sein, Flags zu aktualisieren, die mit der Datei .bazelrc oder der Toolchain zusammenhängen. Auch Plattform-Flags für RBE-Builds und -Tests müssen ab Angular 8.1 wohl nicht mehr extra aktualisiert werden. Eine Ausnahme gilt allerdings, wenn es Braking Changes in Bazel gibt, der diese Flags beeinflusst. Stattdessen muss lediglich der Pin des @bazel-toolchains Repositorys in der Datei packages/bazel/package.bzl regelmäßig auf Stand gebracht werden. Sicherheit geht übrigens vor: Sollte die Rule rbe_autoconfig() im Repository @bazel_toolchains keine passende Toolchain-Konfiguration für die Bazel-Version finden, die gerade vom jeweiligen Projekt genutzt wird, zieht sie automatisch den entsprechenden Container und generiert die Konfigs beim Beginn des Builds bzw. Tests.

Wer transform-Methoden der SlicePipe nutzt, kann sich über die neuen Overloads freuen, die Angular 8.1 im Gepäck haben wird. Dies soll vor allem zur Verwendung von klareren Typen als immer nur any führen. Allerdings geht dies mit einem Breaking Change einher, SlicePipe kann ab dem Update lediglich mit einer Anzahl an Werten, einem String, null oder undefined genutzt werden.

Bugfixes

In Sachen Bugfixes gab es nach dem Update offenbar einiges nachzubessern. Genau 30 Fixes wurden in der ersten Beta-Version von Angular 8.1 vorgenommen. Im Fokus stand unter anderem Bazel, in dessen Zusammenhang nun korrekte Paramter an den http_server unter Windows weitergegeben werden. Aber auch am Kern hat man geschraubt. Der CSS-Sanitizer erlaubt ab sofort die Nutzung von Klammern in Dateinamen, das war bislang offenbar nicht möglich. Außerdem wurde ein unangenehmer Bug gefixt, der dafür sorgte, dass bei einer Migration nicht alle Dateien mitgenommen wurden. Gleich sieben Bugs wurden bei der Migration statischer Querys behoben, unter anderem schlug sie mit voreingestellten Standardwerten von Parametern fehl und gab Fehler nicht korrekt aus.

  • bazel: allow ts_library interop with list-typed inputs (#30600) (3125376)
  • bazel: Bump ibazel to 0.10.1 for windows fixes (#30196) (1353bf0)
  • bazel: Directly spawn native Bazel binary (#30306) (2a0f497)
  • bazel: Disable sandbox on Mac OS (#30460) (b6b1aec)
  • bazel: Exclude common/upgrade* in metadata.tsconfig.json (#30133) (1f4c380)
  • bazel: ng test should run specific ts_web_test_suite (#30526) (e688e02)
  • bazel: pass correct arguments to http_server in Windows (#30346) (3aff79c), closes #29785
  • bazel: update peerDep ranges (#30155) (4ae0ee8)
  • bazel: Use existing npm/yarn lock files (#30438) (ff29ccc)
  • compiler-cli: log ngcc skipping messages as debug instead of info (#30232) (60a8888)
  • core: consistently use ng:/// for sourcemap URLs (#29826) (392473e)
  • core: CSS sanitizer now allows parens in file names (#30322) (728db88)
  • core: fix interpolate identifier in AOT (#30243) (30d1f29)
  • core: migrations not always migrating all files (#30269) (349935a)
  • core: remove deprecated TestBed.deprecatedOverrideProvider API (#30576) (a96976e)
  • core: require ’static‘ flag on queries in typings (#30639) (84dd267)
  • core: static-query migration errors not printed properly (#30458) (6ceb903)
  • core: static-query migration fails with default parameter values (#30269) (6357d4a)
  • core: static-query migration should gracefully exit if AOT compiler throws (#30269) (509352f)
  • core: static-query migration should handle queries on accessors (#30327) (0ffdb48)
  • core: static-query migration should not fallback to test strategy (#30458) (0cdf598)
  • core: static-query migration should not prompt if no queries are used (#30254) (4c12d74)
  • core: static-query usage migration strategy should detect ambiguous query usage (#30215) (8d3365e)
  • core: temporarily remove @deprecated jsdoc tag for a TextBed.get overload (#30514) (f6bf892), closes #29290 #29905
  • language-service: Remove tsserverlibrary from rollup globals (#30123) (124e497)
  • router: ensure history.state is set in eager update mode (#30154) (b40f6f3)
  • router: ensure navigations start with the current URL value incase redirect is skipped (#30344) (0fd9d08), closes #30340 #30160
  • router: fix a problem with router not responding to back button (#30160) (3327bd8)
  • router: IE 11 bug can break URL unification when comparing objects (#30393) (197584d)
  • router: type cast correctly for IE 11 bug breaking URL Unification when comparing objects (#30464) (53f3564)

Alle weiteren Informationen zur aktuellen Beta-Version von Angular 8.1 können dem Changelog auf GitHub entnommen werden. Dort gibt es auch Details zu den neuen Features und sämtlichen Bugfixes

Der Beitrag Auf dem Weg zu Angular 9: Features & Reverts in Angular 9.0.0-next.12 ist auf entwickler.de erschienen.

]]>
https://entwickler.de/online/javascript/angular-9-news-579895784.html/feed 1
UiPath Advanced: Von RPA zu Intelligent Process Automation https://kiosk.entwickler.de/windows-developer-magazin/windows-developer-magazin-11-2019/uipath-advanced/ https://kiosk.entwickler.de/windows-developer-magazin/windows-developer-magazin-11-2019/uipath-advanced/#respond Mon, 21 Oct 2019 10:00:49 +0000 https://entwickler.de/?p=579911501 Dank Tools wie UiPath lassen sich Unternehmensprozesse einfach und effizient automatisieren. In der gewachsenen Enterprise-IT können jedoch einige Fallstricke lauern, die das vermeintlich einfache Automatisierungsprojekt schnell zu einem Hürdenlauf machen. Dieser Artikel soll dabei helfen, Hindernisse frühzeitig zu erkennen, und gibt nützliche Tipps, wie zum Beispiel Maschine Learning bei der Realisierung von Robotic-Process-Automation-Projekten helfen kann.

Der Beitrag UiPath Advanced: Von RPA zu Intelligent Process Automation ist auf entwickler.de erschienen.

]]>
Dank Tools wie UiPath lassen sich Unternehmensprozesse einfach und effizient automatisieren. In der gewachsenen Enterprise-IT können jedoch einige Fallstricke lauern, die das vermeintlich einfache Automatisierungsprojekt schnell zu einem Hürdenlauf machen. Dieser Artikel soll dabei helfen, Hindernisse frühzeitig zu erkennen, und gibt nützliche Tipps, wie zum Beispiel Maschine Learning bei der Realisierung von Robotic-Process-Automation-Projekten helfen kann.

Der Beitrag UiPath Advanced: Von RPA zu Intelligent Process Automation ist auf entwickler.de erschienen.

]]>
https://kiosk.entwickler.de/windows-developer-magazin/windows-developer-magazin-11-2019/uipath-advanced/feed 0
Augmented Reality: „Die neuen WebXR-APIs werden in Kürze veröffentlicht – das gibt uns allen neue Möglichkeiten“ https://entwickler.de/online/web/augmented-reality-interview-doug-sillars-ijs-579911490.html https://entwickler.de/online/web/augmented-reality-interview-doug-sillars-ijs-579911490.html#respond Mon, 21 Oct 2019 09:41:59 +0000 https://entwickler.de/?p=579911490 Spätestens seit Pokémon Go und Wizards Unite ist der Begriff Augmented Reality (AR) in aller Munde. Doch die AR-Technologie bietet weit mehr Potenzial als nur den Einsatz von Spielen. Welche Möglichkeiten AR bietet, wie viel Wissen nötig ist und welche Trends gerade besonders spannend sind, erklärt uns Doug Sillars im Interview auf der International JavaScript Conference 2019 in München.

Der Beitrag Augmented Reality: „Die neuen WebXR-APIs werden in Kürze veröffentlicht – das gibt uns allen neue Möglichkeiten“ ist auf entwickler.de erschienen.

]]>
Spätestens seit Pokémon Go und Wizards Unite ist der Begriff Augmented Reality (AR) in aller Munde. Doch die AR-Technologie bietet weit mehr Potenzial als nur den Einsatz von Spielen. Welche Möglichkeiten AR bietet, wie viel Wissen nötig ist und welche Trends gerade besonders spannend sind, erklärt uns Doug Sillars im Interview auf der International JavaScript Conference 2019 in München.

Entwickler: Hallo Doug und danke, dass Du Dir die Zeit genommen hast. In Deiner Session auf der iJS sprichst Du über das spannende Thema Augmented Reality. Die meisten von uns werden AR lediglich in Bezug auf Spiele kennen, welche Möglichkeiten des Einsatzes gibt es denn für Augmented Reality noch?

Doug Sillars: Augmented Reality bietet viele Möglichkeiten. Ein großes ungenutztes Potenzial ist E-Commerce. IKEA hat beispielsweise eine native mobile App, die die Möbel im eigenen Haus platziert. Es kennt die Größe des Raumes und zeigt uns sofort, ob das Sofa oder das Bücherregal ins Zimmer passt. Stelle Dir vor, Du kannst verschiedene Bettdecken ausprobieren – direkt auf dem Bett, in Deinem eigenen Schlafzimmer.

Entwickler: Welche Vorteile bieten AR Browser Apps im Vergleich zu einzelnen AR Apps?

Doug Sillars: AR-Apps sind großartig, aber für eine schnelle Interaktion auf dem Bildschirm ist es viel einfacher, Leute dazu zu bringen, einen Barcode zu scannen und eine Webseite zu öffnen – kein Download, nur eine Website, mit der man schnell interagieren kann. Zudem funktioniert AR heute auf allen iOS- und Android-Geräten, und das ist ein großer Gewinn.

Entwickler: In Deiner Session erklärst Du unter anderem die einzelnen Schritte zum Aufbau einer virtuellen ARt-Galerie. Ist das technisch sehr komplex und welche Ressourcen werden benötigt?

Doug Sillars: Eigentlich möchte nicht meinen ganzen Vortrag preisgeben – aber so viel kann verraten werden: Es ist eigentlich recht unkompliziert und ziemlich einfach, AR im Browser zu erstellen 😊

JavaScript Days 2019

JavaScript Testing in der Praxis (Teil 1 + 2)

mit Dominik Ehrenberg (Crosscan) und Sebastian Springer (MaibornWolff)

Fortgeschrittene schwarze Magie in TypeScript

mit Peter Kröner (‚Webtechnologie-Erklärbär‘)

Entwickler: Muss AR-Design und -Implementierung zu einer Kernkompetenz werden oder reicht hier Outsourcing?

Doug Sillars: Ich denke das hängt davon ab, wie komplex die Szene ist, in der AR zum Einsatz kommen soll. Grundsätzlich ist es recht einfach, und kann von fast jedem durchgeführt werden. Für komplexere Modelle ist es aber vielleicht keine schlechte Idee, mit einem Experten zu arbeiten.

Entwickler: Gibt es einen neuen großen Trend im Bereich AR, der Dich im Moment besonders interessiert?

Doug Sillars: Die neuen WebXR-APIs werden in Kürze veröffentlicht – das gibt uns allen neue Möglichkeiten, noch coolere AR- und VR-Komponenten im Web zu bauen.

Entwickler: Vielen Dank für das Interview!

Doug is is a freelance mobile performance expert, having helped thousands of developers speed up their mobile apps and websites. A Google Developer Expert and the author of O’Reilly’s “High Performance Android Apps,” Doug regularly speaks at conferences, and blogs at dougsillars.com. He is currently working as a freelance digital nomad, traveling with his family in Europe.

Der Beitrag Augmented Reality: „Die neuen WebXR-APIs werden in Kürze veröffentlicht – das gibt uns allen neue Möglichkeiten“ ist auf entwickler.de erschienen.

]]>
https://entwickler.de/online/web/augmented-reality-interview-doug-sillars-ijs-579911490.html/feed 0
Oracle-Studie: 64 Prozent vertrauen Robotern mehr als Vorgesetzten https://entwickler.de/online/machine-learning/oracle-studie-ki-arbeitsplatz-579911491.html https://entwickler.de/online/machine-learning/oracle-studie-ki-arbeitsplatz-579911491.html#respond Mon, 21 Oct 2019 09:09:37 +0000 https://entwickler.de/?p=579911491 Eine neue internationale Umfrage fördert Erstaunliches zutage: Mehr als die Hälfte der Befragten vertraut demnach Robotern mehr als ihren Vorgesetzten. Die Einstellungen zu KI unterscheiden sich jedoch stark nach demographischen Aspekten wie Alter, Herkunftsland und Geschlecht.

Der Beitrag Oracle-Studie: 64 Prozent vertrauen Robotern mehr als Vorgesetzten ist auf entwickler.de erschienen.

]]>
Eine neue internationale Umfrage fördert Erstaunliches zutage: Mehr als die Hälfte der Befragten vertraut demnach Robotern mehr als ihren Vorgesetzten. Die Einstellungen zu KI unterscheiden sich jedoch stark nach demographischen Aspekten wie Alter, Herkunftsland und Geschlecht.

Oracle und Future Workplace haben die AI@Work Study 2019 in Auftrag gegeben, und nun sind die Ergebnisse da. Befragt wurden über 8.000 Personen in 10 Ländern zum Thema künstliche Intelligenz am Arbeitsplatz. Wie vertrauenswürdig sind Roboter und was hält Unternehmen vom KI-Einsatz ab?

Roboter – die Chefs der Zukunft?

Die Befragten hegten verschiedene Erwartungen an KI am Arbeitsplatz. Am häufigsten wurde mit 46 Prozent mehr Freizeit genannt. Aber auch weitere Vorteile wie schnellere Beförderungen (17 %) oder mehr Gehalt (16 %) versprachen sie sich davon. Und nicht nur das, denn auch die Vertrauenswürdigkeit von KI wurde untersucht. 64 Prozent der Befragten gaben an, einem Roboter mehr als einer Führungskraft zu vertrauen. Die Hälfte habe sich auch schon tatsächlich Rat suchend an einen Roboter statt an Vorgesetzte gewandt, und 25 % gaben an, „immer“ oder „sehr oft“ KI anstatt einer Führungskraft zu befragen.

Dabei dachten die Survey-Teilnehmer scheinbar auch an ihre künftigen Chefs, denn 32 % waren der Überzeugung, dass ihre menschlichen Führungskräfte in Zukunft durch Roboter ersetzt werden. Das unterschied sich jedoch stark nach dem Herkunftsland: In Indien betraf das 90 % der Befragten, dagegen in den USA 57 %, in Frankreich 56 % und im Vereinigten Königreich 55 %. Auch das Alter wirkte sich aus: Besonders in der jungen Generation Z war die Annahme mit 39 Prozent weit verbreitet.

Begeisterung und Bedenken

38 Prozent der Survey-Teilnehmer gaben an, von der Vorstellung menschlicher klingender KI positiv erstaunt oder begeistert zu sein. Die Begeisterung für KI zeigte sich vor allem in Indien (60 %) und China (56 %), während der Ausdruck von britischen (20 %) und französischen (8 %) Befragten weitaus seltener genannt wurde. Das Alter machte ebenfalls einen Unterschied: Millenials zeigten sich mit 31 Prozent am häufigsten begeistert, die geringste Begeisterung zeigten Befragte aus der Generation der Baby Boomer (14 %). Auch zeigten sich Frauen seltener von KI begeistert als Männer (21 % vs. 30 %).

Vom KI-Einsatz abgehalten wurden die Befragten nach ihren Angaben vor allem dadurch, dass sie menschliche Interaktion vorziehen (31 %), sowie aufgrund von Sicherheits- (31 %) und Datenschutzbedenken (30 %). Um KI häufiger einzusetzen, wünschten sich 34 Prozent ein besseres UI und 30 Prozent eine stärkere Personalisierung an die eigenen Bedürfnisse. Auch der Wunsch nach einer Anleitung stand mit 25 Prozent hoch im Kurs.

Methodik der Befragung

Der Survey wurde im Auftrag von Oracle und dem Forschungsunternehmen Future Workplace durch das Marktforschungsinstitut Savanta durchgeführt. Zielgruppe waren Personalleiter, Führungskräfte und Angestellte im Alter von 18-74 Jahren in Vollzeitbeschäftigung. Zwischen dem 2. Juli und 9. August 2019 nahmen 8.370 Personen in 10 Ländern und 6 Sprachen gegen eine geringe Aufwandsentschädigung an der Online-Befragung teil.

Alle weiteren Informationen können dem Studienbericht entnommen werden, der bei Oracle zum Download verfügbar ist.

Der Beitrag Oracle-Studie: 64 Prozent vertrauen Robotern mehr als Vorgesetzten ist auf entwickler.de erschienen.

]]>
https://entwickler.de/online/machine-learning/oracle-studie-ki-arbeitsplatz-579911491.html/feed 0
WordPress 2024, Python 3.8 & Microsoft – Unsere Top-Themen der Woche https://entwickler.de/online/development/wordpress-2024-python-3-8-wochenrueckblick-kw42-579911260.html https://entwickler.de/online/development/wordpress-2024-python-3-8-wochenrueckblick-kw42-579911260.html#respond Mon, 21 Oct 2019 08:36:33 +0000 https://entwickler.de/?p=579911260 Python 3.8, eine Zukunftsvision von WordPress in fünf Jahren und zwei Konferenzen in Berlin: In der vergangenen Woche war einiges los! Wir haben die für euch interessantesten und spannendsten Beiträge in einem kompakten Wochenrückblick vereint.

Der Beitrag WordPress 2024, Python 3.8 & Microsoft – Unsere Top-Themen der Woche ist auf entwickler.de erschienen.

]]>
Python 3.8, eine Zukunftsvision von WordPress in fünf Jahren und zwei Konferenzen in Berlin: In der vergangenen Woche war einiges los! Wir haben die für euch interessantesten und spannendsten Beiträge in einem kompakten Wochenrückblick vereint.

Kalenderwoche 42 liegt hinter uns und mit ihr die Serverless Architecture Conference 2019 sowie die API Conference 2019. Beide Konferenzen fanden zeitgleich in Berlin statt. Das Wichtigste und unsere Eindrücke haben wir euch in einigen Beiträgen festgehalten. Außerdem ist Python in Version 3.8 erschienen. Zusätzlich wagten wir einen Blick in die Zukunft: WordPress 2024.

Serverless Architecture Conference + API Conference

In der vergangenen Woche fand die Serverless Architecture Conference 2019 und die API Conference 2019 in Berlin statt. Die Schwesternkonferenzen widmeten sich unter anderem dem Architekturansatz „Serverless“ und den immer wichtiger werdenden APIs. Wir waren vor Ort und haben alle wichtigen Informationen in einem Beitrag zur Eröffnung für euch festgehalten.

Ihr konntet nicht vor Ort sein oder habt die Keynotes aus anderen Gründen verpasst? Kein Problem! Wir haben die Keynotes von Erik Wilde (Good API) und Jared Short (Trek10) am Dienstag sowie die Keynote von Emmanuel Treny (IBM Cloud) am Mittwoch live übertragen, sodass ihr sie euch auch nachträglich noch anschauen könnt.

Im Rahmen der Konferenzen haben wir auch ein Interview mit Roland Huß, Principal Software Engineer bei Red Hat, zu seiner Session „Modern event-driven Workloads with Knative“ geführt. Hier geht es zum Interview: „Knative ist wesentlich einfacher zu nutzen als ein ’nacktes‘ Kubernetes“

Außerdem gibt es auch noch etwas zum Mitnehmen: 6 Take-aways von der Serverless Architecture & API Conference 2019

WordPress 2024: Ein Blick in die Zukunft

Wie könnte das CMS WordPress in fünf Jahren aussehen? Unser Autor Florian Simeth hat in seinem Beitrag in der vergangenen Woche einen Blick in die Zukunft gewagt. Wie ein Wolpertinger, ein Fabelwesen, das unterschiedliche Gestalten annehmen kann, könnte auch WordPress alle möglichen Funktionen annehmen.

Python 3.8 ist da: Die neues Features im Überblick

Die Python Software Foundation hat Python 3.8 veröffentlicht. Wir haben uns die neuen Features angeschaut und für euch in einem Übersichtsbeitrag zusammengestellt. Zu den Neuheiten zählen beispielsweise die Syntaxfunktionen wie der „Walrus Operator“ und Positional-Only Parameters. In Python 3.8 werden andere Funktionen als deprecated markiert. Diese sollen in Python 3.9 entfernt werden.

Zwei Open-Source-Projekte von Microsoft: Dapr und OAM für Kubernetes und Microservices

Von Microsoft wurden in der vergangenen Woche zwei neue Projekte vorgestellt: Dapr und OAM. Mit Dapr sollen Microservices-Anwendungen leichter erstellt werden können. OAM soll als neuer Standard für die Entwicklung und den Betrieb von Anwendungen auf Kubernetes und anderen Plattformen etabliert werden. Hier geht’s zu den Neuigkeiten.

Weitere Must-Reads der Woche:

Der Beitrag WordPress 2024, Python 3.8 & Microsoft – Unsere Top-Themen der Woche ist auf entwickler.de erschienen.

]]>
https://entwickler.de/online/development/wordpress-2024-python-3-8-wochenrueckblick-kw42-579911260.html/feed 0
Höher, schneller weiter: Entwickler unter hohem Belastungsdruck https://entwickler.de/online/development/ipc-softwarequalitaet-gesundheit-interview-579911214.html https://entwickler.de/online/development/ipc-softwarequalitaet-gesundheit-interview-579911214.html#respond Mon, 21 Oct 2019 07:35:06 +0000 https://entwickler.de/?p=579911214 Entwickler sind in ihrer täglichen Arbeit immer höheren Belastungen ausgesetzt. Durch Stress und permanenten Zeitdruck ausgelöste Gesundheitsrisiken werden dabei häufig unterschätzt. IPC-Speaker Roland Golla setzt sich für Arbeitsschutz in der IT, gute Arbeitgeber und bessere Arbeitsbedingungen ein. Im Interview verrät er uns, was Entwickler*innen selbst, aber auch Arbeitgeber tun können, um ihre Mitarbeiter zu entlasten.

Der Beitrag Höher, schneller weiter: Entwickler unter hohem Belastungsdruck ist auf entwickler.de erschienen.

]]>
Entwickler sind in ihrer täglichen Arbeit immer höheren Belastungen ausgesetzt. Durch Stress und permanenten Zeitdruck ausgelöste Gesundheitsrisiken werden dabei häufig unterschätzt. IPC-Speaker Roland Golla setzt sich für Arbeitsschutz in der IT, gute Arbeitgeber und bessere Arbeitsbedingungen ein. Im Interview verrät er uns, was Entwickler*innen selbst, aber auch Arbeitgeber tun können, um ihre Mitarbeiter zu entlasten.

Roland Golla (Never Code Alone) holt ein weitgehendes Tabuthema an die Oberfläche. In seiner kommenden IPC-Session nimmt er die stressigen Arbeitsbedingungen der Entwickler unter die Lupe. Gibt es Lösungen, um etwas gegen die vielfältigen Gesundheitsrisiken zu tun? Wir haben Roland Golla zu seinem aufwühlenden Sessionthema befragt.

Höher, schneller, weiter – lautet das Motto unserer Zeit: Wie haben sich die Arbeitsbedingungen von Entwickler*innen im Vergleich zu vor 10 Jahren geändert?
Roland Golla: Der Facebook-Login hat den E-Commerce Markt weit nach vorne gebracht. Ergänzt wurde das auch durch echt komfortable Payment Methoden, wie Paypal. Auf einmal hatten andere Shops neben Amazon wieder ein Chance. Dazu kam wirklich viele und gute Open Source Software und natürlich die Challenge mit Webdesign Smartphones zu bedienen. Kurz gesagt viel Geld und viel zu tun. Dabei wurde leider nicht nachhaltig mit dem Markt der Entwickler umgegangen, sondern vor allem mit Geld versucht Entwickler abzuwerben. Es wurde aber weder in die Skills der Entwickler mit neuen Technologien investiert, noch Nachwuchs herangeführt. Dadurch hat die Softwarequalität, auf die auch nie besonders viel Wert gelegt wurde, da es damals ja noch „Wegwerfseiten“ gab, noch einmal schwer gelitten. Jetzt sind wir in einem weiteren neuen Webzeitalter angekommen. Virtuelle Maschinen und sehr komplexe Prozesse bestimmen unseren Alltag. Vor allem bleiben Webseiten viel länger am Leben und Relaunches werden gerne vermieden. Das ist spannend, weil hier automatisierte Deployments und auch Tests die Basis dafür abbilden. Daher befinden wir uns gerade heute vor einer besseren Zukunft denke ich.

Was sagt eine gute Softwarequalität über die Gesundheit des Entwicklers, der Entwicklerin aus? Wo besteht der Zusammenhang zwischen guter Softwarequalität und Gesundheit?
Roland Golla: Gute Softwarequalität ist die Summe von vielen guten Arbeitsbedingungen in einem kreativen Umfeld mit einem motivierten Team. Entwickler*innen die gute Software produzieren, können sich auf diese verlassen. Sie lernen auch aus ihren Fehlern und freuen sich sogar darüber, weil sie dann Wissen, dass sie etwas noch besser machen können. Gerade automatisierte Tests, die grün sind, geben uns auch immer ein positives Feedback. Gute Lesbarkeit und Einfachheit sind ebenfalls Ziele von Softwarequalität und werden als Clean Code bezeichnet. Das strengt also nicht so, wenn man etwas verstehen und darin arbeiten will. Schlechte Softwarequalität, also Legacy Code, kann teilweise gar nicht mehr verstanden und nachvollzogen werden. Hier sind auf jeden Fall ganz viele Fehler drin, bei denen nie systematisch versucht wurde diese zu finden und abzubauen. Die Frage ist hier also nur, wann fällt es eigentlich auf, dass etwas nicht läuft und wer ist dann eigentlich Schuld? Man kann also Angst bekommen. Dazu kommt ein harter Druck, da solche Legacy Projekte nicht auf automatisierte Prozesse ausgelegt sind und wahrscheinlich auch nicht gut getestet werden können. Alles dauert halt ewig. Und wenn es mehr Fehler gibt, die immer korrigiert werden müssen und noch neue Arbeit erledigt werden muss und alles immer manuell ausgerollt wird, dann macht das natürlich weich und anfällig für seelische Schäden. Das ist jetzt vielleicht mal ein kleiner Abriss eines wirklich komplexen Themas.

Wo siehst du Verbesserungsbedarf?
Roland Golla: Entwickler brauchen aktuelles Know How und müssen aktuelle Technologien einsetzen. Wir brauchen automatisierte Tests, Deployments, Refactoring, Pair Programming und müssen zusammen als Teams gute Lösungen für aktuelle Probleme finden. Aber in der Taskkette stehen wir halt leider ganz hinten und sind einfach nur die, die bitte auf kürzestem Weg über die Ziellinie laufen sollen, weil ja schon genug Zeit verloren wurde. Wir als Entwickler sollten gute Arbeitsbedingungen einfordern und auch durchsetzen. Uns halt nicht mehr drücken lassen, weil ein Kunde das sagt, ein Produktmanager das so will oder was auch immer. Die Situation hat sich ja schon bei vielen von uns verbessert. Von vielen, die auf Konferenzen gehen und deren Arbeitgeber wert auf Softwarequalität legen. Aber da sind noch ganz viele Entwickler*innen, die gar nicht gesehen werden und auch auf Konferenzen sind Entwickler*innen, die aus ihrem Legacy Sumpf nicht rauskommen. Ich glaube aber trotzdem, dass wir der Schlüssel sind und wir unsere Welt ändern müssen. Wir müssen mehr Open Source veröffentlichen, uns einbringen und Wissen und Know How teilen.

Was können Arbeitgeber für ihre Entwickler*innen tun?
Roland Golla: Ich denke agile Arbeitsmethoden sind, wenn sie richtig angewendet werden, eine tolle Chance Arbeitsprozesse und Methoden zu verbessern. Hier muss aber bitte externes und gutes Know How eingekauft werden und bitte nicht auf Scharlatane oder Bücher gesetzt werden. Agilität sorgt für Transparenz. Hier werden Probleme nicht immer unter den Teppich gekehrt und vor allem Ressourcen und Aufwände auf Augenhöhe geplant. Es werden vor allem auch wieder Teams zusammengebracht oder vielleicht auch erstmals geformt. An dieser Stelle mag kurz erwähnt sein, dass Dailys und die Zusammenfassung von Tickets für ein Datum in der Zukunft keine agile Softwareentwicklung sind. Arbeitgeber können sich ja auch mal über den Zustand ihrer Software aufklären lassen. Hier gibt es ja viele Codeanalysetools, wie PHPStan. Am Ende des Tages werden hier viele Probleme gefunden. Die müssen dann angegangen werden. Arbeitgeber müssen also in Softwarequalität und damit direkt in die Arbeitsbedingungen ihrer Mitarbeiter investieren. Es ist dabei klar, dass Kunden dafür aufkommen müssen. Hier müssen vielleicht auch mutige Entscheidungen getroffen werden.

Die kleinen Dinge zählen: Was können Entwickler*innen bereits im Arbeitsalltag für ihre Gesundheit tun?
Roland Golla: Entspannter sein, gute und richtige Pausen machen. Offline und ohne Smartphone außerhalb des Büros spazieren. Achtsamkeit ist sicher auch ein tolles Thema und ein guter Anfang. Lächeln, Farben in seinem Umfeld wahrnehmen, sich gerade und bewusst hinstellen und bewusst Atmen. Aber es ist auch der Umgang miteinander. Mit Entwicklern über Probleme bei der Programmierung sprechen, sich mit Respekt begegnen und als Team arbeiten. Aber natürlich darf auch Code verbessert werden. Hier sind Codestandards und Tests immer gute erste Schritte. Das ist auch immer eine kleine persönliche Belohnung. Aber es ist vielleicht noch wichtiger sich der Probleme und Folgen seelischer Erkrankungen bewusst zu werden. Und auch wenn man selber noch keine Schäden hat, einmal die Augen für Kollegen offen zu halten und hier vielleicht zu helfen. Natürlich Pausen, trinken, gesunde Ernährung und all das was das Leben lebenswerter und uns glücklicher macht.

Was möchtest du den Konferenzteilnehmer*innen in deiner Session mit auf den Weg geben?
Roland Golla: Ich möchte ihnen erstmal zeigen, dass sie mit diesen Problemen nicht alleine sind und es Auswege gibt. Wir haben einfach ganz tolle Jobs und können wirklich froh und glücklich sein. Und das sollte einfach jeder Entwickler von uns sein. Und die Entwickler, die es nicht sind, müssen wir abholen und ihnen helfen. Der Arbeitsmarkt ist gerade in einem sehr starken Umbruch und immer mehr Entwickler lernen auch mal Nein zu sagen. Ich möchte in dem Talk Mut machen, die nerdige Leidenschaft zurückholen, aber sicher auch anklagen. Mich hat es hart erwischt, viele erzählen mir noch viel härtere Geschichten. Das sind auch die, die mich immer wieder auf die Bühne gehen lassen. Ich möchte die Softwarequalität und Arbeitsbedingungen für Entwickler in Deutschland steigern. Und das mache ich zur Not auch mit der verbalen Brechstange 😉

Vielen Dank für dieses Interview!

 

Roland Golla ist PHP-Trainer und Consultant. Er setzt sich ein für Arbeitsschutz in der IT, gute Arbeitgeber und bessere Arbeitsbedingungen. Mit Never Code Alone möchte er die Softwarequalität in Deutschland steigern.

Der Beitrag Höher, schneller weiter: Entwickler unter hohem Belastungsdruck ist auf entwickler.de erschienen.

]]>
https://entwickler.de/online/development/ipc-softwarequalitaet-gesundheit-interview-579911214.html/feed 0
Variable Schriften: Eine praktische Einführung https://entwickler.de/tv/variable-fonts-einfuehrung-webinale2019-579908994.html https://entwickler.de/tv/variable-fonts-einfuehrung-webinale2019-579908994.html#respond Mon, 21 Oct 2019 06:30:21 +0000 https://entwickler.de/?p=579908994 Wie funktionieren Variable Fonts? Welche Möglichkeiten bieten sie? In ihrer Session auf der webinale 2019 teilt Marianna Paszkowska ihre Erfahrungen und ihr Wissen dynamische Schriften. Sie erklärt die Funktionsweise und die Möglichkeiten, geht aber auch auf die Herausforderungen ein, die dynamische Schriften für Designer, Entwickler und den Endanwender darstellen können.

Der Beitrag Variable Schriften: Eine praktische Einführung ist auf entwickler.de erschienen.

]]>
Wie funktionieren Variable Fonts? Welche Möglichkeiten bieten sie? In ihrer Session auf der webinale 2019 teilt Marianna Paszkowska ihre Erfahrungen und ihr Wissen dynamische Schriften. Sie erklärt die Funktionsweise und die Möglichkeiten, geht aber auch auf die Herausforderungen ein, die dynamische Schriften für Designer, Entwickler und den Endanwender darstellen können.

Das neue Schriftformat Variable Font hat die Bühne betreten. Im vergangenen Jahr haben wir gesehen, wie es sich von einer technologischen Neuheit in eine ausgereifte Lösung verwandelt hat, die echte Probleme löst. Klingt geheimnisvoll? Kein Problem!

In ihrer webinale-Session zeigt Marianna Paszkowska, was die Entwicklung achsenbasierter Schriften so spannend macht. Sie erklärt, wie sie funktionieren und das erforscht das Potenzial von Variable Fonts – von nützlichen Arbeitstieren bis hin zu Experimenten. Schließlich zeigt sie die Möglichkeiten und Herausforderungen auf, die dynamische Schriften, zusammen mit der sich heute schnell entwickelnden Technologie, für Designer und Entwickler darstellen können, und was das für Endanwender bedeuten könnte.

HTML & CSS Days 2019

HTML und CSS für Backend-Entwickler (Teil 1 + 2)

mit Jens Grochtdreis (webkrauts)

Layouts mit CSS-Grid meistern

mit Florence Maurice (maurice-web)

IT Security Summit 2019

Sichere Logins sind doch ganz einfach!

mit Arne Blankerts (thePHP.cc)

Hands-on workshop – Hansel & Gretel do TLS

mit Marcus Bointon (Synchromedia Limited)

Die Speakerin: Marianna Paszkowka

Marianna Paszkowska ist Advanced Font Engineer bei Monotype. Seit ihrem Eintritt in das Unternehmen im Jahr 2016 hat sie an einer Reihe von Schriften für verschiedene Marken sowie für die Monotype Library gearbeitet. Sie unterstützt Schriftgestalter und Kunden mit ihrem Fachwissen im Bereich der Schriftenentwicklung und ist spezialisiert auf die Technologie der Variable Fonts. Marianna Paszkowska ist regelmäßige Referentin auf verschiedenen Branchenveranstaltungen und teilt ihre Erfahrungen und Einblicke in die Schriftgestaltung. Wenn sie sich nicht mit Programmierung oder OpenType-Tabellen beschäftigt, macht sich sie gerne die Hände schmutzig und übt Schriftzüge oder Kalligraphie.

Der Beitrag Variable Schriften: Eine praktische Einführung ist auf entwickler.de erschienen.

]]>
https://entwickler.de/tv/variable-fonts-einfuehrung-webinale2019-579908994.html/feed 0
6 Take-aways von der Serverless Architecture & API Conference 2019 https://entwickler.de/online/cloud/6-take-aways-von-der-serverless-architecture-api-conference-2019-579911375.html https://entwickler.de/online/cloud/6-take-aways-von-der-serverless-architecture-api-conference-2019-579911375.html#respond Fri, 18 Oct 2019 12:32:28 +0000 https://entwickler.de/?p=579911375 Wir sagen "Auf Wiedersehen, Berlin" und blicken mit einem Tränchen im Auge zurück: Die Serverless Architecture Conference 2019 und die API Conference 2019 sind leider vorbei. Wir haben viele interessante Gespräche und Interviews mit Speakern geführt, fantastische Keynotes und Sessions gesehen und hier an dieser Stelle unsere sechs wichtigsten Erkenntnisse für unsere Leser zusammengefasst.

Der Beitrag 6 Take-aways von der Serverless Architecture & API Conference 2019 ist auf entwickler.de erschienen.

]]>
Wir sagen "Auf Wiedersehen, Berlin" und blicken mit einem Tränchen im Auge zurück: Die Serverless Architecture Conference 2019 und die API Conference 2019 sind leider vorbei. Wir haben viele interessante Gespräche und Interviews mit Speakern geführt, fantastische Keynotes und Sessions gesehen und hier an dieser Stelle unsere sechs wichtigsten Erkenntnisse für unsere Leser zusammengefasst.

Take-away #1: APIs sind wie Bierdosen…

…nur die Brücke vom Bier zum Mund, sozusagen. Erik Wilde (Good API) zog in seiner Keynote diesen illustren Vergleich, um zu vermitteln, dass APIs nicht selbst der Wert einer Anwendung sind bzw. sein sollten. Sie sollten nur auf besonders gute Weise den Wert (das Bier also) zum Kunden bringen. Viele Unternehmen glauben heute immer noch an die Fabel vom Allheilmittel mit Namen „API“. C-Level-Personen auf der ganzen Welt geben Dinge zum Besten wie „Wir bauen das API grandios auf und schon rollt der Rubel“. Das, so Wilde, sei ein absolut gefährlicher Trugschluss und sollte keinesfalls das Geschäftsmodell oder die Idee hinter dem Entwurf eines APIs sein. Eine gute und durchdachte API-Strategie ist natürlich wichtig, das sei nicht zu bestreiten, doch sollte die Strategie immer auf die Wertvermittlung und nie auf die Wertschöpfung ausgerichtet sein. Den Value fürs Business „braut“ man an anderer Stelle.

Take-away #2: Mehr Durchblick beim nächsten Technologiesprung

Einen spannenden Einblick in die IT-Strategie des Online-Optikers und Brillenshops Mister Spex gaben Ronny Karallus und Sven Blüge in ihrer Session „RESTful Apis in Aktion“. Gleich zum Anfang wurde die Frage aufgeworfen, ob man eine IT (z.B. bei der Transformation hin zu Microservices) im Unternehmen neu erfinden kann, ohne das Tagesgeschäft zu gefährden. Man kann. Und zwar ziemlich gut, wenn man ein älteres System inkrementell integriert, indem bestimmte Teile der Funktionalität nach und nach durch neue Anwendungen und Dienste ersetzt werden. Beim so genannten Strangler Pattern wird in der finalen Situation dann das alte System vom neuen System vollständig eliminiert. In der Transformationsphase existieren also zunächst Legacy und moderne Systeme parallel zueinander. Der Vorteil: ein reduziertes Projektrisiko. Allerdings muss in allen Phasen des Projektes eine übergreifende Kommunikation mit allen beteiligten Abteilungen gewährleistet sein. Das Projekt wird dabei durch ein separates, vom Tagesgeschäft befreites Team vorangetrieben. Innerhalb des Teams werden „Innovation Tokens“ für einen engen, fokussierten Kreis innovativer Techniken und Programmiersprachen vergeben. Das hält das Projektteam bei der Stange und gewährleistet einen weiteren Innovationsschub für das jeweilige Projekt.

Take-away #3: Serverless ist mehr als FaaS & Architektur

Serverless wird – wie im übrigen auch DevOps (leider noch immer) – oft als rein technologisches Konstrukt gesehen: Container, Cloud, X-as-a-Service und so weiter. Damit liegt man falsch, wie Jared Short (Trek10) in seiner Keynote klarstellte. Denn wie DevOps ist Serverless auch ein gewisses Mindset. Es lässt sich schwer in einem Satz zusammenfassen, doch gibt es vier einfache Regeln, die man beachten sollte: Wenn die Plattform die gewünschte Funktionalität hergibt, verwende sie. Wenn sie es nicht tut, kaufe sie. Wenn es sie nicht zu kaufen gibt, sieh zu, ob sie wirklich notwendig ist. Und wenn alle Stricke reißen, dann bau sie eben selbst, aber auf eine solche Weise, dass sie selbst als Business Value herhalten kann. Dies sind sozusagen die vier Gebote des Serverless-Mindsets.

API Conference 2019

Oliver Drotbohm

REST Beyond the Obvious – API Design for Ever Evolving Systems

mit Oliver Drotbohm (Pivotal Software, Inc.)

Arne Limburg

API-Kompatibilität durch Consumer-Driven Contracts

mit Arne Limburg (OPEN KNOWLEDGE GmbH)

 

Take-away #4: Great APIs – eine Rundreise

Nichts geht mehr ohne APIs. Alle großen Internetplayer haben mittlerweile ausgereifte APIs ins Netz gestellt. So kann man mit dem Google Maps API auf seiner Website interaktive Karten hinzufügen und diese mit eigenen Bildern und Inhalten individualisieren. Ein weiteres Beispiel, das Thilo Frotscher in seiner Session zeigte, war das PayPal API, das für die Zahlungsabwicklung eingesetzt werden kann. Besonders überzeugend bei diesem API ist die gute Dokumentation. Die kleine Rundreise zu den „great APIs“ ging u.a. mit dem Twitter API und dem Slack Web API weiter. Bleibt die Frage, wie die APIs am besten genutzt werden können? Startups wie Uber machen aus dem Mix mehrerer APIs erfolgreiche Geschäftsmodelle. Das passende Fazit dazu: APIs regieren die Welt!

Take-Away #5: Severless ist Power

Es gibt viele Definitionen von Serverless. Die von Jonas Schweizer (Laserhub GmbH) liest sich so: Serverless ist absolute Macht und absolute Abstraktion. Warum vor allem Startups diese Technologie einsetzen sollten, erklärte er in seiner Session. Entwickler lieben es, einfach draufloszuentwickeln, daher wären CTOs und generell die Engineering-Teams gut beraten, Serverless auf dem Schirm zu haben. Doch nur auf Serverless zu setzen hält er ebenfalls für falsch. Auch die ganze Container- und Kubernetes-Landschaft sollte von Startups im Blick behalten werden. Das Fazit ist also: Zweigleisig fahren – je nach Use Case.

Take-Away #6: Eins plus eins sind drei

In seiner Keynote stellte Kay Lummitsch nüchtern fest: You can´t kiss an API! In der Tat, ein API kann man nicht anfassen, fühlen, schmecken oder riechen. Ein API ist ein Konzept, ein Life Style, ein Mindset und vieles mehr, aber kein Selbstläufer, wenn es um die Vermarktung geht. Wer also mit seinem API an den Start geht, braucht neben der ausgereiften Technik ein klares Konzept und ein funktionierendes Produktmarketing. Doch um sich wirklich vom Markt abzuheben, braucht es zudem eine gute Strategy und eine Vision. Wer mit seiner API-Idee vom üblichen Marktgeschehen abweicht, wird dabei (meistens) gewinnen. So kann aus eins plus eins nicht zwei, sondern drei werden – auch wenn es mathematischer Unfug ist.

Der Beitrag 6 Take-aways von der Serverless Architecture & API Conference 2019 ist auf entwickler.de erschienen.

]]>
https://entwickler.de/online/cloud/6-take-aways-von-der-serverless-architecture-api-conference-2019-579911375.html/feed 0