Entwicklungstools

Wie man Software bauen kann

Geschrieben von Thomas Hackbarth am 29.12.2015

Bei der großen Auswahl an Tools, die man bei der Erstellung von Software nutzen kann, ist es heute nicht verwunderlich, dass jeder Entwickler seine eigene Sammlung an Tools hat, mit denen er bevorzugt an Programmieraufgaben arbeitet. Auch ich habe eine solche Sammlung, die ich hier mal kurz vorstellen möchte.

Am Anfang steht natürlich immer die Idee bzw. die Anforderungen an die zu schreibende Software. Für diese kleine Übersicht an Tools habe ich mich mal dem Game Of Life von John Horton Conway angenommen und meine eigene Version implementiert. Da ich hier ja eigentlich Entwicklungstools vorstellen möchte, erspare ich es mir über Anforderungsmanagement und Architektur zu schreiben.

Heutzutage wird zum Schreiben von Software eine IDE genutzt. Auch hier gibt es viele Alternativen. Nach längeren Testphasen hat sich IntelliJ IDEA als mein Favorit entpuppt. Mit dieser IDE komme ich persönlich am besten zu recht. Das soll nicht heissen, dass IDEs, wie zum Beispiel eclipse oder Netbeans schlecht sind.

Ist der Code einmal geschrieben, sichert man ihn in einem Version Control System (VCS). Auch hier gibt es eine große Auswahl von Möglichkeiten. Hier habe ich aktuell einen Favoriten. Es handelt sich um das Open-Source-Tool git. Das Tool ist unglaublich vielseitig. Ich verwende mittlerweile Atlassian Bitbucket, als Serverm um meinen SourceCode zu verwalten. Der SourceCode zum Game Of Life ist auch auf meinem Server einsehbar.

Ist der SourceCode erst einmal in einem Repository gesichert, kann man diesen natürlich auch jeder Zeit automatisch compilieren und testen. Dazu gibt es sogenannte Buildserver bzw. Continuous Integration Server. Auch hier gibt es einige Implementierungen. Ich verwende einen Jenkins-Buildserver. Das Game Of Life Beispiel aus dem oben erwähnten VCS wird auch über so einen Server gebaut.

Als letzten Schritt kann dann das Ergebnis des Build in einem zentrales Repository hinterlegt werden. Ein Beispiel für so ein zentrales Repository wäre die Software Nexus.

Glider