Was sind die konzeptionellen und technischen Unterschiede zwischen „Apps“ und Paketen?

13

Ich bin etwas verwirrt über die kürzlich erfolgte Ankündigung ( http://developer.ubuntu.com/2011/09/announcing-the-ubuntu-app-developer-site/ ) der neuen "App" -Entwicklerseite. Ich bin aus der Ubuntu-Entwicklung herausgefallen und verfolge nur Nachrichten, um die Richtung des Betriebssystems zu bestimmen. Vielleicht könnte jemand aus der Community das für mich klären.

Ich bin sehr vertraut mit Ubuntu, Linux, Programmierung und Paketierung, aber ich bin nicht sicher, was die konzeptionellen und technischen Unterschiede zwischen einer Ubuntu-App und einem Debian-Paket sind. Ich habe ein bisschen in die Dokumentation der Entwickler-Community geschaut, aber keine eindeutige Antwort gefunden. Kann eine Ubuntu-App als speziell konfiguriertes Paket betrachtet werden, das das Ubuntu-App-Framework unterstützt? Und wie flexibel ist das? Könnte ich zum Beispiel eine Anwendung in Qt schreiben und sie trotzdem in eine App einbinden?

(Abgesehen davon bin ich ein wenig besorgt, dass Ubuntu in diese Richtung geht. Ich verstehe, dass Ubuntu die Unterstützung mehrerer Möglichkeiten der Anwendungsentwicklung und -verteilung erforschen sollte, um relevant zu bleiben. Aber für einen technischen Benutzer wie mich fühlt sich das wie eine Krippe an. Diese Bemerkungen sind jedoch unwissend. Ich sollte mir keine feste Meinung bilden, bis ich weiß, was los ist.)

perden
quelle

Antworten:

9

Eine Ubuntu "App" ist nur eine Anwendung, genau wie GIMP, Firefox oder was auch immer.

Es handelt sich immer noch um Debian-Pakete. Wir stellen lediglich ein Tool namens "Quickly" zur Verfügung, mit dem die Leute mit PyGTK arbeiten und es einfach machen, Pakete zu packen und an das Software-Center zu senden.

Sie können Ihre Anwendung weiterhin in Qt schreiben, verpacken und an das Software Center senden. Wir versuchen lediglich, die Verbindung zu Entwicklern wie Ihnen zu vereinfachen, um den Versand Ihrer Software an Endbenutzer zu vereinfachen.

Jorge Castro
quelle
1
Ahh ok. Zusammen mit Ihren Bemerkungen sehe ich in Schritt 5 des Veröffentlichungsabschnitts, dass vorhandene Debian-Pakete ebenfalls hinzugefügt werden können. Um sicherzugehen, dass ich es habe, ist eine "App" nur eine übliche Anwendung, die immer noch Debian-Verpackung verwendet. Ich denke, ich dachte, dass eine "App" eine kleinere, hauptsächlich berührungsbasierte Anwendung ist. Ich denke, es könnte alles sein! Danke, dass Sie das geklärt haben!
perden
1
Sie können sich Apps auch als schlanke Anwendungen vorstellen, die auf andere Weise an das Software Center übermittelt werden können, aber effektiv auf die gleiche Weise an die Benutzer verteilt werden. Sie verwenden auch die gleiche Verpackungstechnologie (Debian-Verpackung und das Software-Center) für die Verteilung. Wir möchten Entwicklern dieser Art von Software das Einreichen und Veröffentlichen in Ubuntu erleichtern. Aus diesem Grund haben wir im Rahmen der Website für App-Entwickler Online-Tools entwickelt, um dies zu ermöglichen.
David Planella
Komplexere Apps sind jedoch möglicherweise nicht für diesen Prozess geeignet (denken Sie beispielsweise an jemanden, der ein neues LibreOffice entwickelt). In diesem Fall werden die Autoren auf die übliche Debian / Ubuntu-Repository-Route hingewiesen, die immer noch von der meisten Software erstellt wird Heutzutage bei Ubuntu, und das wird sich nicht ändern, weil jetzt Apps eingereicht werden
David Planella
8

Nun, eine Anwendung wird als Paket bereitgestellt, aber nicht alle Pakete sind Anwendungen. Beispielsweise können eine oder mehrere Schriftarten als Pakete bereitgestellt werden. Mit anderen Worten, es gibt einen konzeptionellen Unterschied zwischen einem Paket und einer Anwendung, aber keinen Unterschied zwischen einer Anwendung und einem Paket.

Ja, Sie können Anwendungen in jeder Sprache und mit jedem beliebigen Framework entwickeln. Bietet schnell einen sehr einfachen Einstieg und die Hauptempfehlung ist die Verwendung von Python und GTK, es gibt jedoch auch Vorlagen für Ruby und andere Sprachen und Vorlagen für die Webentwicklung anstelle von Desktopanwendungen. Quickly wurde speziell entwickelt, um die Auswahl der Entwickler in Sprachen nicht einzuschränken, und es gibt (hoffentlich offensichtlich) keine Bindung an Ubuntu. Sie können auch eigene Vorlagen bereitstellen, wenn Ihre Anwendung beispielsweise Plugins unterstützt. Was schnell geht, ist, Sie vom Schreiben von langweiligem Code zu entlasten.

Für das Veröffentlichen von Anwendungen über das MyApps-Portal gelten einige Anforderungen: Ihre Anwendung muss XDG_USER_DIRS für ihre Daten und Konfigurationen verwenden, sie muss in / opt usw. installierbar sein. Ansonsten gibt es keine Anforderungen. Sie können Ihre App in Java, Python, C *, Gambas oder einem anderen unterstützten Format schreiben und jedes GUI-Toolkit verwenden, das Sie möchten. Dies ist sinnvoll, da ein primäres Ziel moderner Ubuntu-Versionen darin besteht, Qt, GTK und andere zu vereinen, um eine bessere Benutzererfahrung zu ermöglichen.

Ich hoffe, dass dies ein wenig klarer wird und Sie sich weniger Sorgen darüber machen, in welche Richtung sich Ubuntu entwickelt. :)

Jo-Erlend Schinstad
quelle
Ja, danke, dass Sie mehr Details hinzugefügt haben! Ich mag es, wenn ich das unterstütze, dass ich nicht an eine bestimmte Konfiguration gebunden bin. Und wie ich in meinem Kommentar zu Jorge erwähnt habe, bin ich wahrscheinlich von der Definition des mobilen Raums einer "App" befallen: klein, berührungsempfindlich, unterteilt, starr (in Bezug auf die Entwicklung). Dass die Flexibilität zu halten , ist für Linux - Entwicklung und die Ubuntu - Philosophie von größter Bedeutung, hoffentlich die quelling Vorbehalte einige . Jetzt, da ich es verstehe, bin ich gespannt, was daraus wird!
perden