QtPods - Einfaches Teilen von Qt code



  • Hallo zusammen,

    ich hab inspiriert von cocoapods, einem Paketverwaltungtool für iOS Anwendungen, QtPods entwickelt. QtPods ist ein einfaches Open Source Paketsystem für Qt "Module". Als Modul gilt einfach Code, den man als nützlich und damit wiederverwertbar gestalten will. Beispiele aus bereits bestehenden Modulen: Generieren von QR-Codes aus einem QByteArray, LZMA-Kompression, Dropbox API, ein Waiting-Spinner-Widget usw.

    Der Clou an der Sache ist, die Module werden als git submodules (also git Unterprojekte) eingebunden. Wenn ihr einen Fehler in einer fremden lib findet, habt ihr also ein vollständiges git repository, könnt den Fehler bei euch beheben und dem Maintiner einen Patch schicken (oder direkt einen commit pushen).

    Für QtPods gibt es ein graphisches Tool also auch eine Kommandozeilenversion, wobei das graphische Tool in der Entwicklung Vorrang hat und daher ein Stück weiter ist. Es ist auch ohne Probleme möglich, private Pods zu halten, das Tool ist vollkommen liberal.

    Ich hab es unter anderem deswegen entwickelt, um ein eigenes Problem zu lösen: Nach mehreren Projekten hab ich gemerkt, dass ich immer und immer wieder gute Lösungen (die jetzt dem Aufwand eine Systemlibrary daraus zu machen nicht würdig waren) aus alten Projekten mitkopiert habe. Da kam mit dann die Idee das ganze zu "standardisieren" und so das Know-How immer mitzunehmen, bzw. sogar mit anderen zu teilen. Wenn man es einmal begriffen hat, packt man sich echt an den Kopf, wieso man das nicht schon vorher so gemacht hat.

    Ich suche daher eben gezielt nach anderen Entwickler, die Lust haben ihre Projekte ebenso umzustellen und von anderen zu profitieren. Bei Umstellungsprozess bin ich gerne behilflich.

    Falls ihr Fragen habt, einfach fragen!

    @admin/mods Wenn es okay ist, würde ich gerne einen Link zu dem Projekt posten. Ich suche aber ernsthaften Kontakt zu Entwicklern und möchte keinen Spam absetzen.

    VG
    J



  • Hallo Jacob,

    die Idee finde ich super! Ich bin leider noch kein langjähriger Qt Profi, der tonnenweise Code für Pods liefern könnte, aber ich würde das System am liebsten direkt für zukünftige Projekte nutzen!

    Ich nehme mal an, die dazu gehörige Homepage ist http://www.qt-pods.org?

    wenn ich die Artikel auf der Homepage richtig verstehe, werden QtPods immer als statische Bibliothek übersetzt und ins Projekt eingebunden. Mein aktuelles Hauptprojekt ist leider Closed Source (weil ich das nicht selbst entscheide). Wenn ich das richtig verstehe, darf ich dort also so gut wie keine QtPods einsetzen, richtig? Zumindest nicht die unter GPL oder LGPL. Gibt es eine Möglichkeit, die Pods als Dynamic Library einzubinden? Dann wären zumindest LGPL Pods auch für Closed Source möglich.

    Wo werden QtPods gehostet? Kann man hierzu ein GitHub Repo nutzen oder anders dafür sorgen, dass der Quellcode des Github Repos immer synchron mit dem Stand des QtPods ist?

    Auf der Homepage hab ich gesehen, dass QtPods sehr einfach in das Projekt eingefügt werden können. Wie unabhängig sind QtPods vom Projekt? Was ist, wenn ein QtPod für Qt4.x programmiert ist und mein Projekt Qt5.5 nutzt (oder noch schlimmer: umgekehrt)?

    Werden externe Includes und Bibliotheken aus QtPods (z.B. Dropbox API) nur als Pfad ins Projekt übernommen? Oder werden die Abhängigkeiten (Includes und Libraries) bei Bedarf auch automatisch heruntergeladen und installiert?

    Auf der Homepage finde ich nur eine Linux- und eine OS X Version. Gibt es das auch für Windows? Oder gar als Online Service wie CocoaPod?

    Danke schön 👍 🙂

    Gruß, Micha


Log in to reply