Post Image
20. Jul, 2018

Softwareentwicklung: so finden Sie passende Technologien & Softwareentwickler


Verwendete Technologien & Programmiersprachen Ein häufig zu unrecht vernachlässigtes Kriterium in der Softwareentwicklung bei der Auswahl passender Softwareentwickler und Anbieter ist die Frage nach der verwendeten Technologie. Nicht jede Technologie eignet sich pauschal für jeden Anwendungsfall. Manche Programmiersprachen und Frameworks sind spezialisiert auf Echtzeitanwendungen mit vielen parallelen Ein- und Ausgaben (bspw. Node.js / JavaScript), andere wiederum eignen sich besonders für Machine Learning (bspw. Python).

Die benötigte Hardware spielt ebenfalls eine entscheidende Rolle: nicht in jedem Fall läuft bspw. eine Linux Desktop Applikation auch auf weiteren Betriebssystemen. Es ist bspw. möglich die meisten reinen Webanwendungen ohne großen Mehraufwand auf Desktops und mobile Geräte zu portieren. Eine reine Windows / Mac Desktopapplikation in eine Webanwendung umzubauen ist wiederum deutlich komplizierter. Für den unerfahrenen Auftraggeber gibt es glücklicherweise einige Hilfestellungen um eine Technologie auf Sinnhaftigkeit zu überprüfen. Diese werden im Folgenden konkret dargestellt:

1. Wie groß ist die Community der Technologie?

Open-Source Technologien besitzen die größten aktiven Communities, da der Quellcode offen im Netz verfügbar ist und von jedem Softwareentwickler verbessert und erweitert werden kann. Über Github kann die Popularität einzelner Frameworks (anhand von vergebenen Sternen - siehe Abb. 01) und Programmiersprachen (anhand von Projekten mit dieser Sprache) eingesehen werden. Hohe Popularität (aka viele Sterne) sind erste Anzeichen für eine vitale Community.

Abb. 01: Populäres Framework auf Github framework_popular.jpg

2. Wird die Technologie aktiv weiterentwickelt?

Viele Frameworks besitzen zwar eine ganze Menge an positiven Bewertungen und Github Sternen, werden aber nicht mehr aktiv weiterentwickelt. Anhand von sog. “Commits” kann über Github eingesehen werden wann und wie oft das jeweilige Framework erweitert und weiterentwickelt wurde. Bei aktiven Frameworks sind die letzten Commits meistens keine 8 Wochen alt.

3. Ist die Technologie zukunftsträchtig?

Viele Frameworks scheinen, trotz eines insgesamten Abwärtstrends, momentan eine große Community zu haben. Um die Popularität einer Programmiersprache oder eines Frameworks über Zeit nachzuvollziehen, lohnt sich ein Blick in Google Trends. Eine Technologie die sich in einem deutlichen Abwärtstrend (bspw. “Java” oder “PHP” - siehe Abb. 02) befindet, sollte mit Vorsicht eingesetzt werden. Technologien die Aufwärtstrends aufweisen sollten in jedem Fall bevorzugt werden (siehe Abb. 03). In einigen Jahren kann es sehr teuer werden hier passenden Support zu finden und die Software muss aufwändig neuentwickelt werden.

Abb. 02: Google Trends Abwärtstrends trends_down.jpg

Abb. 03: Google Trends Aufwärtstrends trends_up.jpg

4. Vorsicht vor Eigenentwicklungen

Viele Firmen preisen eigenentwickelte Frameworks an. Häufig wird das Argument verwendet, dass das eigene Framework deutlich flexibler ist, da der Quellcode von den Entwicklern selbst geschrieben wurde und dadurch neue Funktionen schnell integriert werden können. Meistens wird dadurch jedoch ein Lock-in für den Kunden generiert, da sie oder er in Zukunft darauf angewiesen ist, die Software von diesem Dienstleister weiterentwickeln oder erweitern zu lassen. Für andere Anbieter ist es kaum wirtschaftlich sich in ein eigenentwickeltes Framework einzulesen. Außerdem ist hier keine Community (außer es handelt sich um ein aktives Open-Source Framework) vorhanden die das Produkt weiterentwickelt, Fehler behebt und Support liefert. Eine letzte wichtige Frage lautet: gibt es den Anbieter in 5 Jahren überhaupt noch?


Sollten Sie noch auf der Suche nach einem passenden Software-Anbieter sein, sprechen Sie mit uns! Über unseren interaktiven Projektplaner können Sie sich mit wenigen Klicks ein Angebot einholen.