Ubuntu Tweak 五周年:下一代預(yù)覽
本文來自 Ubuntu Tweak 的作者 @圖拉鼎 的博客:
今天是Ubuntu Tweak五周年的日子,五年前,也就是2007年9月9日,我發(fā)布了Ubuntu Tweak的***個(gè)版本:0.1.2。從此拉開了這個(gè)軟件的不斷發(fā)展變化的序幕。
很多東西的意義會隨著時(shí)間的變化而不斷改變:
- 剛開始:它只是我一個(gè)學(xué)習(xí)和練手的作品,即使沒做出來,也沒怎樣;
- 過了一段時(shí)間:它有了一些用戶和知名度,我開始覺得,一定要把它做好,它是我的作品;
- 又過了一段時(shí)間:它與我緊緊地聯(lián)系在一起,自我介紹或者是被介紹時(shí),會說「XX是YY的作者」。這時(shí),它是我的名片,我也有了一點(diǎn)壓力,也會想我還繼續(xù)做它的動力……
- 前些日子,我想了又想,正式宣布了停止對Ubuntu Tweak新特性的開發(fā),進(jìn)入維護(hù)模式,希望就此讓Ubuntu Tweak慢慢淡出我的視線,我要尋找新的起點(diǎn)……
然而我發(fā)現(xiàn),這似乎不可能,因?yàn)槲疫€不能接受還有明顯缺陷的它。
于是,最近我又輪回了,它再次成為了我一個(gè)學(xué)習(xí)和練手的作品,我繼續(xù)開發(fā)下一代Ubuntu Tweak,同時(shí)與我之前的「宣告」沒有沖突:沒有新特性,只是改進(jìn)。
一起來預(yù)覽Ubuntu Tweak 0.8吧!
記得上次在北京聯(lián)想的「源創(chuàng)會」上我演講結(jié)束后的提問環(huán)節(jié),有個(gè)朋友問有沒有Ubuntu Tweak的使用手冊,因?yàn)樗裊buntu Tweak介紹給他朋友時(shí),一直無法搞明白「軟件源中心」怎么用,到底時(shí)全部勾上呢,還是夠一部分呢,勾上以后又要怎么做呢。
那時(shí)我意識到,Ubuntu Tweak的「軟件中心」和「軟件源中心」確實(shí)是兩個(gè)難用的功能,不直觀、不好用。于是,在新一代的Ubuntu Tweak 0.8當(dāng)中,這兩個(gè)功能被我去掉了,取而代之的是一個(gè)全新的「Apps」,依然是解決之前要解決的問題:讓Ubuntu安裝第三方軟件(或測試版軟件)更 方便、更輕松。
三張圖告訴你Ubuntu Tweak 0.8是怎么樣的:
Ubuntu Tweak 0.8將會新增一個(gè)「Apps」的Tab,通過這里,你將可以統(tǒng)一管理第三方的軟件。比如,Google提供了三個(gè)版本的Google Chrome:Stable,Beta和Unstable,,你就可以自由地選擇安裝所需要的版本。
你不需要關(guān)心軟件的「源」(source),只要知道想裝什么,通過鼠標(biāo)點(diǎn)一點(diǎn),Ubuntu Tweak為你處理好背后的一切。
對于沒有像Google Chrome一樣單獨(dú)提供不同版本的軟件,那么你也可以自行選擇自已想要的源的形式來安裝特定的版本。
比如:Chromium,只要勾選上「Daily Build」,那么你就可以用上***版本的Chromium了。
與之前的Ubuntu Tweak版本一樣,Apps調(diào)用的是標(biāo)準(zhǔn)的系統(tǒng)安裝機(jī)制,在使用了***版本軟件的情況下,也保證系統(tǒng)正常穩(wěn)定工作。
簡單的介紹就是,下一版的Ubuntu Tweak就是為了讓所有用戶,真正不需要學(xué)習(xí)就可以方便輕松的用上一些Ubuntu軟件中心不能安裝的軟件。
對用戶來說,Ubuntu Tweak 0.8沒有增加任何新功能,它只是比以前更方便、更好用?,F(xiàn)在,我更想談的是:
技術(shù)篇
回到開頭說的,對我而言,「它再次成為了我一個(gè)學(xué)習(xí)和練手的作品」,因?yàn)檫@次,我用了自己不熟悉的東西來構(gòu)建這個(gè)功能,就像五年前,我用著不熟悉的 C、不熟悉的Python來寫Ubuntu Tweak一樣,這次,我用了HTML/CSS/JavaScript,更精確的說,我用了Ember.js,構(gòu)建了這個(gè)Native效果的Apps功 能,嵌入了Ubuntu Tweak里。
來看一張我的開發(fā)中的大圖吧:
上左:Google Chrome瀏覽器里調(diào)試的Apps功能
上右:在Ubuntu Tweak調(diào)試的效果
下:開發(fā)時(shí)的終端和VIM
2010年,在做完Ubuntu Tweak 0.5時(shí),為了給它提供遠(yuǎn)程的數(shù)據(jù),當(dāng)時(shí)我們用Django做了一個(gè)叫UTCOM的網(wǎng)站(我做的后端),Tweak通過自動檢測來獲取數(shù)據(jù)包的更新。當(dāng)時(shí)在設(shè)計(jì)同步數(shù)據(jù)的時(shí)候費(fèi)了很大勁,每次有變化,都需要軟件和網(wǎng)站一起更新,很麻煩。
現(xiàn)在,Apps功能完全基于Web,通過Ember.js這個(gè)框架+CSS樣式定制,非常接近本地的體驗(yàn)效果。
之前我除了有一點(diǎn)點(diǎn)對前端開發(fā)的概念、會改一點(diǎn)點(diǎn)以外,從來沒有開發(fā)過Web或WebApp,這次從零開始,真正體驗(yàn)了一把Web開發(fā)的樂趣(實(shí)際 上***的樂趣是我可以隨便用WebKit的特性而不需要考慮IE,XD)。從HTML、CSS,到寫了很多代碼用Ember.js實(shí)現(xiàn)Web UI及交互,收獲很多。
對于我這個(gè)寫桌面軟件出身的「原生黨」來說,WebApp幫我***解決的本地與遠(yuǎn)端數(shù)據(jù)同步問題、也解決了客戶端需要頻繁更新的問題,最主要的是,Ember.js真很好很強(qiáng)大,這個(gè)我將在另外的文章中介紹。
在未來,我可能仍會將這部分用原生的UI去實(shí)現(xiàn),就像發(fā)生在Facebook for iOS 5上的事情一樣,Web和Native,就是特定階段用特定的手段。我是這樣認(rèn)為。Web會越來越靠近Native,特別是再有了Ember.js這個(gè)框 架后,但是我覺得這仍會是一個(gè)漫長的過程……
無論如何,我還是先把Ubuntu Tweak 0.8做出來,讓大家來檢驗(yàn)一下吧!
如果Ubuntu Tweak 0.8做出來沒有人用,大不了我自己用,好歹我也學(xué)會了Ember.js和WebApp的開發(fā)了。
五年前的同一時(shí)候,我在想:
如果Ubuntu Tweak 0.1做出來沒有人用,大不了我自己用,好歹我也學(xué)會Linux圖形工具開發(fā)了。