WordPress-Entwickler: Beginnen Sie hier!
Veröffentlicht: 2017-10-14Willkommen zu unserem Startleitfaden für WordPress-Entwickler! Egal, ob Sie als Freiberufler oder als Teil einer Medienagentur arbeiten. In diesem Artikel werden wir eine Vielzahl von Themen im Zusammenhang mit der WordPress-Entwicklung zusammen mit einigen der verfügbaren Ressourcen und Tools behandeln.
Der Text ist um die verschiedenen Phasen herum organisiert, die zwischen der Ideengenerierung und dem Versand fließen. Wir sprechen über Brainstorming, Prototyping, Entwicklung und schließlich über Deployment. All dies im Rahmen der Produktentwicklung. Wir glauben, dass es zwischen den ersten Ahnungen einer Idee und ihrer endgültigen Umsetzung viele feine Bereiche gibt. Einige bleiben in der aktuellen WordPress-Literatur bestenfalls undiskutiert und andere sind im schlimmsten Fall völlig unerforscht.
Wenn Sie ein Pressidium-Kunde sind, können Sie sofort mit der Nutzung der Tools beginnen, die wir um unsere Plattform herum entwickelt haben, sodass Sie die Vorteile eines hohen Integrationsgrades genießen können. Wir werden auch darüber sprechen, was diese Tools sind. Bitte denken Sie daran, dass dies ein Live-Dokument ist und als solches behandelt werden sollte.
In erster Linie ist es unser Ziel, dass dieses Dokument für Ihre Praxis als WordPress-Entwickler nützlich ist, und zweitens, Ihnen ein paar coole Dinge zu zeigen, die wir nur für Sie gebaut haben.
Von der Idee bis zum Einsatz
Unabhängig davon, ob Sie an einem neuen Produkt arbeiten oder einige Kundenaufträge übernommen haben, der Prozess von der Idee bis zur Bereitstellung besteht aus 4 Phasen. Obwohl diese Stufen diskret sind, überlappen sie sich erheblich und sie sind nicht linear. Darauf gehen wir weiter unten im Text ein:
- Brainstorming und Anforderungserhebung.
- Prototyp entwickeln.
- Entwicklung.
- Einsatz.
Der Prozess der frei-assoziativen Ideenfindung kommt zum Einsatz, wenn Sie mit der Entwicklung eines Produkts oder eines Projekts beginnen möchten und Ideen benötigen. Das Sammeln von Anforderungen erfolgt jedoch, wenn Sie beauftragt werden, ein Projekt für einen Kunden zu erstellen oder nach einer Brainstorming-Sitzung zu einer Idee zu kommen. Sie können später immer noch Brainstorming-Sitzungen einrichten, um bestimmte Probleme zu lösen, aber diese Sitzungen sind eingeschränkter.
Die grundlegenden Prinzipien des Brainstorming sind zwei. Entscheiden Sie sich für Quantität und verschieben Sie das Urteil auf später. Wir haben in der Vergangenheit darüber geschrieben, wie Sie eine solche Sitzung moderieren können, wie Sie die richtige Denkweise aufbauen und einige funky Tools, die Ihnen dabei helfen.
Anforderungen eruieren
Es gibt mehrere Methoden, die verwendet werden, um Anforderungen zu ermitteln, und traditionell war dies immer die Arbeit eines Business-Analysten. Obwohl es in der Verantwortung des Auftraggebers liegt, Informationen über die Projektanforderungen bereitzustellen, muss ein gemeinsames Verständnis für alle Beteiligten hergestellt werden. Die Anforderungserhebung ist ein anderer Prozess als die Anforderungserfassung. Es geht vielmehr darum, durch aktive Beteiligung die notwendigen Informationen herauszuholen. Und es geht weniger darum, das, was der Kunde Ihnen mitteilt, passiv in einem Dokument zusammenzufassen und an das Entwicklungsteam weiterzugeben.
Je nach Umfang und Art des Projekts sind Use Cases eine großartige Möglichkeit, Funktionalität zu erfassen. Anwendungsfälle sind eine Technik, die in UML-Diagrammen verwendet wird, um Interaktionen zwischen den Beteiligten eines Systems und dem System selbst zu beschreiben. Da es sich um eine Sammlung von Szenarien handelt, die in einfachem, aber strukturiertem Englisch geschrieben sind, sind sie nicht nur weniger kompliziert, sondern auch ein schneller und effizienter Weg, um mit der Diskussion und dem Skizzieren von Systemfunktionen zu beginnen.
Sie müssen wahrscheinlich strukturierte Interviews mit allen Beteiligten einrichten, wenn Sie Anforderungen für komplexe Produkte erfassen möchten. Dafür sind User Stories ein perfekter Weg. Sie sind Teil der agilen Denkweise und ein informeller Weg, um über Anforderungen zu sprechen, um ein gemeinsames Verständnis aufzubauen. Kurze Funktionsbeschreibungen werden auf Papierkarten geschrieben, in der Regel Haftnotizen, und auf einem Whiteboard herumgemischt, um Erzählungen von Benutzerreisen zu erstellen. User Stories werden vor Ort generiert, durch Teilnahme, Diskussion und Manipulation von Karten auf dem Whiteboard. Details werden langsam ausgearbeitet und schließlich als Features in das Product Backlog aufgenommen. Jeff Patton hat ein hervorragendes Buch über User Story Mapping geschrieben, das wir Ihnen wärmstens empfehlen, wenn Sie mehr über das Thema erfahren und es in Ihren Projekten einsetzen möchten.
User Stories sind nichts Statisches, das man einmal erstellt für immer vergisst. Stattdessen sind sie eine dynamische Landkarte, zu der das Entwicklungs- und Produktteam immer wieder zurückkehren kann, während die Prototyping-Phase folgt und das Produkt Gestalt annimmt.
Die Bedeutung eines Prototyps besteht darin, Fragen zu beantworten. Obwohl es mehrere Prototyping-Methoden gibt, glauben wir, dass die evolutionäre für unsere Zwecke am besten geeignet ist und sich an moderne agile Softwareentwicklungspipelines anpassen lässt. In der evolutionären Prototyp-Methodik ist der Prozess zyklisch, wobei der Prototyp in jedem Zyklus zunehmend verfeinert wird.
Jede Prototyp-Iteration bewegt sich von der Entwurfsphase in die Entwicklungs- und Evaluierungsphase. Es hebt frühe Designprobleme hervor und bietet etwas Greifbares, auf das die Leute zeigen und darüber sprechen können, was verbessert werden kann. Die aus der Evaluierungsphase gewonnenen Erkenntnisse werden in der nächsten Prototyp-Iteration verwendet und der Zyklus wiederholt sich erneut. So entwickelt sich der Prototyp langsam zum finalen System bis zur Reife als fertiges Produkt.
Das Prototyping erfolgt normalerweise in schnellen Entwicklungsschritten, und die Verwendung von Boilerplate-Systemen wie Bedrock, Sage und Bootstrap kann die Entwicklungszeiten erheblich verkürzen. Systeme wie die oben genannten bieten ein vollständiges Anwendungsskelett und die notwendige Toolchain, sodass Sie nicht jedes Mal bei Null anfangen müssen. Evolutionäre Prototypen sind nicht gleich Wegwerfprototypen. Letztere sind Prototypen, die nur einmal als Proof of Concept gebaut und dann weggeschmissen werden. Wenn Sie viel Zeit damit verbringen, einen E-Commerce-Prototyp zu erstellen, warum nicht die gemeinsamen Funktionalitäten abstrahieren und in Zukunft wieder verwenden, anstatt alles wegzuwerfen und bei Null anzufangen?
Hier kommt Pressidium Cloning ins Spiel. Es ermöglicht Ihnen, eine Website mit nur einem Klick schnell zu klonen und mit der Entwicklung zu beginnen. Auf diese Weise können Sie mehrere Vorlagen-Websites mithilfe von Boilerplate vorbereiten, sie mit den erforderlichen Plugins, Designs und Konfigurationen vorladen und sie jedes Mal klonen, wenn Sie sie in einem Projekt benötigen. Sie können sie auf die gleiche Weise auch auf ein anderes Pressidium-Konto klonen, beispielsweise auf das Ihres Kunden. Machen Sie sich keine Sorgen, wenn sich Ihre Prototypen auf einem anderen verwalteten WordPress-Hosting-Anbieter befinden. Verwenden Sie einfach unser Migration Wizard Tool und importieren Sie sie in Ihr Pressidium-Konto!
Egal, ob Sie WordPress-Projekte selbst entwickeln oder mit anderen WordPress-Entwicklern und -Designern zusammenarbeiten, die beiden wichtigsten Punkte, die langfristig zur Nachhaltigkeit Ihres Handwerks beitragen, sind die folgenden:
- Gute Softwaregewohnheiten praktizieren.
- Und zu wissen, was alles ist, wo es ist und warum es da ist.
Best Practices reichen von der konsequenten Befolgung eines Software-Styleguides über das Üben des Schreibens von sauberem Code anstelle von cleverem Code bis hin zu High-Level-Entscheidungen für Software und UI-Design. Der zweite Punkt ist einfach die Dokumentation und die vielen Formen, die sie innerhalb eines Projekts annehmen kann.
Das Befolgen eines Software-Styleguides ist unkompliziert. Studiere die offiziellen WordPress.org-Ressourcen zu diesem Thema und entscheide dann, welche Richtlinien für dich sinnvoll sind, um sie in deinen Programmierstil aufzunehmen. Das Ändern von Gewohnheiten ist ein langsamer Prozess, und Sie sollten zunächst mit kleinen Änderungen beginnen. Letztendlich eine Reihe von Richtlinien zu haben, an die sich Ihr Code halten muss, bedeutet, irgendwann Code-Reviews einzuführen.
Code-Reviews sind eine systematische Methode zum Lesen und Untersuchen von Code, die darauf abzielt, Fehler zu beseitigen, schwer verständliche Codeteile aufzuklären und sicherzustellen, dass der Code Standards und Konventionen einhält. Es ist auch am besten, es von jemand anderem in Ihrem Team und nicht von Ihnen zu erledigen.
Sauberen Code dem cleveren vorzuziehen, ist eine „Perle der Weisheit“ in der Softwareentwicklung, die leider nur geschätzt werden kann, wenn man in die Fallen des cleveren Codes getappt ist. Das Fazit lautet: Obwohl Ihnen cleverer Code in einigen Fällen „Hacker“-Punkte und Schulterklopfen einbringen und in manchen Fällen sogar einen Performance-Gewinn bringen kann, verlieren Sie letztendlich langfristig. Code, der „hackish“ und schwer lesbar ist, wird in Zukunft unverständlich werden. Und es kann Sie kosten, wenn Sie einen besonders schwer fassbaren Fehler beheben müssen. Das Gleichgewicht zwischen dem Schreiben von optimiertem und sauberem Code zu finden, müssen Sie selbst herausfinden, aber es ist immer besser, sich auf der sauberen Seite der Dinge zu irren.
Da die Leistung von WordPress-Sites stark von der korrekten Verwendung des Browser-Cache abhängt, ist es wichtig zu wissen, wie Ihr verwalteter WordPress-Hosting-Anbieter das Caching verwendet. Ihr Code arbeitet dann synergetisch mit Ihrer Hosting-Plattform, um die bestmögliche Leistung zu erzielen. Denken Sie jedoch daran, dass das korrekte Messen der Geschwindigkeit Ihrer Website nicht so einfach ist, wie man vielleicht denkt, und dass es mehrere Fallstricke gibt!
Apropos Best Practices auf hoher Ebene, die Entscheidung, die dazu führte, dass WordPress seine Kernfunktionalität entkoppelte und eine REST-API bereitstellte, könnte sicherlich als Beispiel für solche Praktiken angesehen werden. Diese Entscheidung signalisierte den Aufbruch in eine neue Ära, hin zu programmatischen Content-Management-Systemen und einer „kopflosen“ WordPress-Anwendungsentwicklung.
Wir haben eine kurze Einführung und ein Tutorial zur WordPress-REST-API und eine einfache Möglichkeit geschrieben, mit Browser-Plugins wie Postman damit zu experimentieren.
Diese Entscheidung für das Softwaredesign war täuschend einfach und doch leistungsfähig. Ein WordPress-Entwickler kann jetzt mit WordPress Anwendungen und Funktionen implementieren, die weit über die von Websites oder Blogs hinausgehen. Ein besonders treffendes Beispiel ist unser Kanban-Prototyp.
Wir haben WordPress-Entitäten wie Kategorien und Beiträge verwendet, um ein Kanban-Board mit Aufgaben, Spalten und einem Wertstrom zu modellieren. Wir haben eine API für Kanban-Spalten und -Karten entworfen, die alles zusammenhält.
Dokumentation
Man könnte argumentieren, dass bewährte Softwarepraktiken dazu beitragen, eine bessere Dokumentation zu schreiben, von einfachen Codekommentaren über Projektergebnisse bis hin zu Produktkopien.
Egal wie man es betrachtet, Dokumentation ist ein Gewinn.
Die Schreibsprache in der Technischen Dokumentation unterscheidet sich deutlich von derjenigen, die Sie in der täglichen Kommunikation oder im Beruf verwenden. Diese Form des Schreibens wird technisches Schreiben genannt und wird nicht nur in der Computer- oder Softwareentwicklung verwendet. Tatsächlich wird es in allen Berufen verwendet, die technische Konzepte einem Fachpublikum vermitteln müssen, wie z. B. Jura, Medizin, Luftfahrt usw. Es ist ein großes Thema, und es gibt sogar einige Hochschulen, die Zertifizierungen für technisches Schreiben anbieten. Seine Daseinsberechtigung besteht darin, technische Informationen in einer klaren und prägnanten Sprache zu vermitteln. Die aktive Stimme wird dem Passiv vorgezogen, wobei letzteres in Fällen verwendet wird, in denen ein beschreibender Text benötigt wird, um Konzepte zu erklären.
Ein technischer Redakteur muss bedenken, dass der Leser oft frustriert ist, wenn er nach einer bestimmten Information sucht. Folglich darf Ihr Schreiben nicht im Weg stehen. Sein Ziel ist es, diesen Prozess einfach, unkompliziert und sogar angenehm zu gestalten!
Obwohl Sie keinen Abschluss haben oder ein professioneller technischer Redakteur sein müssen, ist es für Ihre Karriere als WordPress-Entwickler sehr wichtig zu wissen, wie man Konzepte auf prägnante und einfache Weise kommuniziert. Wann immer Sie also eine Dokumentation für ein Plugin, ein Design oder eine API schreiben müssen, die Sie erstellt haben (und auf die Sie stolz sind!), müssen Sie die Grundlagen beherrschen. Aus diesem Grund haben wir eine Kurzanleitung zur Dokumentation Ihrer WordPress-Plugins und -Themes geschrieben, die auch die 5 Grundprinzipien des technischen Schreibens abdeckt.
Aber die Dokumentation hört hier nicht auf. In Fällen, in denen Ihr Theme oder Plugin Teil eines größeren Projekts ist oder selbst ausreichend komplex ist, sollte man anfangen, in Begriffen der Produktdokumentation zu denken. Abgesehen davon, dass Dokumentation ein Vermögenswert ist, ist die Produktdokumentation ihrerseits ein Marketing-Asset. Dies wird im folgenden Zitat von Mike PuterBaugh, VP of Marketing bei MindTouch, in einem Mashable-Artikel über die Bedeutung der Produktdokumentation treffend zusammengefasst:
Es ist kein sexy Unterfangen, aber es wird Ihnen den Respekt Ihrer Kollegen, eine effektivere Unternehmensführung und ein kollaborativeres Team einbringen. Denn es geht nicht um dieses Quartal oder dieses Jahr, sondern darum, Wettbewerbsvorteile und langfristiges Wachstum zu beeinflussen.
Wenn es um Produkte geht , gibt es neben den gebräuchlichsten Formen der schriftlichen Dokumentation noch einige mehr, wie z. B. Online-Hilfen, Styleguides, Microcontent und so weiter. Die Produktdokumentation wird normalerweise von vielen verschiedenen Personen gemeinsam geschrieben, was eine zusätzliche Ebene der Komplexität hinzufügt. Wir haben einen ausführlichen Leitfaden geschrieben, der Ihnen hilft, auch auf diese Weise zu denken und zu planen.
Schließlich, während wir zur letzten Phase des Prozesses übergehen, der Bereitstellung, platzieren wir das letzte Teil des Dokumentationspuzzles: Bereitstellungsdiagramme. Diese helfen Ihnen, eine klare und runde Vorstellung davon zu bekommen, was alles ist und wo es sein sollte.
Obwohl die meisten Leute vor Entsetzen davonlaufen würden, wenn sie von UML hören (und verständlicherweise ist die vollständige Spezifikation von UML miserabel), enthält UML zu ihrer Verteidigung eine Teilmenge von Notationswerkzeugen, die einen Mehrwert für ein Projekt schaffen können. Bereitstellungsdiagramme sind eine überraschend einfache Notation, die nur aus Knoten und Kommunikationspfaden besteht, die Ihnen auf einen Blick die verschiedenen Umgebungen zeigen, die in Ihrem Projekt vorhanden sind, und wo jede Komponente bereitgestellt werden muss.
Wir werden uns in Zukunft mehr mit UML befassen, insbesondere mit einer anderen nützlichen Notation namens Sequenzdiagramme sowie mit detaillierteren Beispielen für Anwendungsfall-Szenariodiagramme, um Projektanforderungen zu konkretisieren und Prototypen zu erstellen.
Die meisten, wenn nicht alle modernen Entwicklungen und Bereitstellungen verwenden irgendeine Form der Versionskontrolle, wie Git und SVN. Quellcode-Repositorys sind nicht nur für Teams allein unerlässlich, da ihre Vorteile auch für einzelne WordPress-Entwickler umfangreich sind.
Wenn Sie ein Pressidium-Kunde sind, können Sie Ihr Repository über SFTP in Ihr Konto integrieren, indem Sie einen externen Dienst wie Deploybot verwenden. Alternativ können Sie SFTP verwenden, um Ihre Dateien auf Ihr Konto zu übertragen, da dies die einfachste und unkomplizierteste Methode ist. Sie können auch mehrere SFTP-Benutzer erstellen und sie bestimmten Websites und Umgebungen zuweisen. Apropos, eine Staging-Umgebung für Ihre Website stellt sicher, dass Ihr Entwicklungs- und Bereitstellungsprozess rationalisiert wird und Ihre Produktions-Website vor unerwünschten Änderungen geschützt ist. Wenn Sie beispielsweise das Staging für Ihre Website aktiviert haben, können Sie eine Kopie aus der Produktion ziehen und dann ein SFTP-Konto für Ihren Entwickler erstellen, das nur Zugriff auf die Staging-Umgebung hat.
Die Einrichtung einer optimierten Entwicklungspipeline, die mehrere Umgebungen durchläuft, ist eine der Änderungen, die die DevOps-Bewegung für IT-Umgebungen mit sich brachte. Die Einführung einer Continuous-Delivery-Disziplin und das schrittweise und häufige Pushen von Softwareänderungen führt zu schnelleren Bereitstellungszyklen und weniger Fehlern. Sie müssen keine ZIP-Archive mehr mit verschiedenen Versionen Ihrer Anwendung pflegen. Auf diese Weise könnten Sie leicht den Überblick verlieren und die falschen Änderungen bereitstellen, die Ihren Produktionssystemen schaden könnten. Es bestand auch die Gefahr, dass Probleme mit Dateiberechtigungen verstümmelt wurden, was bestenfalls dazu führen konnte, dass Ihre Anwendung nicht richtig funktionierte, und schlimmstenfalls Sicherheitsprobleme einführte.
Epilog
Wir wissen, dass deine Freizeit als WordPress-Entwickler ziemlich begrenzt ist. Aus diesem Grund haben wir alles in einem einzigen Dokument konsolidiert, da die Informationsflut real ist und sich anscheinend auf alle Wissensarbeiter und nicht nur auf WordPress-Entwickler auswirkt. Wir haben eingangs erwähnt, dass es unser Ziel ist, erstens nützliche Informationen bereitzustellen und zweitens Themen anzusprechen, die unserer Meinung nach in der aktuellen WordPress-Literatur unterrepräsentiert sind. Ein WordPress-Entwickler zu werden ist eine Sache, relevant und wettbewerbsfähig zu bleiben eine andere . Und um dies zu tun, müssen Sie eine abgerundete Sicht auf die Softwareentwicklung als Disziplin haben und sich gute Gewohnheiten, Methoden und Techniken aneignen, die Ihrer Karriere langfristig dienen werden.