“Uygulamalar” ve paketler arasındaki kavramsal ve teknik farklar nelerdir?


13

Yeni "Uygulama" geliştirici sitesinin son duyurusuyla ( http://developer.ubuntu.com/2011/09/announcing-the-ubuntu-app-developer-site/ ) biraz kafam karıştı . Ubuntu'nun geliştirmesinden düştüm ve şimdi sadece işletim sisteminin yönünü ölçmek için haber hikayelerini takip ettim ve bunun borudan geldiğini fark etmemiştim. Belki topluluktan biri bunu benim için temizleyebilir.

Ubuntu, Linux, programlama ve paketlemeyi çok iyi biliyorum, ancak bir Ubuntu uygulaması ile Debian paketi arasındaki kavramsal ve teknik farklılıkların ne olduğundan emin değilim. Biraz geliştirici topluluğu belgelerine baktım, ancak düz bir cevap bulamadım. Bir Ubuntu uygulaması, Ubuntu'nun uygulama çerçevesini destekleyen özel olarak yapılandırılmış bir paket olarak düşünülebilir mi? Ve bu ne kadar esnek? Örneğin, Qt'de bir uygulama yazıp yine de bir uygulamaya sarabilir miyim?

(Bir kenara, Ubuntu'nun bu yönde ilerlemesinden biraz endişeliyim. Ubuntu'nun, uygulamada kalmak için birden fazla uygulama geliştirme ve dağıtım yolunu desteklemeyi keşfetmesi gerektiğini anlıyorum. Bu açıklamalar cahil. Neler olduğunu bilinceye kadar sağlam bir görüş oluşturmamalıyım.)

Yanıtlar:


9

Bir Ubuntu "uygulaması" tıpkı GIMP, Firefox veya başka bir uygulama gibi.

Onlar hala Debian paketleri, biz sadece insanların PyGTK ile devam etmesini sağlayan ve paketlemeyi ve yazılım merkezine göndermeyi kolaylaştıran Quickly adlı bir araç sunuyoruz.

Uygulamanızı hala Qt olarak yazabilir, paketleyebilir ve Yazılım Merkezi'ne gönderebilirsiniz, sadece sizin gibi geliştiricileri yazılımınızı son kullanıcılara göndermeyi kolaylaştırmak için bağlamayı basitleştirmeye çalışıyoruz.


1
Ahh Tamam. Yorumlarınızla birlikte yayınlama bölümünün 5. adımında mevcut Debian paketlerinin de eklenebileceğini görüyorum . Bu yüzden emin olmak için, bir "uygulama" hala Debian ambalaj kullanarak, sadece normal bir uygulamadır. Sanırım bir "Uygulama" daha küçük, öncelikle dokunmatik tabanlı bir uygulama olduğunu düşünüyordum. Sanırım her şey olabilir! Temizlediğiniz için teşekkürler!
perden

1
Uygulamaları Yazılım Merkezine farklı bir yolla gönderilebilen ancak kullanıcılara aynı şekilde etkili bir şekilde dağıtılabilen hafif uygulamalar olarak da düşünebilirsiniz. Ayrıca dağıtım için aynı paketleme teknolojisini (Debian paketleme ve Yazılım Merkezi) kullanırlar. Bu tür yazılımların geliştiricilerinin yazılımı göndermesini ve Ubuntu'da yayınlanmasını görmesini kolaylaştırmak istiyoruz ve bu yüzden bunu mümkün kılmak için uygulama geliştirici sitesinin bir parçası olarak çevrimiçi araçlar geliştirdik.
David Planella

Bununla birlikte, daha karmaşık uygulamalar bu işlem için uygun olmayabilir (örneğin, yeni bir LibreOffice geliştiren birini düşünün), bu durumda yazarlar hala çoğu yazılımın bunu yaptığı gibi her zamanki Debian / Ubuntu depo yoluna yönlendirilir. Şimdilik Ubuntu'ya ve uygulamaların gönderilme şekli nedeniyle değişmeyecek
David Planella

8

Bir uygulama bir paket olarak sağlanır, ancak tüm paketler uygulama değildir. Örneğin bir veya daha fazla yazı tipi paket olarak sağlanabilir. Başka bir deyişle, bir paket ve bir uygulama arasında kavramsal bir fark vardır, ancak bir uygulama ile bir paket arasında hiçbir fark yoktur.

Evet, istediğiniz dilde ve istediğiniz çerçeveyi kullanarak uygulamalar geliştirebilirsiniz. Hızlı bir şekilde çok kolay bir başlangıç ​​noktası sağlar ve ana öneri Python ve GTK kullanmaktır, ancak Ruby için şablonlar ve masaüstü uygulamaları yerine web geliştirme için diğer diller ve şablonlar da vardır. Hızla, geliştiricilerin dillerdeki seçimini sınırlamayacak şekilde özel olarak tasarlanmıştır ve (umarız ki) Ubuntu'ya kilitlenme yoktur. Örneğin, uygulama eklentileri destekliyorsa kendi şablonlarınızı da sağlayabilirsiniz. Çabuk ne yapar, sıkıcı kazan plakası kodunu yazmanızı rahatlatmaktır.

Uygulamalarım portalını kullanarak yayınlamak için, uygulamanızın verileri ve yapılandırmaları için XDG_USER_DIRS kullanması, / opt, vb. Tarafından yüklenmesi gerekir. Bunun dışında herhangi bir gereksinim yoktur. Uygulamanızı Java, Python, C *, Gambas veya desteklenen ve istediğiniz herhangi bir GUI araç setini kullanarak başka bir şeye yazabilirsiniz. Bu, Ubuntu'nun modern sürümlerinin birincil hedefi olarak daha iyi bir kullanıcı deneyimi sağlamak için Qt, GTK ve diğerlerini birleştirmektir.

Umarım bu biraz açıklığa kavuşur ve Ubuntu'nun geliştiği yön konusunda daha az endişelenirsiniz. :)


Evet, biraz daha ayrıntı eklediğiniz için teşekkür ederiz! Bunu desteklerken, belirli bir yapılandırmaya bağlı olmadığımı görmek isterim. Ve Jorge'ye yaptığım yorumda belirttiğim gibi, sanırım bir "Uygulama" nın mobil alan tanımı ile lekeliyim: küçük, dokunmatik arayüz, bölümlere ayrılmış, katı, (geliştirme açısından). Bu esnekliği korumak linux geliştirme ve Ubuntu felsefesi için çok önemlidir ve umarım bazılarının çekincelerini sorgular . Şimdi anladığım için, bunun ne olduğunu görmekten heyecan duyuyorum!
perden
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.