Jakie są koncepcyjne i techniczne różnice między „aplikacjami” a pakietami?

13

Jestem nieco zdezorientowany niedawnym ogłoszeniem ( http://developer.ubuntu.com/2011/09/announcing-the-ubuntu-app-developer-site/ ) nowej witryny programisty „App”. Wypadłem z rozwoju Ubuntu i teraz śledzę tylko wiadomości, aby ocenić kierunek systemu operacyjnego, i nie zdawałem sobie sprawy, że to idzie w dół. Być może ktoś ze społeczności mógłby mi to wyjaśnić.

Bardzo dobrze znam Ubuntu, Linux, programowanie i pakowanie, ale nie jestem pewien, jakie są koncepcyjne i techniczne różnice między aplikacją Ubuntu a pakietem Debian. Zajrzałem trochę do dokumentacji społeczności programistów, ale nie znalazłem prostej odpowiedzi. Czy aplikację Ubuntu można uznać za specjalnie skonfigurowany pakiet, który obsługuje środowisko aplikacji Ubuntu? A jak to jest elastyczne? Czy mogę na przykład napisać aplikację w Qt i nadal zawinąć ją w aplikację?

(Nawiasem mówiąc, jestem trochę zaniepokojony, że Ubuntu zmierza w tym kierunku. Rozumiem, że Ubuntu powinien zbadać obsługę wielu ścieżek rozwoju i dystrybucji aplikacji, aby pozostać aktualnym. Ale dla inżyniera, takiego jak ja, wydaje się to chrupiące. Te uwagi są jednak ignoranckie. Nie powinienem formułować solidnej opinii, dopóki nie będę wiedział, co się dzieje.)

perden
źródło

Odpowiedzi:

9

„Aplikacja” Ubuntu to tylko aplikacja, podobnie jak GIMP, Firefox lub cokolwiek innego.

Nadal są pakietami Debiana, my po prostu udostępniamy narzędzie o nazwie Szybko, które pomaga ludziom korzystać z PyGTK i ułatwia pakowanie i wysyłanie do centrum oprogramowania.

Nadal możesz napisać aplikację w Qt, spakować ją i przesłać do Centrum oprogramowania, staramy się jedynie uprościć łączenie programistów takich jak Ty, aby ułatwić wysyłanie oprogramowania do użytkowników końcowych.

Jorge Castro
źródło
1
Ahh, ok Wraz z twoimi uwagami widzę w kroku 5 sekcji publikowania, że można również dodać istniejące pakiety Debiana. Aby mieć pewność, że go mam, „aplikacja” jest zwykłą aplikacją, wciąż używającą pakietów Debiana. Myślę, że myślałem, że „aplikacja” była mniejszą aplikacją opartą głównie na dotyku. Myślę, że to może być cokolwiek! Dzięki za wyjaśnienie!
Perden
1
Można również myśleć o aplikacjach jako o lekkich aplikacjach, które można przesyłać w inny sposób do Centrum oprogramowania, ale skutecznie dystrybuować je w ten sam sposób wśród użytkowników. Używają również tej samej technologii pakowania (opakowanie Debian i Centrum oprogramowania) do dystrybucji. Chcemy ułatwić programistom tego typu oprogramowanie przesłanie go i opublikowanie w Ubuntu, dlatego opracowaliśmy narzędzia online w ramach witryny dewelopera aplikacji, aby to umożliwić.
David Planella
Jednak bardziej złożone aplikacje mogą nie kwalifikować się do tego procesu (na przykład ktoś opracowuje nowy LibreOffice), w którym to przypadku autorzy są wskazywani na zwykłą ścieżkę do repozytorium Debian / Ubuntu, która wciąż jest sposobem, w jaki większość programów to robi. Ubuntu w dzisiejszych czasach, a które nie ulegnie zmianie ze względu na sposób teraz aplikacje są przedłożonego
David Planella
8

Aplikacja jest dostarczana jako pakiet, ale nie wszystkie pakiety są aplikacjami. Na przykład można dostarczyć jedną lub więcej czcionek jako pakiety. Innymi słowy, istnieje różnica koncepcyjna między pakietem a aplikacją, ale nie ma różnicy między aplikacją a pakietem.

Tak, możesz tworzyć aplikacje w dowolnym języku i przy użyciu dowolnego frameworka, który ci się podoba. Szybko zapewnia bardzo łatwy punkt początkowy, a głównym zaleceniem jest używanie Pythona i GTK, ale istnieją również szablony dla Ruby oraz inne języki i szablony do tworzenia stron internetowych zamiast aplikacji komputerowych. Szybko jest specjalnie zaprojektowany, aby nie ograniczać wyboru programistów w językach, i (mam nadzieję, oczywiście), że nie ma blokady Ubuntu. Możesz także podać własne szablony, jeśli aplikacja obsługuje na przykład wtyczki. Szybko robi to, aby zwolnić cię od pisania nudnego kodu na płycie.

Aby opublikować aplikacje za pomocą portalu MyApps, istnieje kilka wymagań, na przykład twoja aplikacja musi używać XDG_USER_DIRS dla swoich danych i konfiguracji, musi być zainstalowana na / opt itp. Poza tym nie ma żadnych wymagań. Możesz pisać swoją aplikację w Javie, Pythonie, C *, Gambas lub cokolwiek innego, co jest obsługiwane i za pomocą dowolnego zestawu narzędzi GUI. Ma to sens, ponieważ głównym celem współczesnych wersji Ubuntu jest połączenie Qt, GTK i innych w celu zapewnienia lepszej obsługi.

Mam nadzieję, że to trochę wyjaśni i że mniej martwisz się o kierunek rozwoju Ubuntu. :)

Jo-Erlend Schinstad
źródło
Tak, dziękuję za dodanie kilku szczegółów! Lubię to wspierać, nie jestem przywiązany do żadnej konkretnej konfiguracji. I jak wspomniałem w moim komentarzu do Jorge, wydaje mi się, że jestem skażony definicją „aplikacji” w mobilnej przestrzeni: mała, z interfejsem dotykowym, podzielona na przedziały, sztywna (pod względem rozwoju). Utrzymanie tej elastyczności ma zasadnicze znaczenie dla rozwoju systemu Linux i filozofii Ubuntu, miejmy nadzieję, że stłumi zastrzeżenia niektórych . Teraz, kiedy to rozumiem, jestem podekscytowany, aby zobaczyć, co z tego wynika!
Perden