歡迎光臨
每天分享高質量文章

採用 snaps 為 Linux 社群構建 Slack | Linux 中國

我們採訪了這個團隊的主任工程師來瞭解有關該公司對於 Linux 社群的態度,以及他們決定構建一個 snap 軟體包的原因。

— Sarah

 

作為一個被數以百萬計使用者使用的企業級軟體平臺,Slack[1] 可以讓各種規模的團隊和企業有效地溝通。Slack 透過在一個單一整合環境中與其它軟體工具無縫銜接,為一個組織內的通訊、資訊和專案提供了一個易於接觸的檔案館。儘管自從誕生後 Slack 就在過去四年中快速成長,但是他們負責該平臺的 Windows、MacOS 和 Linux 桌面的工程師團隊僅由四人組成。我們採訪了這個團隊的主任工程師 Felix Rieseberg(他負責追蹤上月首次釋出的 Slack snap[2],LCTT 譯註:原文釋出於 2018.2),來瞭解更多有關該公司對於 Linux 社群的態度,以及他們決定構建一個 snap 軟體包的原因。

◈ 安裝 Slack snap[3]

你們能告訴我們更多關於已釋出的 Slack snap 的資訊嗎?

作為釋出給 Linux 社群的一種新形式,我們上月釋出了我們的第一個 snap。在企業界,我們發現人們更傾向於以一種相對於個人消費者來說較慢的速度來採用新科技,因此我們將會在未來繼續提供 .deb 形式的軟體包。

你們覺得 Linux 社群會對 Slack 有多大的興趣呢?

我很高興在所有的平臺上人們都對 Slack 的興趣越來越大。因此,很難說來自 Linux 社群的興趣和我們大體上所見到的興趣有什麼區別。當然,不管使用者們在什麼平臺上面工作,滿足他們對我們都是很重要的。我們有一個專門負責 Linux 的測試工程師,並且我們同時也會盡全力提供最好的使用者體驗。

只是我們發現總體相對於 Windows 來說,為 Linux 搭建 snap 略微有點難度,因為我們是在一個較難以預測的平臺上工作——而這正是 Linux 社群之光照耀的領域。在彙報程式缺陷以及尋找程式崩潰原因方面,我們有相當多極有幫助的使用者。

你們是如何得知 snap 的?

Canonical 公司的 Martin Wimpress 接觸了我,並向我解釋了 snap 的概念。說實話儘管我也用 Ubuntu 但最初我還是遲疑的,因為它看起來像需要搭建與維護的另一套標準。然而,一當我瞭解到其中的好處之後,我確信這是一筆值得的投入。

snap 的什麼方面吸引了你們並使你們決定投入其中?

毫無疑問,我們決定搭建 snap 最重要的原因是它的更新特性。在 Slack 上我們大量運用了網頁技術,這些技術反過來也使得我們提供大量的特性——比如將 YouTube 影片或者 Spotify 播放串列整合在 Slack 中。與瀏覽器十分相似,這意味著我們需要頻繁更新應用。

在 MacOS 和 Windows 上,我們已經有了一個專門的自動更新器,甚至無需使用者關註更新。任何形式的中斷都是一種我們需要避免的煩惱,哪怕是為了更新。因此透過 snap 自動化的更新就顯得更加無縫和便捷。

相比於其它形式的打包方式,構建 snap 感覺如何?將它與現有的設施和流程整合在一起有多簡便呢?

就 Linux 而言,我們尚未嘗試其它的“新”打包方式,但我們遲早會的。鑒於我們的大多數使用者都使用 Ubuntu,snap 是一個自然的選擇。同時 snap 在其它發行版上同樣也可以使用,這也是一個巨大的加分項。Canonical 正將 snap 做到跨發行版,而不是僅僅集中在 Ubuntu 上,這一點我認為是很好的。

搭建 snap 極其簡單,我們有一個建立安裝器和軟體包的統一流程,我們的 snap 建立過程就是從一個 .deb 軟體包炮製出一個 snap。對於其它技術而言,有時候我們為了支援構建鏈而先打造一個內部工具。但是 snapcraft 工具正是我們需要的東西。在整個過程中 Canonical 的團隊非常有幫助,因為我們一路上確實碰到了一些問題。

你們覺得 snap 商店是如何改變使用者們尋找、安裝你們軟體的方式的呢?

Slack 真正的獨特之處在於人們不僅僅是碰巧發現它,他們從別的地方知道它並積極地試圖找到它。因此儘管我們已經有了相當高的覺悟,我希望對於我們的使用者來說,在商店中可以獲得 snap 能夠讓安裝過程變得簡單一點。

我們總是儘力為使用者服務。當我們覺得它比其他安裝方式更好,我們就會向用戶更多推薦它。

透過使用 snap 而不是為其它發行版打包,你期待或者已經看到的節省是什麼?

我們希望 snap 可以給予我們的使用者更多的便利,並確保他們能夠更加喜歡使用 Slack。在我們看來,鑒於使用者們不必被困在之前的版本,這自然而然地解決了許多問題,因此 snap 可以讓我們在客戶支援方面節約時間。snap 對我們來說也是一個額外的加分項,因為我們能有一個可供搭建的平臺,而不是替換我們現有的東西。

如果存在的話,你們正使用或者準備使用邊緣 (edge)、測試 (beta)、候選 (candidate)、穩定 (stable) 中的哪種發行頻道?

我們開發中專門使用邊緣 (edge) 頻道以與 Canonical 團隊合作。為 Linux 打造的 Slack 總體仍處於測試 (beta) 頻道中。但是長遠來看,擁有不同頻道的選擇十分有意思,同時能夠提早一點為感興趣的客戶釋出版本也肯定是有好處的。

你們如何認為將軟體打包成一個 snap 能夠幫助使用者?你們從使用者那邊得到了什麼反饋嗎?

對我們的使用者來說一個很大的好處是安裝和更新總體來說都會變得簡便一點。長遠來看,問題是“那些安裝 snap 的使用者是不是比其它使用者少碰到一些困難?”,我十分期望 snap 自帶的依賴關係能夠使其變成可能。

你們對剛使用 snap 的新使用者們有什麼建議或知識呢?

我會推薦從 Debian 軟體包來著手搭建你們的 snap ——那出乎意料得簡單。這同樣也縮小了範圍,避免變得不堪重負。這隻需要投入相當少的時間,並且很大可能是一筆值得的投入。同樣如果你們可以的話,儘量試著找到 Canonical 的人員來協作——他們擁有了不起的工程師。

對於開發來說,你們在什麼地方看到了最大的機遇?

我們現在正一步步來,先是讓人們接受 snap,再從那裡開始搭建。正在使用 snap 的人們將會感到更加穩健,因為他們將會得益於最新的更新。

贊(0)

分享創造快樂