Sie sind hier : sebastian1012.bplaced.net/ homepage-neu / neuigkeiten / Entwickler-Blog.php

https://entwickler.de/feed/rss2

jQuery vom Thron gestoßen: Die Umfrage zu Frontend Tools 2019 (13.11.2019 16:30:16)

React wird sowohl zum wichtigsten als auch zum meist genutzten JavaScript Tool gekürt jQuery wird damit erstmals seit 2015 vom 1 Platz abgelöst ? bleibt aber weiter das Tool, mit dem sich eine große Mehrheit am besten auskennt

Die Ergebnisse der jährlichen Befragung von Entwicklern zur Front-End Tooling Survey liegen vor Die von Ashley Nolan durchgeführte Umfrage wertete für das Jahr 2019 27 Fragen aus, die von 3005 Entwickler beantwortet wurden 59% der Befragten arbeiten dabei mindestens 5 Jahre in der Frontend-Entwicklung, 13% bereits seit über 15 Jahren Der aktuelle Fragenkatalog ist, wie in den Vorjahren auch, in die Bereiche CSS und JavaScript unterteilt

Tools und Frameworks für CSS

Bei der Frage nach den meist genutzten CSS-Frameworks kann der Trend des Vorjahres bestätigt werden Mit 51,61% nutzen 2019 nun sogar mehr als die Hälfte der CSS-Experten entweder gar kein Framework oder ein eigenes Zum Vergleich: 2018 waren es 48,33% Unverändert ist Bootstrap die Lösungen, verliert mit Blick auf das Vorjahr aber mit rund 7% deutlich an Zuspruch und wird nur noch von 28% der Befragten genutzt Im Bereich der beliebtesten CSS-Tools, bzw Methodologien konnte sich erneut der Autoprefixer durchsetzen Fast 56,84% gaben an, ihn in Projekten zu verwenden Platz 2 geht mit 45,52% an BEM, gefolgt von Stylelint mit 27,49%

JavaScript: React als Spitzenreiter, jQuery mit starken Verlusten

Viel hat sich seit der letzten Umfrage in der JavaScript-Welt getan Seit 2015 führte jQuery unangefochten die Tabelle der meist genutzten Tools an ? nun kommt mit React die Ablösung Während jQuery um fast 15 Prozentpunkte auf nur noch 36,81% einbrach, konnte React mit nun 52,21% den Vorsprung ausbauen Über die Hälfte der befragten Entwickler nutzen damit nun React für ihre Projekte Trotz des herben Verlustes hält sich jQuery auf Platz 2, knapp vor Lodash 32,81% Auch ein weiterer Trend bestätigt sich in den Zahlen: Lagen Angular 2+ und Angular 1 im letzten Jahr zusammengenommen noch knapp vor Vuejs, zieht letzteres Tool nun davon 27,15% der Entwickler gaben an, Vuejs in ihren Projekten zu verwenden Rechnet man die beiden Angular-Versionen zusammen, sind es nur noch 22,07% im Vergleich zu 24,01% im Vorjahr Grund dafür ist auch die sinkende Nachfrage an Angular 1

Die am häufigst genutzten Tools Quelle: https://ashleynolancouk/blog/frontend-tooling-survey-2019-results

Und auch in einer weiteren Disziplin verliert jQuery an Zuspruch Bei der Frage nach den wichtigsten Frameworks, bzw Libraries für Projekte verlor jQuery bereits bei der Umfrage aus 2018 12,37% Nun rutscht die JavaScript Library um weitere 8,59 Prozentpunkt auf den vierten Platz ab An der Spitze steht nun auch in dieser Kategorie React 32,78% Mit 21,66% gab fast ein Viertel der Befragten an, weder Frameworks noch Libraries zu nutzen

Die wichtigsten JavaScript Tools für Projekte Quelle: https://ashleynolancouk/blog/frontend-tooling-survey-2019-results

Etwas im Kontrast zu diesen Zahlen steht das Ergebnis auf die Frage, mit welchem Tool sich die Entwickler am besten auskennen Mit 75% auf Platz 1: jQuery

Eindeutige Ergebnisse gab es auch bei der Frage, welche Accessibility Tools genutzt werden, um Projekte für Menschen mit Einschränkungen zugänglicher zu machen 63,13% antworteten, überhaupt keine Tools einzusetzenAm meisten genutzt werden Colour Contrast Checker 22,20% und Screenreader 15,44% Ashley Nolan, Autor der Studie, sieht hier den größten Entwicklungsbedarf und verweist neben moralischen Aspekten auch auf Gerichtsurteile gegen Unternehmen, die keine Barrierefreiheit zu ihren Angeboten gewährleisten

Die Ergebnisse der Umfrage können auf der Webseite von Ashley Nolan gefunden werden

Der Beitrag jQuery vom Thron gestoßen: Die Umfrage zu Frontend Tools 2019 ist auf entwicklerde erschienen


WordPress 5.3 mit neuen Features veröffentlicht (13.11.2019 13:34:27)

Unter dem Namen "Kirk" veröffentlicht das WordPress-Team die neue Version WordPress 53 Zu den neuen Features zählen Überarbeitungen für den Blockeditor Gutenberg, das neue Standard-Theme Twenty Twenty sowie Unterstützung für PHP 74

„Kirk“ lautet der Name für WordPress 53 Der Versionsname soll an Rahsaan Roland Kirk, den bekannten Multiinstrumentalisten des Modern Jazz, erinnern Mit der aktuellen Version erhält das Content-Management-System das neue Theme Twenty Twenty sowie Überarbeitungen für den Blockeditor Gutenberg

WordPress 53: Die Features für den Blockeditor Gutenberg

WordPress 53 hält laut Release Note über 150 neue Funktionen und Überarbeitungen für die Benutzerfreundlichkeit bereit Unter den Neuerungen ist beispielsweise der Navigationsmodus im Dashboard Nutzerinnen, die mit der Tastatur durch das Dashboard navigieren, können mithilfe des Navigationsmodus von Block zu Block springen, ohne durch jeden Teil der Blocksteuerung navigieren zu müssen Das folgende Beispiel dient der Veranschaulichung und wurde der Release Note entnommen:

Auch an der Designflexibilität wurde gearbeitet WordPress 53 stellt die Möglichkeit zur Verfügung, Seiten in Gruppenblöcke einzufassen und diese somit in Abschnitte unterteilen zu können Für die unterteilten Seitenabschnitte können verschiedenen Farben ausgewählt werden Hier ein Beispiel aus der Release Note:

Außerdem soll der Spalten-Block mit dem Update neue feste Spaltenbreiten unterstützen Zudem wurden neue vordefinierte Layouts hinzugefügt Des Weiteren sollen Überschriftenblöcke nun Steuerelemente für Text- und Hintergrundfarben beinhalten

Anlässlich des ersten Geburtstags des Blockeditor Gutenberg hat das WordPress-Team mit WordPress 53 das Theme Twenty Twenty eingeführt Es basiert auf dem Theme Chaplin und soll vollständig kompatibel mit dem Blockeditor Gutenberg sein Durch die dynamische Anpassung und Auswahl der Blöcke, dürfte sich das Theme den individuellen Bedürfnissen der Nutzerinnen anpassen können

Weitere spannende Neuerungen

Bilder sollen beim Upload automatisch, mithilfe des Exchangeable Image File Format kurz: EXIF werden Hinzu kommt ein „+“-Zeichen, welches in einem Feld auf den Site Health Check verweist Dadurch sollen eventuell auftretende Probleme der Webseite schneller erkannt werden

Eingeführt wurde auch eine regelmäßige Abfrage der Admin-E-Mail-Adresse bei der Anmeldung als Administrator Mit der automatischen Prüfung, ob die Admin-Mail-Adresse aktuell ist, soll verhindert werden, dass der Nutzer oder die Nutzerin beim Ändern der E-Mail-Adresse ausgeloggt wird

WordPress 53 soll die kommende PHP-74-Version unterstützen Veraltete Komponenten sollen entfernt werden, um die Kompatibilität zu gewährleisten

Nähere Informationen zur aktuellen Version können der Release Note auf der offiziellen WordPress Website entnommen werden

Der Beitrag WordPress 53 mit neuen Features veröffentlicht ist auf entwicklerde erschienen


Symfony 5.0 Beta 2 und 4.4 Beta 2 veröffentlicht (13.11.2019 12:05:27)

Hochbetrieb im Symfony-Entwicklerteam: Noch im November sollen zeitgleich Symfony 44 und Symfony 50 erscheinen Um das Ziel zu erreichen, wird in diesem Monat eine Beta-Version nach der anderen an den Start gebracht

Nachdem gestern schon die Symfony 44 Beta 1 und Symfony 50 Beta 1 erschienen sind, haben die Symfony-Macher direkt heute nachgelegt und die nächsten Betaversionen veröffentlicht  Für die neuen Versionen Symfony 50 Beta 2 und 44 Beta 2 wurden gemeinsame Bugs beseitigt und einige Security patches durchgeführt

Zahlreiche Fehlerbehebungen

Die Release Notes für Symfony 44 Beta 2 und Symfony 50 Beta 2 enthalten ua folgende Fehlerbehebungen:

  • bug #34344 [Console] Constant STDOUT might be undefined
  • security #cve-2019-18886 [SecurityCore] throw AccessDeniedException when switch user fails
  • security #cve-2019-18888 [Mime] fix guessing mime-types of files with leading dash
  • security #cve-2019-11325 [VarExporter] fix exporting some strings
  • security #cve-2019-18889 [Cache] forbid serializing AbstractAdapter and TagAwareAdapter instances
  • security #cve-2019-18888 [HttpFoundation] fix guessing mime-types of files with leading dash
  • security #cve-2019-18887 [HttpKernel] Use constant time comparison in UriSigner

Darüber hinaus wurde bei Symfony 50 noch der Bug #34348 „[Console] Constant STDOUT might be undefined“ behoben

Kostenlos: IPC Agile Cosmos Cheat Sheet

In diesem Cheat-Sheet von unserem Experten René Schröder bekommen Sie einen Überblick über den Agile Cosmos und die organisatorische Struktur Mit diesem Mind-Map haben Sie die perfekte Voraussetzung, um entweder Ihr eigenes agiles Team aufzubauen, Ihre aktuelle Organisation zu verbessern oder einen eigenen Stil von Agil zu kreieren
Kostenloser Download

Die finale Version ist in Sichtweite

Bis zu den finalen Versionen ist es nicht mehr weit Noch im November sollen laut der Roadmap Symfony 44 und Symfony 50 erscheinen

Der Beitrag Symfony 50 Beta 2 und 44 Beta 2 veröffentlicht ist auf entwicklerde erschienen


Revolution oder Evolution in der IT? Warum manchmal einfache Modernisierungen ausreichen (13.11.2019 12:00:15)

Heute ist oft von digitaler Transformation oder der vierten industriellen Revolution die Rede Doch sind revolutionäre Umbrüche der richtige Weg zu einer zeitgemäßen IT? Sollte man gut funktionierende Legacy-Systeme einfach über Bord werfen? Dieser Artikel stellt die Modernisierung bestehender Systeme als pragmatische, risikoarme und günstige Alternative vor

Der Beitrag Revolution oder Evolution in der IT? Warum manchmal einfache Modernisierungen ausreichen ist auf entwicklerde erschienen


Bytecode Alliance gegründet: Sicherer Code mit WebAssembly auf allen Plattformen? (13.11.2019 11:24:46)

WebAssembly könnte in Zukunft auch außerhalb des Browsers eine große Rolle spielen Die neu gegründete Bytecode Alliance von Mozilla, Fastly, Intel und Red Hat hat sich darum zum Ziel gesetzt, insbesondere die Sicherheit von Code auf allen Plattformen mit WebAssembly zu fördern

Die neu gegründete Bytecode Alliance von Mozilla, Fastly, Intel und Red Hat will ein sicheres WebAssembly-Ökosystem außerhalb des Browsers fördern Mit WebAssembly, so erklären die Gründungsmitglieder der Alliance, bestehe eine Chance darauf, einige der grundlegenden Probleme in der Sicherheit von Software auszuräumen So könne mit dem neuen Standard eine Möglichkeit geschaffen werden, Packages aus Registries so zu isolieren, dass die derzeit möglichen Angriffe ausgeschlossen werden

Code von npm: Mehr Sicherheit mit WebAssembly?

In der Softwareentwicklung werden heute große Mengen an Code verwendet, die über Package Registries wie npm, Cratesio oder PyPl bezogen werden Zahlreiche dieser Packages werden jedoch von Einzelpersonen verfügbar gemacht; trotz Security-Checks auf den Plattformen wurden in jüngerer Vergangenheit mehrere Angriffe beispielsweise auf Bitcoin-Wallets bekannt, die von Packages auf npm ausgingen Die große Menge an Packages auf npm und anderen Registries erschwert es, umfassende Sicherheitsfunktionen zu implementieren, die alle denkbaren Arten von Schadcode auf den Plattformen erkennen Derzeit können solche Packages weitreichende Zugriffsrechte lokal oder im Netz erlangen und dennoch über große Zeiträume unerkannt bleiben

Hier möchte die Bytecode Alliance ansetzen Das Ziel der Gruppe lautet nicht, die Verwendung von Packages einzuschränken Vielmehr soll die Nutzung solcher Ressourcen durch den Einsatz von WebAssembly sicherer werden Zu den Plattformen, die die Alliance sicherer machen möchte, gehören Desktop-Systeme genau so wie Cloud-Infrastrukturen und IoT-Geräte Das Konzept dahinter beruht auf einer Architektur aus Nanoprozessen, die in einer Sandbox laufen und nur die notwendigen Zugriffsrechte erhalten Will ein WebAssembly-Modul im Rahmen solcher Nanoprozesse Zugriff auf weitere APIs oder Ressourcen erlangen, muss dies aktiv genehmigt werden So sollen beispielsweise die vorgenannten Angriffe auf Bitcoin-Wallets verhindert werden, da die dazu nötige Kommunikation nicht mehr unbemerkt im Hintergrund erfolgen kann Auch bei Schwachstellen im Code sei es grundsätzlich unwahrscheinlich, dass diese tatsächlich unter Verwendung derselben APIs und Ressourcen ausgenutzt werden können, die ein Package tatsächlich benötige, wie die Alliance erklärt

Bytecode Alliance: Die Projekte

Derzeit umfasst die Bytecode Alliance acht Projekte für die Ausführung von WebAssembly außerhalb des Webs Dazu gehören die Runtimes Wasmtime, Lucet und WebAssembly Micro Runtime Auch die Runtime-Komponenten Cranelift und WASI Common sind Teil der Alliance-Projekte, genau wie die Sprach-Tools cargo-wasi, wat und wasmparser

Eine umfassende Einführung in die Idee der Foundation zur Etablierung von Nanoprozessen mit WebAssembly-Modulen gibt Lin Clark im Mozilla Hacks Blog

Der Beitrag Bytecode Alliance gegründet: Sicherer Code mit WebAssembly auf allen Plattformen? ist auf entwicklerde erschienen


Tipps für den ersten OAuth Flow im Node CLI: Wie geht das? (13.11.2019 09:41:11)

OAuth 20 ist eine gute Wahl für viele Projekte, aber die Implementierung stellt Entwickler vor gewisse Herausforderungen Wie geht man vor, wenn man einen OAuth Flow mit einem Nodejs CLI aufsetzen will? Das erklärt Taylor Krusen in diesem Talk von der iJS London 2019

Viele Projekte können von einer Implementierung von OAuth 20 profitieren, die ersten Schritte mit dem OAuth Flow sind aber etwa so angenehm wie auf Lego zu treten Darum erklärt Taylor Krusen in dieser Session von der International JavaScript Conference 2019 in London, wie der Einstieg in die Verwendung von OAuth 2 mit dem Node CLI am besten gelingt Das stellt zwar erst einmal eine Herausforderung dar, macht OAuth 20 am Ende aber sehr zugänglich

Progressive Web Apps without frameworks #nomigrations #webstandards #noslides

by Adam Bien adam-biencom

Angular Schematics ? the unknown hero

by Chris Noring Microsoft

Sichere Logins sind doch ganz einfach!

mit Arne Blankerts thePHPcc

Hands-on workshop ? Hansel & Gretel do TLS

mit Marcus Bointon Synchromedia Limited

Der Speaker: Taylor Krusen
As a tech-enthusiast and Japanophile, Taylor Krusen is a Developer Evangelist for Dropbox He typically spends his time coding, snowboarding, or teaching his little girl the art of mischief Taylor?s passion for travel, collaboration, and learning have instilled in him a significant appreciation for diversity of thought

Der Beitrag Tipps für den ersten OAuth Flow im Node CLI: Wie geht das? ist auf entwicklerde erschienen


Symfony, Zend Framework & Co: Die Geschichte der PHP-Frameworks (13.11.2019 08:05:07)

Erst mit dem Jahr 2005 beginnt die Geschichte der PHP-Frameworks Das ist erstaunlich, da die Programmiersprache PHP selbst bereits im Jahr 1995 von Rasmus Lerdorf entwickelt wurde Wie sind Frameworks wie Symfony, Zend Framework und Co so groß geworden? Und wer hat das beste Framework im ganzen Land? Antworten auf diese Fragen möchten Arne Blankerts und Stefan Priebsch thePHPcc in dieser Ausgabe der PHP-Kolumne "Zeit für PHP" geben

Die Geschichte der PHP-Frameworks beginnt in der Mitte der Nullerjahre, genau genommen 2005 Denn obwohl PHP eigentlich bereits seit 1995 existiert, war erst mit Version 4 eine rudimentäre Unterstützung von etwas verfügbar, das man aus heutiger Sicht mit viel gutem Willen als Objektorientierung bezeichnen mag Das hinderte freilich einige Wagemutige nicht daran, erste objektorientierte Gehversuche zu unternehmen und Bibliotheken und Klassen zu veröffentlichen, die zumeist einfach nur bestimmte Funktionalitäten bündelten: PEAR, das PHP Extension and Application Repository, war geboren Und wenn gleich diese Lösungen wenig mit dem zu tun haben, was man heute unter einem Framework verstehen mag, findet sich das modulare Konzept von PEAR auch in modernen Frameworks wieder

Bis zur nächsten Generation von Frameworks in PHP brauchte es die Version 5 der Sprache in 2004 ? jetzt mit ernstzunehmender Unterstützung für objektorientierte Entwicklung ?, den Dotcom-Boom und nicht zuletzt den Dänen David Heinemeier Hansson Ob man aus Sicht von PHP heute stolz darauf sein sollte, den Dotcom-Boom begünstigt zu haben, ist vermutlich eine Frage, über die man hervorragend diskutieren oder gar streiten kann Unstrittig hingegen ist, dass David Heinemeier Hansson mit seinem Framework Ruby on Rails auch und gerade auf die PHP-Welt einen großen Einfluss hatte und vermutlich bis heute hat

Wie die Frameworks groß wurden

Die PHP-Community schaute anfangs durchaus neidisch auf die ersten Erfolgsmeldungen, wie produktiv man doch mit einem Framework wie Ruby on Rails programmieren könne Zugegebenermaßen ist ein Vergleich zwischen einer Programmiersprache und einem Framework nicht gerade sinnvoll, aber wer fragt in der heutigen Medien-Welt noch nach der Sinnhaftigkeit von Vergleichen? Das Standardbeispiel für Ruby-on-Rails-Anwendungen, die Erstellung eines Blogs in weniger als zehn Minuten, war durchaus beeindruckend, täuscht aber über die Komplexitäten einer realen Anwendung mit ernsthafter Geschäftslogik hinweg Hinzu kommen die aus heutiger Sicht problematische Verwendung von Active Record und die starke Kopplung von Code an die dahinterstehende Datenbank Wohl auch aus der Befürchtung heraus, dass PHP ? nicht zuletzt wegen des Rails-Frameworks ? Marktanteile an Ruby verlieren könnte, und weil es zu diesem Zeitpunkt kaum ernstzunehmende PHP-Frameworks gab, kündigte die Firma Zend ein eigenes quelloffenes Produkt an: Das Zend Framework

Auch interessant: Zend Framework und die Linux Foundation ? die Zukunft von Laminas

Bis zu dessen erstem Release am 30 Juni 2007 sollten allerdings rund zwei Jahre vergehen Zeit, in der auch andere Entwicklerteams an ihren Frameworks für PHP arbeiteten und von denen einige eine durchaus beachtliche Verbreitung erreichten Den Anfang unter den bekanntesten Frameworks dürften 2005 die Frameworks CakePHP, Agavi und Symfony 1 gemacht haben, gefolgt von CodeIgniter in 2006 und dessen Fork Kohana in 2007 Selbstverständlich entstanden nicht nur allgemein verwendbare Frameworks, sondern auch mehr oder weniger schlüsselfertige Lösungen für Content-Management-Systeme, interaktive Portale oder das Erstellen von Onlineshops Neben TYPO3 und Drupal stieg vor allem Magento zu einer der beliebtesten und häufig gehassten Plattformen für E-Commerce auf Fun Fact: Ursprünglich von Zend als Showcase für die Leistungsfähigkeit des eigenen Frameworks angepriesen, verwendete Magento 1 nur sehr wenige Teile einer frühen Vorversion des Frameworks, und selbst dabei wurden die zugrunde liegenden Konzepte fast bis zur Unkenntlichkeit verbogen

Wer hat das beste Framework im ganzen Land?

Die zunehmende Vielfalt an Frameworks und Konzepten brachte schnell die Frage mit sich, welches Framework denn nun das beste sei Diese Frage scheint natürlich nahe zu liegen, wenn man schon nicht mehr fragen darf, welche Programmiersprache denn nun die beste ist Die Diskussionen, die sich an die Versuche einer Beantwortung anschließen, sind freilich in höchstem Maße religiös Entwickler können schließlich über kaum ein Thema so trefflich streiten, außer vielleicht über Einrückungen und die Frage, an welche Stelle man geschweifte Klammern setzen soll Gegen Ende der Nullerjahre dachten sich daher auch verschiedene Konferenzveranstalter, dass eine öffentliche Framework-Diskussion unterhaltsam sein müsse Wenn schon die Anwender einzelner Frameworks dazu neigen, sich über die Frage, wessen Framework das bessere sei, die Köpfe einzuschlagen, was würde dann erst geschehen, wenn man Kernentwickler verschiedener Frameworks gemeinsam in eine Panel-Diskussion setzt? Wir erinnern uns an eine Konferenz, in der ein ? natürlich amerikanischer ? Veranstalter vorsorglich auf jeden Platz eine geladene Nerf-Gun gelegt hatte

Kostenlos: IPC Agile Cosmos Cheat Sheet

In diesem Cheat-Sheet von unserem Experten René Schröder bekommen Sie einen Überblick über den Agile Cosmos und die organisatorische Struktur Mit diesem Mind-Map haben Sie die perfekte Voraussetzung, um entweder Ihr eigenes agiles Team aufzubauen, Ihre aktuelle Organisation zu verbessern oder einen eigenen Stil von Agil zu kreieren
Kostenloser Download


Was dann geschah, muss eine bittere Enttäuschung für die Veranstalter gewesen sein: Die Vertreter der verschiedenen Frameworks, die sich ohnehin untereinander kannten, sprachen sich gegenseitig großen Respekt aus, lobten hier und da den technischen Vorsprung der ?Konkurrenz? und erzählten, an welchen Stellen man sich vom jeweils anderen hatte inspirieren lassen Den im Titel der Veranstaltung beschworenen ?War of the Frameworks? hatte es so nie gegeben Die PHP-Community, auch wenn es nach außen nicht immer den Anschein hat, war immer schon stark miteinander verwoben Wer nicht nach Marktanteilen streben muss, um den eigenen Umsatz weiter zu erhöhen und immer wieder neue geschäftliche Erfolgsmeldungen zu veröffentlichen, der kann sich, ähnlich wie PHP als Sprache es auch tat und weiterhin tut, von Ideen, Konzepten und Lösungen anderer inspirieren lassen Dabei ist es vor allem dieses ?voneinander lernen?, das die Innovation beschleunigt In einer quelloffenen Welt geht das noch besser und noch schneller, da man den Quelltext der anderen ohne technische und juristische Hürden einfach einsehen und ? je nach Lizenz ? sogar direkt übernehmen oder als Komponente in die eigene Lösung integrieren kann

Fabien Potencier, Gründer von SensioLabs und Vater von Symfony, hat sich in diesem Zusammenhang in der PHP-Community verdient gemacht wie kein Zweiter Er hat es immer schon verstanden, über den Tellerrand von PHP hinaus zu schauen und von anderen Sprachen und deren Frameworks zu lernen Auf diese Weise hat er neue Ideen und viele Best Practices in die PHP-Community gebracht Symfony war insofern all die Jahre ein Innovationstreiber in der PHP-Welt und hat viele andere Lösungen und Frameworks beeinflusst Dabei muss man selbstverständlich nicht mit allen Entscheidungen, Konzepten und daraus resultierenden Lösungen einverstanden sein, doch so manche Innovation ist ? zumindest in der Welt der PHP Frameworks ? heute kaum mehr wegzudenken

Das konsequente Setzen auf DI Dependency Injection beispielsweise, das in der objektorientierten Programmierung eigentlich eine Selbstverständlichkeit sein sollte, war in der PHP-Entwicklung nicht immer das so selbstverständliche Mittel der Wahl wie heute Im Unconference-Track am Rand einer ZendCon in Santa Clara, wo es eine Session zum Thema Dependency Injection gab, saßen Fabien, Stefan und einer der Kernentwickler des Zend Frameworks, Ralph Schindler, zusammen und diskutierten das Für und Wider von DI Ralph war dabei eingangs wenig überzeugt, warum man Dependency Injection überhaupt einsetzen sollte Offensichtlich waren aber die Argumente von Fabien und Stefan überzeugend, denn beim nächsten Release erhielt Zend Framework unter anderem eine neue Komponente, nämlich einen Dependency-Injection-Container, geschrieben von eben jenem Ralph Schindler

Warum das Framework nur eine Kontrollflussumkehr ist

Interessant ist, dass das Zend Framework trotz des Namens am Anfang eigentlich eher als eine lose Sammlung von Komponenten vermarktet wurde, die man gut zusammen einsetzen konnte und die einem relativ einheitlichen Entwicklungsschema folgten Ganz anders als viele der anderen Frameworks, die einem Alles-oder-Nichts-Prinzip folgend eine feste, eher monolithische Struktur aufwiesen und daher auch als Full-Stack Framework bezeichnet werden Was uns zu einer spannenden Frage führt: Was eigentlich ist ein Framework? Fragt man das Internet, erhält man, wie so häufig, unzählige Erklärungen, die sich zum Teil auch noch widersprechen Dabei ist etwas akademisch formuliert ein Framework einfach nur eine Kontrollflussumkehr Inversion of Control Das bedeutet in der Praxis, dass eine Anwendung nicht selbst den Kontrollfluss steuert, sondern das eben dem Framework überlässt So können wiederkehrende Abläufe einmal generisch abgebildet werden, sodass der Anwendungsentwickler sich auf das Schreiben der Anwendung selbst konzentrieren kann, deren Bestandteile dann jeweils vom Framework aufgerufen werden

Die meisten Frameworks in der PHP-Welt kümmern sich wenig überraschend um die Abstraktion von HTTP-Anfragen und wollen es dem Entwickler so leicht wie möglich machen, eine Anwendung zu erstellen und mit dem Internet zu integrieren Viele Frameworks behaupten dabei von sich, auf das MVC-Entwurfsmuster zu setzen Dass das bereits 1979 von Trygve Reenskaug für Desktopanwendungen in Smalltalk erdachte Model-View-Controller-Pattern im Web und über Client-Server-Grenzen hinweg konzeptionell gar nicht funktionieren kann, wurde und wird einfach ignoriert Die Folge ist, dass niemand so genau beantworten kann, welcher Code eigentlich ins Model und welcher in den Controller gehört, auch die Autoren der jeweiligen Frameworks nicht Nur bei der View sind sich die meisten dann wieder mehr oder weniger einig Doch egal für welches HTTP-Framework man sich entscheidet, der Kontrollfluss für das Beantworten einer HTTP-Anfrage ist immer gleich: Abhängig davon, was für ein Request vorliegt, muss entschieden werden, welcher Code auszuführen ist ? ein Vorgang, den man Routing nennt Um das Ergebnis darzustellen, kommt dann meist HTML und somit die eben erwähnte View zum Einsatz Fehler werden in entsprechende HTTP-Fehlercodes umgewandelt oder, im Falle von Formularverarbeitung, nutzerfreundlich aufbereitet

Formular- beziehungsweise Datenverarbeitung ist übrigens ebenfalls ein typischer Anwendungsfall für ein Framework zur Kontrollflussumkehr Statt den Kontrollfluss zu implementieren, definiert der Anwendungsentwickler nur das Formular selbst, legt fest, mit welchen Werten es vorpopuliert werden soll, und definiert dann die Validierungsregeln mit den entsprechenden Fehlermeldungen Im Anschluss muss nur noch festgelegt werden, welche Aktionen im Erfolgs- und welche im Fehlerfall ausgeführt werden sollen Die Steuerung übernimmt dann der Inversion-of-Control-Container, im einfachsten Fall eine selbstgeschriebene abstrakte Basisklasse Auch ein vermeintlich modernes CQRS Framework sieht im Grunde nicht viel anders aus, nur dass eben zwischen Kommando Command und Anfrage Query unterschieden wird und diese getrennt geroutet werden Hinzu kommt, dass Kommandos normalerweise keine Inhalte zurückgeben, während Anfragen offensichtlich dazu dienen, Content auszuliefern Dass diese Inhalte im Idealfall bereits außerhalb des Requests statisch erzeugt wurden und so in einer optimal zur Anfrage passenden Form vorliegen, ändert am eigentlichen Verarbeitungsablauf nur wenig

Interessant wird es, wenn sich Anforderungen ändern und das dazu führt, dass grundlegende Annahmen vor allem des Frameworks nicht mehr zutreffen: Was passiert, wenn statt HTML mit JSON geantwortet werden soll oder der gleiche Geschäftsvorfall unabhängig und ohne einen auslösenden HTTP-Request verarbeitet werden muss? Wie sieht es aus, wenn anstelle einer vollständigen HTML-Seite dynamische, kleine Fragmente in verschiedenen Formaten benötigt werden? Klassische Full-Stack-Lösungen wie Magento oder Typo3 leiden noch heute darunter, dass ihre Architektur auf derart geänderte Anforderungen nicht wirklich ausgelegt ist Wer die Geschäftslogik seiner eigenen Anwendung nicht sauber isoliert entwickelt hat, sondern eng mit dem Framework verzahnt, bekommt hier ebenfalls ein Problem Die Lösung dafür ist dann oft ein Werkzeug wie Wget, mit dem von der Kommandozeile aus ein HTTP-Request ausgelöst wird Oder es kommen mitunter komplexe zusätzliche Technologien zum Einsatz, um die gelieferte Seite zu zerschneiden, zu parsen oder zu konvertieren

Ein Framework muss einfach nur eine Aufgabe effizient lösen

Spannenderweise führt die Erkenntnis, dass mit dem bisher verwendeten Framework nicht mehr alle Anforderungen abgedeckt werden können, nur selten dazu, dass man zunächst die eigentliche Geschäftslogik extrahiert Der Regelfall scheint zu sein, dass man versucht, die aktuelle Lösung immer weiter zu verbiegen, und damit jegliche Chance auf ein Upgrade verliert oder sich die gleichen Fehler bei der Migration in ein anderes Framework direkt wiederholen Die meisten Framework-Anbieter jedenfalls haben ihre Lektion gelernt: War ein Migrationspfad beispielsweise von Zend Framework 1 zur Version 2 faktisch nicht vorhanden, so sind aktuelle Frameworks durchaus darauf bedacht, die Rückwärtskompatibilität zu früheren Versionen weitestgehend zu wahren

Für uns ist es im Beratungsalltag immer wieder interessant zu erleben, dass sich Entwickler sprichwörtlich bei uns dafür entschuldigen, dass man kein Framework im Einsatz habe Neben der Tatsache, dass dies in den meisten Fällen nach der obigen Definition von Framework gar nicht stimmt, schimmert hier auch eine vollkommen unnötige Abwertung der eigenen Arbeit durch Man muss sich weder schämen, wenn man sein eigenes Framework entwickelt hat, das auf die eigenen Anforderungen zugeschnitten ist, noch muss man sich dafür schämen, ein Standard-Framework einzusetzen

Ein Framework muss ? und sollte vielleicht sogar ? dabei gar nicht als Full-Stack-Lösung implementiert sein, sondern eben genau eine Aufgabe effizient lösen In den Zehnerjahren entstand ein klarer Trend weg vom Full-Stack Framework hin zu den so genannten Microframeworks wie Slim Ausgelöst durch die Erkenntnis, dass ein schwergewichtiges Framework, das darauf ausgelegt ist, eine Menge Daten zu laden, um daraus dynamisch eine komplexe HTML-Seite zusammenzubauen, nicht unbedingt geeignet ist, AJAX Requests aus dem Frontend besonders performant zu beantworten Mit den möglicherweise übertriebenen Trends hin zu Microservices und Containern scheint eine endgültige Abkehr von großer, monolithischer Software erfolgt zu sein ? wenn da nicht die großen Legacy-Brocken wären, die bei den meisten Firmen noch irgendwo im Rechenzentrum im Keller lagern

Die zwei wichtigsten Lektionen im Zusammenhang mit Frameworks sind: frage nicht, wie du von Framework X zu Framework Y migrierst, sondern frage, wie du deine Anwendung von Framework X unabhängig machen kannst ? der Rest kommt dann von selbst und ist möglicherweise mit der interessanten Erkenntnis gekrönt, dass man so viel Framework gar nicht braucht Und: ein Framework ist eine Lösungsschablone Es liefert meist einige sinnvolle Best Practices in Form von Konventionen, Regeln oder Dokumentation mit Man muss sich nur immer wieder bewusst machen, dass niemand, auch nicht das tollste Framework der Welt, den Anspruch darauf hat, der ?one and only Way? zu sein, etwas zu tun

PHP Magazin

Dieser Artikel ist im PHP Magazin erschienen Das PHP Magazin deckt ein breites Spektrum an Themen ab, die für die erfolgreiche Webentwicklung unerlässlich sind

Natürlich können Sie das PHP Magazin über den entwicklerkiosk auch digital im Browser oder auf Ihren Android- und iOS-Devices lesen In unserem Shop ist das Entwickler Magazin ferner im Abonnement oder als Einzelheft erhältlich

Der Beitrag Symfony, Zend Framework & Co: Die Geschichte der PHP-Frameworks ist auf entwicklerde erschienen


Women in Tech: ?Diversity hat noch einen langen Weg vor sich? (13.11.2019 07:24:08)

In unserer Artikelserie ?Women in Tech? stellen wir inspirierende Frauen vor, die erfolgreich in der IT-Branche Fuß gefasst haben Heute im Fokus: Stefanie Langner, Co-Founderin von Leankoala

Die Tech-Industrie wird von Männern dominiert ? so weit, so schlecht Doch langsam, aber sicher bekommt der sogenannte Boys Club Gesellschaft von begabten Frauen: Immer mehr Frauen fassen in der Branche Fuß

Aus diesem Grund wollen wir hier spannenden und inspirierenden Frauen die Möglichkeit geben, sich vorzustellen und zu erzählen, wie und weshalb sie den Weg in die Tech-Branche gewählt haben Aber auch Themen wie Geschlechtervorurteile, Herausforderungen oder Förderungsmöglichkeiten kommen zur Sprache

Unsere Woman in Tech: Stefanie Langner

Stefanie Langner

Stefanie Langner verfügt über mehr als 10 Jahre Erfahrung im Web-Umfeld Ihre Leidenschaft für neue Technologien und digitale Innovationen konnte sie seither wiederholt und erfolgreich unter Beweis stellen

2017 startete sie als Co-Founder Leankoala // Web Monitoring und Testing Eine Softwarelösung, mit der Webseiten einfach und umfänglich überwacht und getestet werden können Das zehnköpfige Team agiert über die Standorte Hamburg und Köln

Als CxO zeichnet sich Stefanie bei Leankoala vor allem für die Themen Growth, Finanzen und Organisation verantwortlich Als gebürtige Freiburgerin lebt sie nun in ihrer Wahlheimat Hamburg und ist Mutter von zwei Kindern

Was hat dein Interesse für die Tech-Branche geweckt?

Als Kind der 1980er war das Aufkommen des Desktop-PCs für mich eine echte Offenbarung Als die Geräte irgendwann auch erschwinglich wurden, habe ich so lange gedrängelt bis meine Eltern ein Einsehen hatten und einen Rechner angeschafft haben Damit fand ich meinen Weg ins Internet Damals noch klassisch mit Einwahlmodem und stundenlangem Blockieren der Telefonleitung Ein echtes Streitthema, denn es war gleichzeitig auch die Geschäftsnummer meiner selbständigen Eltern…

Vorbilder und Unterstützer

Ich glaube, so richtig vorangebracht haben mich die Netzwerke, allen voran die Geekettes Hier hatte ich zum ersten Mal Kontakt zu anderen gleichgesinnten, das Thema Webentwicklung hat uns ganz besonders verbunden

In der Gemeinschaft lässt sich viel bewegen

Das gilt auch für die Bereiche Produkt, UX/UI und noch viele mehr Der vorbehaltlose Zusammenhalt hat mich sehr inspiriert und mir gezeigt: In der Gemeinschaft lässt sich viel bewegen

Ein Tag in Stefanies Leben

Der Weg zu meinem jetzigen Job verlief klassisch untypisch: Ursprünglich sollte ich meinen Eltern in die Gastronomie folgen, der Weg war schon lange vorgezeichnet: Kaufmännische Ausbildung, danach in der Top-Hotellerie gearbeitet und später noch ein Studium in Internationalem Hotelmanagement drangehängt Vor 15 Jahren dann der Wechsel ins Digitale Business zu Immonet heute Immowelt Parallel dazu habe ich am Aufbau meines eigenen Unternehmens gearbeitet

Ich bin Co-Founderin von Leankoala Wir haben eine SaaS-Lösung entwickelt, die das technische Monitoring und Testing von Webseiten übernimmt Von Uptime-Monitoring über das Vorhandensein aller Elemente bis zum Check von Klickstrecken

Meine Expertise liegt nicht im Software-Engineering selbst, sondern eher im Business Development Das umfasst auch Aufgaben aus den Bereichen Sales, Marketing und Finanzen Sämtliche Managementprozesse laufen bei mir zusammen Alleine schon deshalb möchte ich verstehen, wie mein Produkt funktioniert Da lasse ich mir dann durchaus auch mal Teile des Codes zeigen sowie gewisse Funktionalitäten erklären Ich möchte darüber im Bilde sein, was im Maschinenraum passiert

Wieso gibt es nicht mehr Frauen in der Tech-Branche?

Ich erinnere mich gerne an die Aussage von Füsun Wehrmann, die mir einmal erzählte, wie hoch die Quote von Frauen in den Studienrichtungen Mathematik und Informatik in der Türkei sei und wie stark Mädchen bereits im Grundschulalter in den MINT-Fächern gefördert werden

Uns fehlen Role Models

Dort ist für alle selbstverständlich, dass Mädchen und Frauen in diesen Bereichen stark sind Da müssen wir auch hin
Außerdem fehlen uns Role Models Mir ist das persönlich ein Anliegen, weshalb ich Frauen – auch über mein persönliches Netzwerk hinaus – dazu ermutige, Speaking Opportunities wahrzunehmen und sich generell zu zeigen Damit tut man sich nicht nur selbst etwas Gutes, sondern strahlt auch auf andere aus und inspiriert zur Nachahmung

Frauen in MINT-Fächern

Vielfalt tut in allen Bereichen gut Umso diverser das Team, desto mehr Lösungsansätze gibt es; unterschiedliche Fragen werden gestellt und Überlegungen angestellt Man bekommt ein größeres Bild und kann bessere Entscheidungen treffen Außerdem wird es lebendig und nie langweilig

Allerdings denke ich, dass Diversity noch einen langen Weg vor sich hat Umso wichtiger ist es, den Diskurs am Laufen zu halten Das gilt auch für Themen jenseits der Geschlechterfrage: Migration, Behinderung, Alter – wenn wir es schaffen, zivilisiert und vorausschauend nach Antworten auf gesellschaftliche Herausforderungen zu suchen, dann sind wir auf einem guten Weg

Hindernisse

Ich habe das Gefühl, als Frau wird man viel eher gechallenged Man muss sich rechtfertigen beziehungsweise unter Beweis stellen, dass man auch wirklich was von seinem Fach versteht Unter Frauen habe ich das noch nie erlebt

Es ist enorm wichtig Grenzen zu ziehen und an seinen Zielen festzuhalten

Wenn man die Gründung eines Start-ups einer unbefristeten Festanstellung mit allen dazugehörigen Annehmlichkeiten vorzieht, dann stößt man nicht immer auf Verständnis Da gerät man schnell in einen Rechtfertigungsstrudel, der sich mit jedem gut gemeinten Ratschlag immer schneller dreht Das geht natürlich nicht spurlos an einem vorbei In solchen Momenten ist es enorm wichtig Grenzen zu ziehen und an seinen Zielen festzuhalten Ein echtes Geduldsspiel, das viel Kraft abverlangt Aber am Ende lohnt es sich allemal

Tipps & Tricks

Findet Netzwerke, probiert euch aus, entwickelt eigene Ideen – mögen sie noch so abgedreht sein Die größten Innovatoren haben klein angefangen Ihr Erfolg gründet vor allem auf ihrem Durchhaltevermögen und ihrer Fantasie Kommen noch Spaß und Inspiration dazu, lassen sich Berge versetzen

Der Beitrag Women in Tech: „Diversity hat noch einen langen Weg vor sich“ ist auf entwicklerde erschienen


Chrome gibt Zeitplan für Blockierung von http-Inhalten bekannt (12.11.2019 15:03:22)

Google Chrome wird nach und nach http-Unterressourcen auf Webseiten blockieren So soll mit der Zeit sichergestellt werden, dass nur noch sichere Inhalte geladen werden Der Browser soll auf diese Weise besseren Schutz und eine höhere Privatsphäre bieten können

Mit der Veröffentlichung von Chrome 79 im Dezember 2019 wird Google einen großen Schritt dahingehend machen, unsichere Inhalte im Browser zu blocken Ein Hauptproblem im Bereich Sicherheit und Privatsphäre beim Surfen auf Webseiten ist, das auch auf sicheren https-Seiten zeitgleich Inhalte geladen werden können, die über unsichere http-Verbindungen hinzugefügt wurden So zum Beispiel Bilder, Audiodateien oder Videos Diesen gemischten Seiteninhalten möchte Google nun Schritt-für-Schritt den Riegel vorschieben Auf diese Weise haben Seitenbetreiber Zeit, ihre Inhalte auf https zu aktualisieren Für die einzelnen Umstellungen haben die Entwickler nun einen Zeitplan veröffentlicht

Standardmäßige Blockierung in Chrome

In Chrome 79 wird es die Möglichkeit geben, einzelne Seiteninhalte freizuschalten, auch wenn diese als unsicher eingestuft wurden Das gilt für alle standardmäßig geblockten Inhalte, wie etwa Iframes Mit Chrome 80 werden im nächsten Schritt Audio- und Videodateien auf https aktualisiert Sollten diese über http geladen worden sein, werden sie blockiert Benutzer haben aber die Möglichkeit, diese Inhalte weiterhin manuell freizuschalten Im letzten Schritt, mit der Version 81, wird das gleiche Vorgehen auf Bilder angewendet werden Planmäßig wäre dies im Februar 2020 der Fall Seiten, die gemischte Inhalte verwenden, werden auch dann als unsicher eingestuft und angezeigt, wenn das HTML-Dokument über https bereitgestellt wird Soll die Webseite von Chrome als sicher identifiziert werden, müssen alle Inhalte auf https geupgraded werden

Weitere Informationen zu Chromes Zeitplan und dem Blockieren von unsicheren Inhalten sind auf dem offiziellem Blog zu finden

Der Beitrag Chrome gibt Zeitplan für Blockierung von http-Inhalten bekannt ist auf entwicklerde erschienen


npm 7: Feature-Diskussion und Pläne für das Beta-Release (12.11.2019 14:06:15)

npm 7 ist schon seit einer Weile in Arbeit Die neue Version des Package Managers soll einige Veränderungen mitbringen Nun gibt es Update zum Stand der Dinge und den Plänen für das Beta-Release

Mit npm 7 soll unter anderem das Modul Arborist ausgeliefert werden, das ein Refactoring des Umgangs mit Package Trees in npm darstellt Dadurch wird unter anderem die Nutzung von Dependency Trees ermöglicht, die mit yarn und pnpm erstellt wurden Neuerungen gibt es außerdem am Support für Nodejs: npm v7 wird nur noch Nodejs 10 aufwärts unterstützen, der Support für ältere Versionen entfällt Sowohl Node 6 als auch Node 8 werden bis zur Veröffentlichung von npm 7 bereits selbst aus dem Support gefallen sein

npm 7: Neuerung für Peer Dependencies

Noch wurden aber nicht alle Entscheidungen über das Design der neuen npm-Version getroffen So ist noch unklar, ob Peer Dependencies in Zukunft wieder automatisch installiert werden sollen Einerseits sei die bisherige Situation verwirrend für einige Nutzer, vor allem neue React-Anwender Andererseits könne eine pauschale Installation der Peer Dependencies für diejenigen Nutzer problematisch sein, die sich auf das gegenwärtige Verhalten eingestellt haben Das Team hinter npm empfindet das aktuelle Verhalten des Package Managers in Bezug auf Peer Dependencies jedoch in jedem Fall als problematisch So müsse, anders als es bisher der Fall ist, sichergestellt werden, dass bei der Erstellung von Trees mögliche Konflikte mit der Installation dieser Dependencies beachtet werden Der derzeitige Vorschlag zur Veränderung des Verhaltens von npm kann im entsprechenden RFC nachgelesen werden

Die Beta von npm 7 wurde für Ende 2019 angekündigt Die Beta-Phase soll einige Monate dauern, sodass für 2020 mit npm 7 zu rechnen ist

Weitere Informationen zum kommenden Release können dem npm-Blog entnommen werden

Der Beitrag npm 7: Feature-Diskussion und Pläne für das Beta-Release ist auf entwicklerde erschienen


Happy Birthday, DSGVO: Eine Bilanz nach einem Jahr Datenschutz-Grundverordnung (12.11.2019 12:00:36)

Die Sorge bei den Unternehmen war groß: Am 25 Mai 2018 wurde die Datenschutz-Grundverordnung in Deutschland eingeführt Nach einem Jahr ist es an der Zeit, Bilanz zu ziehen: War die Angst vor einer großen Abmahnwelle berechtigt? Was hat die DSGVO beispielsweise in Hinblick auf Fotos und Videos sowie im Social-Media-Bereich verändert?

Der Beitrag Happy Birthday, DSGVO: Eine Bilanz nach einem Jahr Datenschutz-Grundverordnung ist auf entwicklerde erschienen


Spatio-temporal Time Series Forecasting: Wie viele Taxis braucht New York City? (12.11.2019 11:12:52)

Mit Machine Learning lässt sich voraussagen, wie viele Taxis New York City braucht Welche Methoden dabei zum Einsatz kommen und wie das geht, erklärt Fabian Hertwig in dieser Session von der ML Conference 2019

Voraussagen zu Zeitreihen zu treffen war immer ein wichtiges Ziel des Machine Learning und der Statistik, da das dabei hilft, Entscheidungen zu treffen, die auf etwas zukünftiges bezogen sind Ein besonderer Bereich dabei stellt die spatio-temporale Vorhersage dar, die der zeitlichen Dimension eine regionale hinzufügt

In dieser Session von der ML Conference stellt Fabian Hertwig ein Projekt vor, das den Taxi-Bedarf in Manhattan voraussagt Dabei werden die Grundprinzipien des Time Series Forecasting vorgestellt und verschiedene Modelle für den spatio-temporalen Einsatz verglichen Dazu gehören unter anderem Long Short-Term Memory Networks und temporal Convolutional Networks Damit lässt sich die Fehlerrate der Vorhersagen um 40 Prozent im Vergleich zu einfachen Modellen senken, wie der Speaker zeigt

Workshop: Machine Learning 101++ using Python

mit Dr Pieter Buteneers Chatlayerai

Honey Bee Conservation using Deep Learning

mit Thiago da Silva Alves, Jean Metz JArchitects

Daten analysieren und transformieren mit Python

mit Doniyor Jurabayev Freelancer

Advanced Flow Control

mit Oz Tiram noris network AG

Der Speaker: Fabian Hertwig

I am a Data Scientist at MaibornWolff in Munich I fell in love with problem solving in data four years ago when I was a working student and helped an automotive company to improve its processes by analyzing data Since then, I specialized in Data Science and Deep Learning and worked on various projects for the last three years

Der Beitrag Spatio-temporal Time Series Forecasting: Wie viele Taxis braucht New York City? ist auf entwicklerde erschienen


Diese Seite wurde in 0.163231 Sekunden geladen