Sự khác biệt về khái niệm và kỹ thuật giữa các ứng dụng và các gói của ứng dụng là gì?


13

Tôi hơi bối rối trước thông báo gần đây ( http://developer.ubfox.com/2011/09/announcing-the-ubfox-app-developer-site/ ) của trang web dành cho nhà phát triển "Ứng dụng" mới. Tôi đã rơi ra khỏi sự phát triển của Ubuntu và bây giờ chỉ theo dõi các câu chuyện tin tức để đánh giá hướng đi của HĐH, và đã không nhận ra điều này đang đi xuống. Có lẽ ai đó từ cộng đồng có thể làm rõ điều này cho tôi.

Tôi rất quen thuộc với Ubuntu, Linux, lập trình và đóng gói, nhưng tôi không chắc sự khác biệt về khái niệm và kỹ thuật giữa ứng dụng Ubuntu và gói Debian. Tôi đã xem một chút về tài liệu cộng đồng nhà phát triển, nhưng chưa tìm thấy câu trả lời thẳng. Ứng dụng Ubuntu có thể được coi là gói được cấu hình đặc biệt hỗ trợ khung ứng dụng của Ubuntu không? Và nó linh hoạt đến mức nào? Tôi có thể, ví dụ, viết một ứng dụng bằng Qt và vẫn bọc nó trong một ứng dụng?

(Bên cạnh đó, tôi hơi lo ngại Ubuntu đang đi theo hướng này. Tôi hiểu rằng Ubuntu nên khám phá việc hỗ trợ nhiều con đường phát triển và phân phối ứng dụng để phù hợp. Những nhận xét này là không biết gì. Tôi không nên đưa ra một ý kiến ​​vững chắc cho đến khi tôi biết những gì đang xảy ra.)

Câu trả lời:


9

Một "ứng dụng" Ubuntu chỉ là một ứng dụng, giống như GIMP, Firefox hoặc bất cứ thứ gì.

Chúng vẫn là các gói Debian, chúng tôi chỉ cung cấp một công cụ có tên Nhanh chóng giúp mọi người sử dụng PyGTK và giúp dễ dàng đóng gói và gửi đến trung tâm phần mềm.

Bạn vẫn có thể viết ứng dụng của mình trong Qt, đóng gói và gửi nó đến Trung tâm phần mềm, chúng tôi chỉ đang cố gắng đơn giản hóa việc kết nối các nhà phát triển như bạn để giúp việc chuyển phần mềm của bạn đến người dùng cuối dễ dàng hơn.


1
À, được rồi. Cùng với nhận xét của bạn, tôi thấy trong bước 5 của phần xuất bản rằng các gói Debian hiện tại cũng có thể được thêm vào. Vì vậy, để chắc chắn rằng tôi có nó, một "ứng dụng" chỉ là một ứng dụng thông thường, vẫn sử dụng bao bì Debian. Tôi đoán rằng tôi đã nghĩ rằng một "Ứng dụng" là ứng dụng nhỏ hơn, chủ yếu dựa trên cảm ứng. Tôi đoán nó có thể là bất cứ điều gì! Cám ơn giải thích rõ ràng!
perden

1
Bạn cũng có thể nghĩ về các ứng dụng như các ứng dụng nhẹ có thể được gửi theo cách khác đến Trung tâm phần mềm, nhưng được phân phối hiệu quả theo cùng một cách cho người dùng. Họ cũng sử dụng cùng một công nghệ đóng gói (bao bì Debian và Trung tâm phần mềm) để phân phối. Chúng tôi muốn giúp các nhà phát triển loại phần mềm này dễ dàng gửi nó hơn và xem nó được xuất bản trong Ubuntu và đó là lý do tại sao chúng tôi đã phát triển các công cụ trực tuyến như một phần của trang web dành cho nhà phát triển ứng dụng để biến điều đó thành có thể.
David Planella

Tuy nhiên, các ứng dụng phức tạp hơn có thể không đủ điều kiện cho quy trình này (ví dụ như ai đó đang phát triển LibreOffice mới), trong trường hợp đó, các tác giả đã chỉ ra tuyến đường kho lưu trữ Debian / Ubuntu thông thường, đây vẫn là cách mà hầu hết các phần mềm tạo ra cho Ubuntu ngày nay và điều này sẽ không thay đổi vì hiện tại các ứng dụng đang được gửi
David Planella

8

Vâng, một ứng dụng được cung cấp dưới dạng một gói, nhưng không phải tất cả các gói đều là ứng dụng. Chẳng hạn, một hoặc nhiều phông chữ có thể được cung cấp dưới dạng các gói. Nói cách khác, có một sự khác biệt về khái niệm giữa một gói và một ứng dụng, nhưng không có sự khác biệt giữa một ứng dụng và một gói.

Có, bạn có thể phát triển các ứng dụng bằng bất kỳ ngôn ngữ nào và sử dụng bất kỳ khuôn khổ nào bạn muốn. Nhanh chóng cung cấp một điểm khởi đầu rất dễ dàng và khuyến nghị chính là sử dụng Python và GTK, nhưng cũng có các mẫu cho Ruby và các ngôn ngữ và mẫu khác để phát triển web thay vì các ứng dụng trên máy tính để bàn. Quickly được thiết kế đặc biệt để không giới hạn sự lựa chọn của các nhà phát triển trong các ngôn ngữ và (hy vọng rõ ràng) không có khóa trong Ubuntu. Bạn cũng có thể cung cấp các mẫu của riêng bạn, nếu ứng dụng của bạn hỗ trợ các plugin chẳng hạn. Những gì nhanh chóng làm, là để làm giảm bớt việc bạn viết mã soạn sẵn nhàm chán.

Để xuất bản ứng dụng bằng cổng MyApps, có một số yêu cầu, như ứng dụng của bạn phải sử dụng XDG_USER_DIRS cho dữ liệu và cấu hình của nó, nó phải có thể cài đặt để / opt, v.v. Ngoài ra, không có yêu cầu nào. Bạn có thể viết ứng dụng của mình bằng Java, Python, C *, Gambas hoặc bất cứ thứ gì khác được hỗ trợ và sử dụng bất kỳ bộ công cụ GUI nào bạn cảm thấy thích. Điều này có ý nghĩa như một mục tiêu chính của các phiên bản hiện đại của Ubuntu là hợp nhất Qt, GTK và các phiên bản khác để cung cấp trải nghiệm người dùng tốt hơn.

Tôi hy vọng điều này làm rõ một chút và bạn sẽ bớt lo lắng về hướng Ubuntu đang phát triển. :)


Vâng, cảm ơn bạn đã thêm một số chi tiết! Tôi muốn thấy trong việc hỗ trợ này, tôi không bị ràng buộc với bất kỳ cấu hình cụ thể nào. Và như tôi đã đề cập trong bình luận của mình với Jorge, tôi đoán rằng tôi đã bị vấy bẩn bởi định nghĩa không gian di động của một "Ứng dụng": nhỏ, giao diện cảm ứng, ngăn cách, cứng nhắc, (về mặt phát triển). Giữ sự linh hoạt đó là điều tối quan trọng để phát triển linux và triết lý Ubuntu, hy vọng sẽ dập tắt sự dè dặt của một số người . Bây giờ tôi đã hiểu nó, tôi rất vui khi thấy những gì đến từ nó!
perden
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.