+ All Categories
Home > Internet > Tipps & Tricks für Erweiterungsentwickler - JoomlaDay Deutschland 2014 - Köln

Tipps & Tricks für Erweiterungsentwickler - JoomlaDay Deutschland 2014 - Köln

Date post: 26-Jan-2015
Category:
Upload: viktor-vogel
View: 105 times
Download: 0 times
Share this document with a friend
Description:
In dieser Präsentation möchte ich ein paar Tricks und Tipps bei der Entwicklung von Erweiterungen weitergeben, die ich über die Jahre gesammelt habe. Themen, die behandelt werden: - Joomla! API / vorhandene Funktionen nutzen - Entwicklungsumgebung (IDE / Lokale Serverumgebung) - Workflow bei der Entwicklung (Prozess zur finalen Version) - Optimierungspotentiale (Phing, Code Sniffer, Update-Strategie) - Feedback / Diskussion / Kritik Über den Autor: Viktor arbeitet seit Joomla! 1.0 (2005) mit dem Content Management System und ist Entwickler von über 30 Erweiterungen, die er der Joomla! Community kostenlos zur Verfügung stellt. Er engagiert sich im JandBeyond e.V. und CMS Garden. Studiert hat er Informatik am KIT, beruflich ist er als Joomla! Spezialist bei 1&1 Internet AG angestellt und nebenbei auch als freiberuflicher Webentwickler tätig.
17
JoomlaDay Germany 2014 - Tipps und Tricks für Erweiterungsentwickler – Viktor Vogel - @viktorvogel Tipps und Tricks für Erweiterungs- entwickler JoomlaDay Germany – Köln - 2014
Transcript
Page 1: Tipps & Tricks für Erweiterungsentwickler - JoomlaDay Deutschland 2014 - Köln

JoomlaDay Germany 2014 - Tipps und Tricks für Erweiterungsentwickler – Viktor Vogel - @viktorvogel

Tipps und Tricks für Erweiterungs-

entwickler

JoomlaDay Germany – Köln - 2014

Page 2: Tipps & Tricks für Erweiterungsentwickler - JoomlaDay Deutschland 2014 - Köln

Gliederung• Vorstellung

• Joomla! API / vorhandene Funktionen nutzen

• Entwicklungsumgebung (IDE / Lokale Serverumgebung)

• Workflow bei der Entwicklung (Prozess zur finalen Version)

• Optimierungspotentiale (Allgemein, Phing, Code Sniffer)

• Feedback / Diskussion / Kritik

JoomlaDay Germany 2014 - Tipps und Tricks für Erweiterungsentwickler – Viktor Vogel - @viktorvogel

Page 3: Tipps & Tricks für Erweiterungsentwickler - JoomlaDay Deutschland 2014 - Köln

• Arbeite seit 2005 mit Joomla!o Aktive Teilnahme in der Community

o Bug Squash Team

o Core Contributions

• Privates Joomla! Projekto Kubik-Rubik Joomla! Extensions

o Über 30 kostenlose Erweiterungen

• Joomla! Spezialist bei 1&1

• Freiberuflicher Webentwickler

JoomlaDay Germany 2014 - Tipps und Tricks für Erweiterungsentwickler – Viktor Vogel - @viktorvogel

Vorstellung

Page 4: Tipps & Tricks für Erweiterungsentwickler - JoomlaDay Deutschland 2014 - Köln

• Komponenteno Vollständige Anwendungen innerhalb der Installation

o Eigene Administrationsoberfläche

o Ausgabe der Erweiterung über Views im Hauptbereich

• Pluginso Werden getriggert und arbeiten vorwiegend im Hintergrund

o Sind unterteilt in verschiedene Typen (Content, System...)

o Manipulieren Daten, geben diese nicht aus

• Moduleo Einblendung auf vorgegebenen Templatepositionen

o Ausgabe von Inhalten auf diesen Positionen (Widget)

o Arbeiten meist eng mit Komponenten zusammen (Login-Modul)

• Templateso Definieren die Ausgabe der Website – bieten Platzhalter für Inhalte

JoomlaDay Germany 2014 - Tipps und Tricks für Erweiterungsentwickler – Viktor Vogel - @viktorvogel

Erweiterungstypen

Page 5: Tipps & Tricks für Erweiterungsentwickler - JoomlaDay Deutschland 2014 - Köln

• Joomla! Frameworko Modulares PHP-Framework

o Sammlung von Klassen und Funktionen

o MVC Muster

• Model - Datenmodell

• View - Präsentation

• Controller – Programmsteuerung

• Joomla! CMS APIo Übersicht http://api.joomla.org/

o Ordner libraries

• cms

• joomla

• legacy

• fof

• ....

JoomlaDay Germany 2014 - Tipps und Tricks für Erweiterungsentwickler – Viktor Vogel - @viktorvogel

Framework – API

Page 6: Tipps & Tricks für Erweiterungsentwickler - JoomlaDay Deutschland 2014 - Köln

• JFactoryo Factory-Muster – je eine Instanz für Objekte

• JFactory::getUser(); // JUser

• JFactory::getDocument(); // JDocument

• JFactory:: getDBO(); // Jdatabase

• ... (siehe libraries/joomla/factory.php)

• JDatabaseo Kommunikation mit der Datenbank

• JInputo Verarbeitung von Abfragen / Requests

• JDocumento Dokumentverarbeitung (HTML, JSON, XML etc.)

• JHtml, JHttp, JMail, JUri, JRoute, JText

JoomlaDay Germany 2014 - Tipps und Tricks für Erweiterungsentwickler – Viktor Vogel - @viktorvogel

Wichtige Klassen

Page 7: Tipps & Tricks für Erweiterungsentwickler - JoomlaDay Deutschland 2014 - Köln

• Rapid Application Development / Framework On Framework

• Häufig benötigte Funktionalitäten mit wenigen Zeilen Code verwendeno Code-Reduzierung von bis zu 80% möglich

o Listenansicht generieren

o Datenbankeinträge anzeigen und manipulieren

• DRY – Don't repeat yourself

• F0F (F Null F) vs. FOFo https://www.akeebabackup.com/home/news/1558-info-about-fof-and-

f0f.html

JoomlaDay Germany 2014 - Tipps und Tricks für Erweiterungsentwickler – Viktor Vogel - @viktorvogel

RAD / FOF

Page 8: Tipps & Tricks für Erweiterungsentwickler - JoomlaDay Deutschland 2014 - Köln

• Lokaler Webservero PHP + Xdebug und MySQL

o Windows: XAMPP, WampServer, EasyPHP

o Mac: MAMP

o Linux: LAMP

• Texteditoro Notepad++, Sublime

o Integrierte Entwicklungsumgebung: PhpStorm, Netbeans

• Webbrowsero Firefox + Firebug

• Zusätzliche Softwareo FTP-Programm: FileZilla

• http://docs.joomla.org/Setting_up_your_workstation_for_Joomla_development

JoomlaDay Germany 2014 - Tipps und Tricks für Erweiterungsentwickler – Viktor Vogel - @viktorvogel

Entwicklungsumgebung

Page 9: Tipps & Tricks für Erweiterungsentwickler - JoomlaDay Deutschland 2014 - Köln

• Entwicklung stets lokal durchführeno Schneller, aufgrund fehlender Dateiübertragung

o Server-Einstellungen individuell setzbar

• Versionsverwaltung nutzeno Git auf eigenem Server

o Dienste wie GitHub, GitLab

• Debuggen ist einfachero Xdebug

• Projekt in IDE anlegeno Zugriff auf API / Klassen

JoomlaDay Germany 2014 - Tipps und Tricks für Erweiterungsentwickler – Viktor Vogel - @viktorvogel

Lokaler Webserver

Page 10: Tipps & Tricks für Erweiterungsentwickler - JoomlaDay Deutschland 2014 - Köln

• Guten Editor für schnelle Bearbeitungo Encoding beachten

o Keine Auszeichnungssprache (z.B.: Word)

o Notepad++

• IDE – Integrierte Entwicklungsumgebungo Ein MUST HAVE für die Entwicklung

o Auto-Vervollständigung

o Fehlerkorrektur

o Projektverwaltung

o Anbindung an Versionsverwaltungssysteme

o Debugging

o PhpStorm (Java VM – Proprietär – kostenlose Lizenz für OpenSourceEntwickler), NetBeans (Java - GPL)

JoomlaDay Germany 2014 - Tipps und Tricks für Erweiterungsentwickler – Viktor Vogel - @viktorvogel

Editoren

Page 11: Tipps & Tricks für Erweiterungsentwickler - JoomlaDay Deutschland 2014 - Köln

• Der Entwicklungsprozess einer Erweiterungo Idee

o Anforderungen

o Recherche

o Entwicklung

o Tests

o Veröffentlichung

o Aktualisierung

o …

• Die eigentliche Entwicklung ist nur ein Teilprozess

• Andere Phasen benötigen in der Regel mehr Zeit

• Optimierung dieser Teilprozesse empfohlen

JoomlaDay Germany 2014 - Tipps und Tricks für Erweiterungsentwickler – Viktor Vogel - @viktorvogel

Workflow

Page 12: Tipps & Tricks für Erweiterungsentwickler - JoomlaDay Deutschland 2014 - Köln

• Einstellungen in Joomla!o Aktuelle Version verwenden

o Keine Beispieldateien

o Joomla Debugger - Konsolenausgabe

• Session

• Profil-Informationen (Trigger)

• Speicherverbrauch

• Datenbankanfragen

o SEF URL deaktivieren

• Einstellungen in Entwicklungsumgebungo PHP Error Level auf Maximum

o Limits hochsetzen

o PHP Debugger aktivieren

o Pro Projekt eine Joomla! Instanz

JoomlaDay Germany 2014 - Tipps und Tricks für Erweiterungsentwickler – Viktor Vogel - @viktorvogel

Optimierungspotentiale

Page 13: Tipps & Tricks für Erweiterungsentwickler - JoomlaDay Deutschland 2014 - Köln

• Core-Features nutzeno Category

o ACL

o etc.

• Update-Server betreibeno Akeeba Release System

• Flexibilität mit Trigger-Events

• Dokumentation schreiben

• UnitTests / Selenium

• Entwicklungen von anderen Entwicklerno Anschauen, verstehen und lernen

JoomlaDay Germany 2014 - Tipps und Tricks für Erweiterungsentwickler – Viktor Vogel - @viktorvogel

Optimierungspotentiale

Page 14: Tipps & Tricks für Erweiterungsentwickler - JoomlaDay Deutschland 2014 - Köln

• Phing verwendeno Build-System auf Apache Ant-Basis

o PHPUnit und SimpleTest-Unterstützung

o FTP, GIT & SVN-Support

o Plattform unabhängig

o Native Unterstützung in PhpStorm

• CodeSniffer verwendeno Code-Style Überprüfung

o Einhaltung von Coding Standards

o Sauberer, konsistenter Code

o Wartbarkeit und Veständlichkeit

o http://docs.joomla.org/Joomla_CodeSniffer

o PhpStorm kann Code nach dem Standard formatieren

• https://github.com/betweenbrain/phpstorm-joomla-code-style

JoomlaDay Germany 2014 - Tipps und Tricks für Erweiterungsentwickler – Viktor Vogel - @viktorvogel

Optimierungspotentiale

Page 15: Tipps & Tricks für Erweiterungsentwickler - JoomlaDay Deutschland 2014 - Köln

• Kostenlose Erweiterungeno Spenden

o Popularität steigern

• Aufträge

o Subscription-Model

• Support

• Spenden

• Kommerzielle Erweiterungeno Verkauf von Erweiterungen

o Anspruch der Benutzer hoch

• Supportaufwand

• Regelmäßige Updates

o Lizenz GPL erlauben

• Keine Verschlüsselung

• Weitergabe erlaubt

JoomlaDay Germany 2014 - Tipps und Tricks für Erweiterungsentwickler – Viktor Vogel - @viktorvogel

Geld verdienen

Page 16: Tipps & Tricks für Erweiterungsentwickler - JoomlaDay Deutschland 2014 - Köln

• Feedback von Benutzern und Entwicklerno Wichtig für eigene Weiterentwicklung

o Ideen sammeln, umsetzen

o Kontakt zu Entwicklern suchen und sich austauschen

• Diskussioneno Meinungsaustausch

• Google Dev Group

• Joomla! Forum

• Lernen, mit Kritik umzugeheno Konstruktive Kritik akzeptieren

o Kritik spornt zur Verbesserung an

JoomlaDay Germany 2014 - Tipps und Tricks für Erweiterungsentwickler – Viktor Vogel - @viktorvogel

Feedback, Diskussion & Kritik

Page 17: Tipps & Tricks für Erweiterungsentwickler - JoomlaDay Deutschland 2014 - Köln

Danke für eure Aufmerksamkeit!

JoomlaDay Germany 2014 - Tipps und Tricks für Erweiterungsentwickler – Viktor Vogel - @viktorvogel

Happy Coding! :-)


Recommended