Die SensioLabs-Speaker beim SymfonyLive Online auf Französisch
Die SymfonyLive Online French Edition fand am 9. April in einem neuen Online-Format statt. Zwei Entwickler von SensioLabs, Laurent Voullemier und Guillaume Loulier, nahmen als Speaker daran teil. Sie berichten uns von ihren Vorträgen und ihrer Erfahrung.
SensioLabs-Team spricht auf der SymfonyLive Online
Am 9. April teilten zwei Entwickler von SensioLabs ihr technisches Know-how auf der SymfonyLive Online French Edition 2021. Wir hatten Guillaume Loulier, der über „Cypress, das moderne E2E muss noch aus der Vergangenheit lernen.“ sprach, und Laurent Voullemier mit „Tiefgehender Einblick in die Formular-Komponente.“ Lassen Sie uns einen kurzen Blick auf ihre Präsentationen werfen.
Guillaume Loulier: „Cypress, das moderne E2E muss noch aus der Vergangenheit lernen.“
Guillaume sprach über Cypress, ein zunehmend beliebtes Framework. Sein Vortrag begann mit einer Vorstellung von Cypress, einem E2E-orientierten Framework, das über Yam NPM und Docker verfügbar ist. Cypress bietet eine vertraute, einfache und intuitive Syntax mit Abkürzungen, um den Schreibprozess zu beschleunigen.
Anschließend verglich er Cypress mit seinen Konkurrenten wie Behat oder Panther. Das Framework bietet momentan keine Brücke/Bündel mit Symfony und keinen Unterstützung für Selenium wie Panther.
Daraufhin präsentierte Guillaume die Fallstricke, die es zu vermeiden gilt. Zum Beispiel kann Cypress trotz seiner scheinbaren Einfachheit nicht alle Tests vereinfachen. Fehlerbeseitigung ist nicht immer einfach. Er sprach auch über die Vor- und Nachteile von Cypress: wie man es täglich verwendet, um Fehler der Vergangenheit zu vermeiden. Schließlich gab Guillaume uns seine Ratschläge zur Verwendung von Cypress und seine Empfehlungen zu diesem Framework:
Sein Ratschlag:
Tests außerhalb der Anwendung zu schreiben macht sie widerstandsfähiger und skalierbarer.
Cross-Browser-Testing sollte zur Norm werden.
Wie bei Symfony könnte Cypress native Erweiterungen für aktuelle Frameworks/Bibliotheken anbieten.
In welchen Fällen empfiehlt er dieses Framework?
Um widerstandsfähige Tests zu produzieren, die schnell und an die neuesten Frontend-Entwicklungen angepasst sind.
Wenn Sie mehrere Browser, Netzwerkrequests und die neuesten clientseitigen Entwicklungen handhaben möchten.
Wenn Sie sich nicht vor JS scheuen, um Ihre Tests zu pflegen und Ihr CI zu optimieren.
Laurent Voullemier: „Tiefgehender Einblick in die Formular-Komponente“
Laurent sprach über die Form-Komponente in seinem Vortrag, insbesondere was passiert, wenn Sie eine Anfrage mit einem Formular einreichen. Sein Vortrag begann mit der Erstellung eines Formulars. Dann zoomte er in die FormFactory-Klasse und dessen sechs Methoden, die alle ein Formular instanziieren. Er konzentrierte sich auch auf den ResolvedFormType, der die Vererbung im Form-Komponente kapselt.
Anschließend behandelte er die Initialisierung der Formulardaten und deren Einreichung. In diesem Stadium ist das Phänomen der Rekursion allgegenwärtig: die Komponente basiert auf dem Composite-Muster. Laurent sprach über zwei wesentliche Mechanismen für die Formularübermittlung: DataTransformer und DataMapper. Diese beiden verbundenen Konzepte können ein Datenmodellobjekt in eine darstellbare Repräsentation in Form eines HTML-Formulars verwandeln.
Zum Abschluss seines Vortrags präsentierte Laurent zwei weitere Konzepte der Komponente. Diese sind die Erweiterungen, um der Komponente vollständige Funktionalität hinzuzufügen (Validierung, CSRF-Sicherheit…) und die Guessers, um den Typ eines Formularelements aus den Metadaten (Doctrine, Validierung oder andere) des Objekts, das es darstellt, zu erraten.
Mathias Arlaud: „Eine angepasste Serialisierung mit API Platform“
Mathias ist ein kürzlich SensioLabs-Alumni. Er stellte auf der SymfonyLive Online einen Vortrag über API Platform vor. API Platform ist ein REST/GraphQL-Framework basierend auf Symfony. API Platform arbeitet mit dem Serialisierungs-/Deserialisierungsprozess, d.h. dem Prozess der Umwandlung von Objekten in ein dauerhaftes Format und umgekehrt.
Mathias erklärte uns, dass es eine starke Abhängigkeit zwischen API Platform und den Serializer-Komponenten von Symfony gibt. Dank dessen profitieren wir von einer Vielzahl technischer Lösungen zur Serialisierung eines Objekts. Viele Werkzeuge wie DataTransformers oder DTP können spezifische Anforderungen erfüllen. Einige von ihnen können weniger komplex sein, während andere leistungsfähiger sind. Aber wie wählt man eine technische Lösung, die unseren Bedürfnissen entspricht? Einige der Lösungen wurden uns in diesem Vortrag präsentiert. Aber auch drei Hebel in der API-Plattform zur Optimierung der Serialisierung:
Der ContextBuilder: wenn die Serialisierung von einem Zustand und/oder einer Anfrage abhängt.
Die Resource Metadata Factory: wenn die Serialisierung nur von der Ressource unabhängig von ihren Werten abhängt.
Serializer und/oder DTO: wirken hier direkt auf die zu serialisierenden Daten und nicht auf deren Gruppen.
Schließlich präsentierte Mathias die neuen Funktionen der API Platform Version 2.6, die Ende 2020 veröffentlicht wurde.
Ein erfolgreicher erster Auftritt als Redner bei der SymfonyLive Online
Für Laurent und Guillaume war das Sprechen auf einer SymfonyLive-Konferenz eine Premiere! Außerdem hat sich mit dem Wechsel zu SymfonyLive Online das Format der Vorträge in diesem Jahr weiterentwickelt. Um technische Probleme zu vermeiden, werden alle Vorträge im Voraus aufgezeichnet und dann während der Konferenz gestreamt. Die Redner beantworten Fragen im Chatraum, während die Aufzeichnung abgespielt wird. Sie diskutieren dann für einige Minuten live mit den Teilnehmern am Ende ihrer Rede. Für weitere Details zur SymfonyLive Online French Edition 2021, lesen Sie bitte unseren Blogbeitrag unter diesem Link.
Guillaume und Laurent wurden unter mehreren Entwicklern aufgrund ihrer Wahl der Themen ausgewählt. Sie sollten die Symfony-Entwicklergemeinschaft interessieren. Laurent entschied sich, sich auf die Formkomponente zu konzentrieren, weil wir sie oft als schwarze Box sehen. „Ich habe sie studiert, um die Zertifizierung vorzubereiten, und es inspirierte mich, tiefer in sie einzutauchen.“ Guillaume entschied sich, über Cypress zu sprechen, ein Framework, das er bereits für ein Projekt bei SensioLabs verwendet hat.
Die Präsentationen von Guillaume und Laurent verliefen sehr gut. Der Stresspegel sank mit der Möglichkeit, Aufnahmen vorab aufzuzeichnen und neue Aufnahmen zu machen. Es ist nicht dasselbe Erlebnis, als vor Publikum auf einer Bühne zu sprechen. Aber dieses neue Format erfordert viel Vorbereitungszeit, um mehrere Versuche zu machen und Ihre Untertitel zu perfektionieren.
Diese doppelte Premiere war ein Erfolg für sowohl Guillaume als auch Laurent. Sie schätzten beide die Möglichkeit, auf der SymfonyLive zu sprechen. Sie sind bereit, die Erfahrung zu wiederholen. Vielleicht diesmal bei einer physischen Veranstaltung!
Tipps für die Präsentation eines Vortrags bei einer SymfonyLive Online-Konferenz:
Laurent: „Ich würde sagen: Augen zu und durch. Stress ist natürlich, selbst für die erfahrensten Redner. Unsere Herausforderung besteht darin, ihn erfolgreich zu bewältigen, sodass er nicht sichtbar wird“.
Guillaume: „Ich denke, der schwierigste Teil ist zu starten und eine Idee für einen Vortrag vorzuschlagen. Man muss in der Lage sein, seinen Vortrag beim Call for Papers mit einer guten Zusammenfassung seines Themas zu verkaufen.“
Ein großes Dankeschön an Laurent und Guillaume für ihre Geschichten und ihre hilfreichen Ratschläge. Und herzlichen Glückwunsch an sie und an Mathias für ihre hervorragenden Vorträge 👏 Wir hoffen, Sie bald auf der nächsten Symfony-Konferenz wiederzusehen!
Und denken Sie daran, dass Sie alle verpassten Konferenzen auf live.symfony.com mit Ihrem Gutschein nachsehen können.