Versionen mit VersionEye tracken
Kommentare

Packagist und VersionEye
VersionEye ist eine Metasuchmaschine für Softwarebibliotheken. VersionEye crawlt täglich mehr als 135 000 Open-Source-Bibliotheken aus über 50 verschiedenen Repositories. Packagist

Packagist und VersionEye

VersionEye ist eine Metasuchmaschine für Softwarebibliotheken. VersionEye crawlt täglich mehr als 135 000 Open-Source-Bibliotheken aus über 50 verschiedenen Repositories. Packagist ist eines von diesen Repositories. Die Zusammenarbeit zwischen Packagist und VersionEye ist sehr eng und freundschaftlich. Alle Pakete, die auf Packagist gehostet sind, können auch über die Suche auf VersionEye aufgefunden werden. Jedes Paket ist durch eine separate Seite auf VersionEye repräsentiert, auf dem weitere Metainformation und ein Backlink zu Packagist enthalten sind.

Versionen tracken

Da VersionEye täglich über 135 000 Open-Source-Bibliotheken crawlt, stellt es auch täglich fest, zu welchen Bibliotheken neue Versionen erschienen sind. Auf VersionEye gibt es das so genannte „Follow“-Feature. Softwareentwickler können jeder Bibliothek „folgen“ und werden dann automatisch via E-Mail über neue Versionen informiert.

Allerdings ist auch eine direkte Projektüberwachung möglich. Entwickler können ihre Open-Source-Projekte und ihre Projekte auf GitHub von VersionEye überwachen lassen. VersionEye prüft dann täglich die composer.json-Datei im Projekt und informiert die Entwickler via E-Mail über „outdated“ Dependencies. Abbildung 1 zeigt die Maske zum Anlegen eines neuen VersionEye-Projekts.

Abb. 1: Anlegen eines VersionEye-Projekts

Die Entwickler werden somit proaktiv über neue Versionen informiert. Sie können passiv bleiben und müssen keine Zeit dafür aufwenden, regelmäßig nach Updates im Internet zu suchen. Die Entwickler erhalten auch nur dann eine E-Mail, wenn Bibliotheken im Projekt veraltet sind. Sind alle Bibliotheken auf dem neusten Stand, werden keine E-Mails verschickt. Ganz nach dem Motto: „Keine Nachrichten sind gute Nachrichten“.

Komplexität erkennen

Eine composer.json-Datei kann recht kurz aussehen, da sie nur die direkten Projektabhängigkeiten enthält. Die rekursiven Abhängigkeiten sind für den Entwickler zunächst unsichtbar. Eine typische direkte Projektabhängigkeit wäre z. B. das Framework Symfony in der Version 2.1.x-dev. VersionEye löst alle rekursiven Abhängigkeiten direkt auf der Webseite auf und erstellt dafür einen interaktiven Abhängigkeitsgraphen. Der Abhängigkeitsgraph für Symfony ist in Abbildung 2 zu sehen. VersionEye macht dadurch rekursive Abhängigkeiten sichtbar und hilft Komplexität zu erkennen.

Abb. 2: Rekursiver Abhängigkeitsgraph für Symfony 2.1.x-dev

Die Abhängigkeitsgraphen werden mit JavaScript auf ein HTML5-Canvas-Element gezeichnet und sind alle interaktiv und anklickbar. In dem Graphen sind alle direkten und rekursiven Abhängigkeiten im Kreis angeordnet. Jeder Punkt im Kreis repräsentiert eine Abhängigkeit bzw. eine Bibliothek. Alle Bibliotheken, die voneinander abhängen, sind mit einem Pfad verbunden. Die Größe des Kreises und die Dichte der Verbindungen deutet auf die Komplexität hin.


Themen der letzten Seite:

  • Twitter und GitHub
  • Moderne Softwareentwicklung
  • Ausblick
Unsere Redaktion empfiehlt:

Relevante Beiträge

Meinungen zu diesem Beitrag

X
- Gib Deinen Standort ein -
- or -