自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

為什么程序員喜歡為 Linux 打包

系統(tǒng) Linux
程序員可以通過 Flatpak 輕松、穩(wěn)定地發(fā)布他們的軟件,讓他們專注于他們的激情工作:編程。

如今,人們比以往任何時候都喜愛 Linux。在這個系列中,我將分享使用 Linux 的 21 個不同理由。今天,我將談一談是什么讓 Linux 的打包成為程序員的理想選擇。

程序員喜歡編程。這可能看起來是一個顯而易見的說法,但重要的是要明白,開發(fā)軟件所涉及的不僅僅是編寫代碼。它包括編譯、文檔、源代碼管理、安裝腳本、配置默認(rèn)值、支持文件、交付格式等等。從一個空白的屏幕到一個可交付的軟件安裝程序,需要的不僅僅是編程,但大多數(shù)程序員寧愿編程也不愿打包。

什么是打包?

當(dāng)食物被送到商店購買時,它是被包裝好的。當(dāng)直接從農(nóng)民或從環(huán)保的散裝或桶裝商店購買時,包裝是你所帶的任何容器。當(dāng)從雜貨店購買時,包裝可能是一個紙板箱、塑料袋、一個鐵罐等等。

當(dāng)軟件被提供給廣大計算機(jī)用戶時,它也必須被打包起來。像食品一樣,軟件也有幾種打包方式。開源軟件可以不進(jìn)行打包,因為用戶在獲得原始代碼后,可以自己編譯和打包它。然而,打包也有好處,所以應(yīng)用程序通常以某種特定于用戶平臺的格式交付。而這正是問題的開始,因為軟件包的格式并不只有一種。

對于用戶來說,軟件包使安裝軟件變得容易,因為所有的工作都由系統(tǒng)的安裝程序完成。軟件被從軟件包中提取出來,并分發(fā)到操作系統(tǒng)中的適當(dāng)位置。幾乎沒有任何出錯的機(jī)會。

然而,對于軟件開發(fā)者來說,打包意味著你必須學(xué)會如何創(chuàng)建一個包 —— 而且不僅僅是一個包,而是為你希望你的軟件可以安裝到的每一個操作系統(tǒng)創(chuàng)建一個獨特的包。更加復(fù)雜的是,每個操作系統(tǒng)都有多種打包格式和選項,有時甚至是不同的編程語言。

為 Linux 打包

傳統(tǒng)上,Linux 的打包方式似乎是非常多的。從 Fedora 衍生出來的 Linux 發(fā)行版,如 Red Hat 和 CentOS,默認(rèn)使用 .rpm 包。Debian 和 Ubuntu(以及類似的)默認(rèn)使用 .deb 包。其他發(fā)行版可能使用其中之一,或者兩者都不使用,選擇自定義的格式。當(dāng)被問及時,許多 Linux 用戶說,理想情況下,程序員根本不會為 Linux 打包他們的軟件,而是依靠每個發(fā)行版的軟件包維護(hù)者來創(chuàng)建軟件包。所有安裝在 Linux 系統(tǒng)上的軟件都應(yīng)該來自該發(fā)行版的官方軟件庫。然而,目前還不清楚如何讓你的軟件可靠地被一個發(fā)行版打包和包含,更不用說所有的發(fā)行版了。

Linux 的 Flatpak

Flatpak 打包系統(tǒng)是為了統(tǒng)一和去中心化 Linux 作為開發(fā)者的交付目標(biāo)而推出的。通過 Flatpak,無論是開發(fā)者還是其他人(Linux 社區(qū)的成員、不同的開發(fā)者、Flatpak 團(tuán)隊成員或其他任何人)都可以自由地打包軟件。然后他們可以將軟件包提交給 Flathub,或者選擇自我托管軟件包,并將其提供給幾乎任何 Linux 發(fā)行版。Flatpak 系統(tǒng)適用于所有 Linux 發(fā)行版,所以針對一個發(fā)行版就等于針對所有發(fā)行版。

Flatpak 技術(shù)如何工作

Flatpak 具有普遍吸引力的秘密是一個標(biāo)準(zhǔn)基礎(chǔ)。Flatpak 系統(tǒng)允許開發(fā)者引用一套通用的軟件開發(fā)者工具包(SDK)模塊。這些模塊由 Flatpak 系統(tǒng)的維護(hù)者進(jìn)行打包和管理。當(dāng)你安裝 Flatpak 時,SDK 會根據(jù)需要被拉入,以確保與你的系統(tǒng)兼容。任何特定的 SDK 只需要一次,因為它所包含的庫可以在任何 Flatpak 中共享。

如果開發(fā)者需要一個尚未包含在現(xiàn)有 SDK 中的庫,開發(fā)者可以在 Flatpak 中添加該庫。

結(jié)果不言自明。用戶可以從一個叫做 ??Flathub?? 的中央倉庫在任何 Linux 發(fā)行版上安裝數(shù)百個軟件包。

開發(fā)者如何使用 Flatpak

Flatpak 被設(shè)計成可重復(fù)的,所以構(gòu)建過程很容易被集成到 CI/CD 工作流程中。Flatpak 是在一個 ??YAML?? 或 JSON 清單文件中定義的。你可以按照我的 ??介紹性文章?? 創(chuàng)建你的第一個 Flatpak,你也可以在 ??docs.flatpak.org?? 閱讀完整的文檔。

Linux 讓它變得簡單

在 Linux 上創(chuàng)建軟件很容易,為 Linux 打包也很簡單,而且可以自動化。如果你是一個程序員,Linux 使你很容易忘記打包這件事,因為它只需要針對一個系統(tǒng),并可以整合到你的構(gòu)建過程中。

責(zé)任編輯:龐桂玉 來源: Linux中國
相關(guān)推薦

2020-02-25 15:14:13

程序員人生第一份工作睡眠

2015-11-23 17:27:19

程序員寫代碼

2022-03-31 06:41:53

程序員命令行接口代碼

2017-03-26 21:42:47

程序命令行開發(fā)

2014-09-24 09:37:05

程序員

2023-03-17 09:55:10

2018-08-24 09:02:26

2015-11-06 12:00:10

程序員產(chǎn)品經(jīng)理

2011-08-11 14:52:59

2015-09-24 09:04:36

程序員

2011-09-18 09:42:08

程序員

2013-10-29 10:24:31

程序員漫畫

2015-06-05 14:15:13

程序員難升職

2014-08-15 11:07:09

程序員

2011-12-20 09:01:25

.NET

2012-09-06 10:30:58

2016-03-15 08:51:12

程序員生活怪異

2013-01-17 09:54:12

程序員編程

2013-12-04 10:23:00

產(chǎn)品經(jīng)理程序員
點贊
收藏

51CTO技術(shù)棧公眾號