Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 12 Next »

Software bei Oregami

Wir beim Oregami-Projekt setzen eine Menge Software-Produkte ein - klassische Open Source Tools genauso wie kommerzielle, die für Open Source Projekte wie uns kostenlos verfügbar sind. Dieser Blogbeitrag zeigt euch, was wir einsetzen!

Entwicklung

IntelliJ IDEA

Du programmierst mit Java? Dann kennst du natürlich die Eclipse IDE, die unter einer freien Lizenz verfügbar ist. Ich nutze Eclipse nun schon seit mehreren Jahren und habe mich ganz gut daran gewöhnt.

Aber irgendwie stieß ich auf IntelliJ IDEA von der Firma Jetbrains, sie bezeichnen es als "Die intelligenteste Java IDE". IntelliJ IDEA ist nicht wirklich kostenlos erhältlich - es gibt zwar eine kostenlose "Community Edition", aber sehr viele nützliche Features sind nur in der "Ultimate Edition" verfügbar. Wer ein Open Source Projekt betreibt (wie wir), der bekommt die Ultimate Edition kostenlos! IntelliJ IDEA gibt es für Mac, Linux und Windows.

Die Hightlights von IntelliJ? Am auffälligsten war aus meiner Sicht die fantastische Maven-Integration: nie mehr "Update dependencies" und "Force update" mit minutenlangem Warten wie in Eclipse! IntelliJ verwaltet die Maven-Abhängigkeiten ziemlich zuverlässig automatisch. Alles Weitere überlasse ich dem folgenden Zitat aus einer StackOverflow-Frage:

There is only one reason I use intellij and not eclipse: Usability

Whether it is debugging, refactoring, auto-completion.. Intellij is much easier to use with consistent key bindings, options available where you look for them etc. Feature-wise, it will be tough for intellij to catch up with Eclipse, as the latter has much more plugins available that intellij, and is easily extensible.

Hier seht ihr IntelliJ bei mir in Aktion:

Wer bei Oregami mit entwickelt, kann unsere Lizenz verwenden! Bei Interesse einfach bei mir nachfragen.

Webstorm

Ebenfalls von Jetbrainst stammt Webstorm, eine Entwicklungsumgebung speziell für Web-Anwendungen. Webstorm unterstützt viele gängige Web-Technologien wie Java Script (Auto-completion, Fehlererkennung, Refactoring) und insbesondere NodeJS, AngularJS, Gulp und natürlich CSS und HTML. Beeindruckend ist auch die integrierte Volltextsuche, die durch die Indizierung sehr schnell ist. Überhaupt macht die ganze Anwendung einen sehr runden Eindruck, die Bedienung ist zwar am Anfang etwas ungewohnt für Eclipse-User, aber mit der Zeit lernt man die Benutzeroberfläche zu schätzen. Alle Details über die Features findet ihr auf der entsprechenden Produkt-Webseite. Wir verwenden es ebenfalls über die Open Source Lizenz. Und genau wie IntelliJ gibt es Webstorm für Mac, Linux und Windows.

Auch hier gilt: wer uns mithelfen möchte, kann unsere Lizenz verwenden. Kontaktiert mich!

SourceTree

Unser kompletter Sourcode liegt bei GitHub.Wer bei sich auf dem Rechner Dateien während der Entwicklung modifiziert, muss die Änderungen anschließend in das entsprechende GitHub Repository gesendet werden. Während es immer möglich ist, mit GIT auf der Kommandozeile zu arbeiten, wünscht man sich natürlich lieber den Komfort einer Benutzeroberfläche. Und obwohl die meisten Entwicklungsumbegungen wie IntelliJ, Webstorm und Eclipse Features oder Erweiterungen enthalten, um mit GIT zu arbeiten, setze ich selber eine spezialisierte Anwendung für den Umgang mit GIT-Repositories: SourceTree von Atlassian. SourceTree unterstützt mit einer schicken Oberfläche alle notwendigen Basis- und Profi-Fähigkeiten von GIT. Und es ist noch dazu kostenlos verfügbar, man muss sich nach 30 Tagen lediglich registrieren. Leider wird SourceTree nur für Mac und Windows angeboten - eine Linux-Version sucht man vergeblich.

Postman

Da unserer Server-Anwendung nach dem REST-Prinzip aufgebaut ist, kann man gewöhnliche HTTP Anfragen mit dem Browser oder über die Kommandozeile mit Tools wie curl abschicken, um Informationen aus unserer Datenbank im JSON Format zu erhalten. Aber das ist während der Entwicklung nicht wirklich praktisch, also machte ich mich auf die Suche nach einem Tool, das die Ausführung von REST-Anfrage vereinfacht. Und ich fand es: Postman, ein Plugin für den Chrome-Browser. Mit Postman kann man beliebige HTTP-Anfragen erstellen, durchführen und für eine spätere "Ein-Klick-Ausführung" abspeichern. Dinge wie einzelne HTTP-Header, Basic- und OAuth-Authentifizierung und URL-Parameter können bequem üder die Oberflächer erstellt werden. Typische Header-Kombinationen können sogar als "Presets" gespeichert werden, um sie bei ähnlichen Anfragen wiederzuverwenden. Postman kann kostenlos verwendet werden, man kann für 10 $ eine erweiterte Version kaufen, mit der man dann z.B. Sammlungen von Anfragen in einem Rutsch abspielen und die Ergebnisse überprüfen kann. Ein recht neues Feature ist die Erweiteurng Newman, mit der man über die Kommandozeile und auch in Build-Jobs (z.B. in Jenkins) Postman-Sammlungen einsetzen kann.

Public Website

JIRA

Obwohl wir bisher noch gar keine Bugs in unserer Software managen müssen, haben wir von Anfang an JIRA auf unserem Server installiert. Einer der Gründe dafür ist, dass JIRA eben nicht nur ein Bug Tracker ist sondern vielmehr ein allgemeines Issue-Tracking-System, dass auch für die Projektplanung eingesetzt werden kann. So haben wir zum Beispiel angefangen, eine Feature-Sammlung für unsere Spieledatenbank zu erfassen.

JIRA ist eines der vielen Entwickler-Tools der Firma Atlassian. Für Open Source Projekte wie Oregami stellen sie ihre Anwendungen unter einer speziellen Lizenz kostenlos zur Verfügung.

Confluence

Als wir vor drei Jahren mit Oregami begonnen haben, setzten wir zunächst die bekannte Software Mediawiki ein, die wohl jeder von Wikipedia kennt. Aber wir merkten schnell, dass Mediawiki einige wichtige Dinge nicht oder nicht zufriedenstellend unterstützt, wie z.B. beim Benutzermanagement und (nicht vorhandenen) WYSIWYG Editor. Daher wechselten wir schnell zu Confluence, welches genau wie JIRA von Atlassian kommt (und unter der gleichen Lizenz kostenlos für uns verwendbar ist). Confluence ist eine sehr umfassende Wiki-Software, die auch zur Kommunikation und zum Wissensaustausch in Unternehmen und Organisationen verwendet wird. Für uns besonders praktisch ist die wunderbare Jira-Integration (Benutzer-Management und Inhalte). Am besten einfach mal selber anschauen, was wir bisher Alles im Oregami Wiki erfasst haben!

phpBB

Der (noch) zentrale Bereich unseres Projektes ist unser Diskussionsforum. Wir setzen phpBB ein, die wohl bekannteste Forums-Software weltweit. Besonders schätzen wir die Stabilität, darum setzen es auch wohl so viele andere Webseiten ein.

Redaxo

Unsere öffentliche Webseite mit Informationen über unseren Ansatz und unsere Ziele ist relativ statisch, aber sie sollte von Anfang an in Englisch und Deutsch verfügbar sein und die Seiten sollten einfach zu bearbeiten sein. Für diese Zwecke entdeckte ich das Content Management System Redaxo, dass unter der GNU GPL Lizenz verfügbar ist.

Fazit

Es ist großartig, dass wir so tolle Software-Produkte von anderen Personen und Firmen verwenden können! Eines Tages werde auch wir unseren Beitrag zurückgeben können (smile)

  • No labels