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