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 Lizent 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 Meven-Abhängigkeiten ziemlich zuverlässig automatisch. Alles Weitere überlasse ich dem folgenden Zitat aus einer StackOverflow-Frage:
What are the highlights of IntelliJ IDEA? One thing that shines is the brilliant Maven integration: never start "update maven dependencies => force update" and wait for minutes like you have to in Eclipse. IntelliJ automatically updates your repositories! For an overall statement let me quote from this StackOverflow question:
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 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 konnten die Open Source Lizenz erhalten. 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.
Our server application is REST-based, that means you can make HTTP requests with every browser or a command line tool like curl to receive data in JSON or a similar format. But that's not very convenient during development, so I searched for a tool that supports making complex REST calls easily. And I found Postman! It's a Chrome plugin that lets you make REST calls against your (local or remote) server, you can manipulate things like headers, authorization or the request body comfortably. You can save your calls in collections to replay them again later with a single mouse click. Postman is available for free, you can purchase a license for 10$ with some extended features like automatic replay of collections and extended testing. A new feature is Newman, a command line and build integration for Postman collections!
Public Website
JIRA
Although we do not yet have the concrete demand for bug tracking, we installed and used JIRA from the beginning of our project. One reason is that JIRA is not only a bug tracker but rather a general issue tracking system that can be also used for project management. For example, we started to collect features with JIRA that we want to support with our game database.
JIRA is another one of many tools for developers provided by Atlassian. For open source projects like Oregami they offer a free license, and in fact they offer this license for all of their tools!
Confluence
Three years ago, when we started Oregami, we used the famous software Mediawiki, which is also used for Wikipedia, to collect our ideas for our project. Very soon we recognized that this wiki software lacks multiple things, e.g. good user and rights management or a WYSIWYG editor. So we switched to Confluence, which also comes from Atlassian like JIRA (under the same free license for open source projects). Confluence is a very comprehensive online collaboration tool with many great features, one of them is the superb JIRA integration (user management and content). Check out what we already wrote down in the Oregami wiki!
phpBB
The most active part of our website is the discussion board. We are using phpBB, one of the most widespread PHP boards worldwide. The software is really very stable and it's free, that's why so many sites are using it!
Redaxo
Our public webpage with information about our goals and our approach is somehow static, but was always meant to be available in multiple languages and should be easily maintained. For this we are using the content management system Redaxo, which is available under the GNU GPL.
Conclusion
It's great to use great software from other people and companies, one day we will be able to give something back!