每當(dāng)我們打開電腦,我們可能經(jīng)常會做一些習(xí)慣性的動作。例如查一下郵件啦,看看新聞啦,觀察一下股票走向啦。仔細(xì)想一下就發(fā)現(xiàn),這里面有很多動作是我們每天都會重復(fù)的。有沒有可能更方便一點(diǎn)呢?
有。很簡單,身為程序員的我們,為每種固定的操作寫個小程序就好了。但這樣一來會帶來幾個問題:
1. 小程序?qū)懚嗔耍茈y統(tǒng)一管理。而且有些帶參數(shù)的程序(例如按照一定股票編號去查詢價格的程序),使用起來并不一定方便。
2. 我們可能經(jīng)常使用不同的電腦,那么要同步這些小程序會非常頭疼。
3. 你也寫,我也寫,大家寫了大量重復(fù)的小程序,很浪費(fèi)資源。
為了應(yīng)對這些問題,我提出了一個叫JustType的框架,我們可以在http://justtype.cloudapp.net 訪問它。
JustType的界面就是一個文本框,一切都在這個文本框中進(jìn)行。在JustType框架中,每個小程序都對應(yīng)一個命令,命令可帶參數(shù)。寫好的小程序會保存在服務(wù)器,每一個人都可以選擇是否要公開自己的小程序。這樣大家可以很方便地共享自己的成果。
讓我們來逐一看看JustType擁有的功能。
首先,最基本的,你可以在JustType中輸入一個網(wǎng)址,一按回車就會訪問該網(wǎng)址。
當(dāng)然,僅僅是這樣的話,很傻。因?yàn)闉g覽器的地址欄更好用多了。但是,JustType遠(yuǎn)遠(yuǎn)不止這點(diǎn)。
我們可以為一個命令設(shè)置一個別名,例如:
經(jīng)過這樣的設(shè)置后,下次我只要打cppblog就會自動進(jìn)入http://m.shnenglu.com 了。
還有很多時候,我們會遇到一些小小的計(jì)算問題。Windows那個計(jì)算器實(shí)在很不好用,讓我們看看JustType:
這個calc命令會將后面的表達(dá)式求值并顯示出來。實(shí)際上,這里這個表達(dá)式是Python的表達(dá)式,JustType中所有的小程序都運(yùn)行在IronPython上,并且可以使用.net framework類庫中的大多數(shù)功能。
當(dāng)然,除了簡單的表達(dá)式以外,我們還可以執(zhí)行更復(fù)雜的腳本:
輸入這個命令之后,界面就會變成下面的樣子:
MultiLineTextMode是一個預(yù)定義函數(shù),功能是將主界面上的文本框變成多行模式,這樣我們就可以輸入更復(fù)雜的腳本了。下面我們試試使用一些.net framework中的功能:
輸出結(jié)果如下:
SetTextBoxText也是一個預(yù)定義函數(shù),可以改變主界面中文本框內(nèi)的文本。更多的預(yù)定義函數(shù)描述可以在http://justtype.cloudapp.net/Help.aspx 中看到。
除了臨時執(zhí)行腳本以外,我們也可以將腳本寫成小程序保存起來。輸入newcommand命令,就會進(jìn)入創(chuàng)建命令的頁面。我們將這個小程序命名為translate,然后輸入以下代碼:
import System
import System.Web
def OnCommand(command):
GoToURL("http://dict.youdao.com/search?q=" + System.Web.HttpUtility.UrlEncode(command))
return True
程序依然是用IronPython寫,其實(shí)Python語法很簡單。http://www.python.org 感興趣的用戶可以去看看。這個OnCommand函數(shù)就是用來接收消息的。當(dāng)JustType收到命令后,會找到這個命令對應(yīng)的腳本,并將參數(shù)傳給腳本的OnCommand函數(shù)來執(zhí)行。我們看到,這里程序調(diào)用了GoToURL函數(shù),轉(zhuǎn)向了有道詞典的頁面。在創(chuàng)建了這個程序后,我們就可以在JustType的文本框中輸入下面的命令:
一按回車,就會轉(zhuǎn)向翻譯結(jié)果:
類似地,我們可以寫出很多很多方便實(shí)用的小程序。在我們創(chuàng)建程序時,我們可以選擇是否要公開。如果公開的話,別的用戶就可以通過“你的用戶名.程序名”來調(diào)用你的程序。例如我的用戶名是ck,那么其他用戶就可以輸入ck.translate來調(diào)用我的程序,當(dāng)然他喜歡的話也可以用setalias來設(shè)置一個方便的別名。如果所有公開的程序中,只有我這個程序叫做translate,那么其他用戶不打ck.translate而直接打translate也可以成功調(diào)用。
另外,JustType提供一種簡單的數(shù)據(jù)存儲。每一個程序在一個用戶的賬戶中會有一個獨(dú)立的存儲空間,可以存儲1000行數(shù)據(jù)。例如我利用這個特性開發(fā)了一個叫做note的小程序,可以臨時記錄一些小筆記:
那么之后我就可以看到我的筆記:
所有的程序和數(shù)據(jù),都存放在服務(wù)器端,用戶不用擔(dān)心不同機(jī)器的問題。無論你走到哪里,都可以像在一臺機(jī)器上一樣訪問所有服務(wù)和數(shù)據(jù)。
新服務(wù)剛剛搭建好,歡迎大家試用和提供意見喔。網(wǎng)址是http://justtype.cloudapp.net