李榮
Linux已經成為工作、娛樂和個人生活等多個領域的支柱,人們已經越來越離不開它。在Linux的幫助下,技術的變革速度超出了人們的想象,Linux開發(fā)的速度也以指數規(guī)模增長。因此,越來越多的開發(fā)者也不斷地加入開源和學習Linux開發(fā)地潮流當中。在這個過程之中,合適的工具是必不可少的,可喜的是,隨著Linux的發(fā)展,大量適用于Linux的開發(fā)工具也不斷成熟。甚至可以說,這樣的工具已經多得有點驚人。
為了選擇更合適自己的開發(fā)工具,縮小選擇范圍是很必要的,下面我們來看一下。
容器
放眼現實,現在已經是容器的時代了。容器既及其容易部署,又可以方便地構建開發(fā)環(huán)境。如果針對的是特定的平臺的開發(fā),將開發(fā)流程所需要的各種工具都創(chuàng)建到容器映像中是一種很好的方法,只要使用這一個容器映像,就能夠快速啟動大量運行所需服務的實例。
一個使用容器的最佳范例是使用Docker,使用容器(或Docker)有這些好處:開發(fā)環(huán)境保持一致、部署后即可運行、易于跨平臺部署、Docker映像適用于多種開發(fā)環(huán)境和語言以及部署單個容器或容器集群都并不繁瑣。
通過Docker Hub,幾乎可以找到適用于任何平臺、任何開發(fā)環(huán)境、任何服務器和任何服務的映像,幾乎可以滿足任何一種需求。使用Docker Hub中的映像,就相當于免除了搭建開發(fā)環(huán)境的步驟,可以直接開始開發(fā)應用程序、服務器、API或服務。
Docker在所有Linux平臺上都很容易安裝,例如可以通過終端輸入以下命令在Ubuntu上安裝Docker:
sudo apt-get install docker.io
Docker安裝完畢后,就可以從Docker倉庫中拉取映像,然后開始開發(fā)和部署了。
版本控制工具
如果正在開發(fā)一個大型項目,又或者參與團隊開發(fā),版本控制工具是必不可少的,它可以用于記錄代碼變更、提交代碼以及合并代碼。如果沒有這樣的工具,項目幾乎無法妥善管理。在Linux系統(tǒng)上,Git和GitHub的易用性和流行程度是其它版本控制工具無法比擬的。如果對Git和GitHub還不太熟悉,可以簡單理解為Git是在本地計算機上安裝的版本控制系統(tǒng),而GitHub則是用于上傳和管理項目的遠程存儲庫。Git可以安裝在大多數的Linux發(fā)行版上。例如在基于Debian的系統(tǒng)上,只需要通過以下這一條簡單的命令就可以安裝:
sudo apt-get install git
安裝完畢后,就可以使用Git來實施版本控制了。Github會要求用戶創(chuàng)建一個帳戶。用戶可以免費使用GitHub來管理非商用項目,當然也可以使用GitHub的付費模式。
文本編輯器
如果沒有文本編輯器,在Linux上開發(fā)將會變得異常艱難。當然,文本編輯器之間孰優(yōu)孰劣,具體還是要取決于開發(fā)者的需求。對于文本編輯器,有人可能會使用vim、emacs或nano,也有人會使用帶有GUI的編輯器。但由于重點在于開發(fā),我們需要的是一種能夠滿足開發(fā)人員需求的工具。不過首先要說,vim對于開發(fā)人員來說確實是一個利器,但前提是要對vim非常熟悉,在這種前提下,vim能夠滿足所有需求,甚至還能給你更好的體驗。然而,對于一些開發(fā)者(尤其是剛開始接觸Linux的新手)來說,這不僅難以幫助他們快速達成需求,甚至還會是一個需要逾越的障礙??紤]到幫助Linux的新手,本人更傾向于使用GUI編輯器。
就文本編輯器而論,選擇Bluefish一般不會有錯。Bluefish可以從大部分軟件庫中安裝,它支持項目管理、遠程文件多線程操作、搜索和替換、遞歸打開文件、側邊欄、集成make/lint/ weblint/xmllint、無限制撤銷/重做、在線拼寫檢查、自動恢復、全屏編輯、語法高亮和多種語言等。
集成開發(fā)環(huán)境
集成開發(fā)環(huán)境(Integrated Development Environment,IDE)是包含一整套全面的工具、可以實現一站式功能的開發(fā)環(huán)境。開發(fā)者除了可以使用IDE編寫代碼,還可以編寫文檔和構建軟件。在Linux上也有很多適用的IDE,其中Geany就包含在標準軟件庫中,它對用戶非常友好,功能也相當強大。Geany具有語法高亮、代碼折疊、自動完成,構建代碼片段、自動關閉XML和HTML標簽、調用提示、支持多種文件類型、符號列表、代碼導航、構建編譯,簡單的項目管理和內置的插件系統(tǒng)等強大功能。
Geany也能在系統(tǒng)上輕松安裝,例如執(zhí)行以下命令在基于Debian的Linux發(fā)行版上安裝Geany:
sudo apt-get install geany
安裝完畢后,就可以快速上手這個易用且強大的IDE了。
文本比較工具
有時候會需要比較兩個文件的內容來找到它們之間的不同之處,它們可能是同一文件的兩個不同副本(例如有一個經過編譯,而另一個沒有)。這種情況下,肯定不想要憑借肉眼來找出差異,而是想要使用像Meld這樣的工具。Meld是針對開發(fā)者的文本比較與合并工具,可以使用Meld來發(fā)現兩個文件之間的差異。雖然可以使用命令行中的文本比較工具,但就效率而論,Meld無疑更為優(yōu)秀。
Meld可以打開兩個文件進行比較,并突出顯示文件之間的差異之處,還允許用戶從兩個文件的其中一方合并差異。
Meld也可以通過大多數標準的軟件庫安裝,在基于Debian的系統(tǒng)上,執(zhí)行以下命令就可以安裝:
sudo apt-get install meld
以上提到的五個工具除了幫助完成工作,且有助于提高效率。盡管適用于Linux開發(fā)者的工具有很多,但對于以上幾個類別,最好還是分別使用一個對應的工具。