走到哪 Code 到哪!6 個最棒的雲端 IDE 好工具、不怕出外沒環境

評論
評論

要編寫程式碼其實並不難,開啟電腦裡的終端機,加上 Vi/Vim,有 Google 搜尋引擎一旁待命,再來點蠻牛或啤酒,你就已經具備了開發程式碼需要的先決條件,每個人都可以來「Hello, World!」一下。

onlineIDE-hello

但如果編寫程式將會變成你的「家常便飯」,那需要做的前置工作可多了!

最基本的開發環境

終端機(Terminal)下的開發環境需要設定環境變數(Environment Variables)、路徑(Path),以建立未來寫程式的規律及效率;根據個人習慣不同,可能要下載不同的文字編輯器(Text Editor),例如 gedit;Unix 和 Linux 系統下有內建的 Vi/Vim 編輯器可以用,不過 Vi/Vim 雖然強大,只要用鍵盤指令就能完成所有的編輯,但其眾多的指令經常讓初學者卻步,而且指令還分大小寫勒!愛用 Vi 的人很愛用(例如筆者我),不喜歡的也大有人在,主要就是看自己的習慣。

再來可能要安裝並使用編譯器(Compiler),才能將原始程式(Source Code)翻譯成電腦看得懂的目標程式(Object Code),最後交給連結器(Linker)產生最後的執行檔(Executable)。如果程式執行結果不如你預期,也許你會想要安裝個除錯器(Debugger)來偵查錯誤。以寫 C 跟 C++ 語言為例的話,許多人愛用的 GDB(GNU Project Debugger)就是個不錯的選擇。

onlineIDE-coding

然而終端機是命令列界面(Command-line Interface,簡稱 CLI),對這種環境不熟悉的使用者,光是學習如何用命令提示字元(Command Prompt)來操作電腦就有得受了。

寫一個簡單的小程式卻需要安裝、設定、還要熟悉各種用法... 對於初學者來說,這些前置作業大概比真正撰寫程式還難吧?一定有不少人因為這關過不了,對開發程式心生恐懼,從此與開發程式這領域絕緣,不禁有種出師未捷身先死的感覺...

總而言之,終端機實在不算是個平易近人的工具,因此有越來越多程式開發者、初學者開始使用整合開發環境(IDEs)。

整合開發環境(IDE)

整合開發環境(Integrated Development Environment,簡稱 IDE,也有人稱為 Interactive Development Environment)是一種輔助程式開發者開發軟體的應用程式,通常包含了程式語言編輯器、編譯器/直譯器、除錯器、還有圖形使用者界面(Graphical User Interface,簡稱 GUI)。

onlineIDE-graph

簡單來說,IDE 就是一個集編輯器、編譯器與除錯器於一身的集大成開發環境 ,剛剛提到終端機下開發程式需要的工作,IDE 不但幫你準備好,還用圖形界面呈現出來讓使用者方便操作。IDE 內撰寫程式,程式碼會用顏色區分不同命令以方便閱讀,程式寫完之後,按下「執行(Run)」按鈕,就會開始編譯、測試你的程式,如果過程中出錯、程式執行失敗,螢幕裡會自動標示出錯的程式碼行數跟錯誤訊息,幫助你 Debug。

以前的 IDE 主要是針對特定的程式語言量身打造,但現在越來越多 IDE 支援多種程式語言,功能也更為強大,提供了十分完善的軟體開發環境,對於使用多種程式語言的開發者來說真是超級方便!幾個支持多種語言、特別熱門 IDE 像是 Visual Studio、Eclipse、Xcode 等,主要也是看使用者用的程式語言、作業系統、還有習慣問題。

onlineIDE-xcode

想知道更多其他的 IDE ,可以參考維基百科整理的: 整合開發環境列表

雖然這些工具實在很好用很強大,不過殺雞焉用牛刀呢?很多時候我們並不需要這麼龐大的 IDE;或是剛開始學習程式語言,不想花這麼多功夫下載或購買 IDE 軟體;再或者是出門在外沒帶電腦,卻心血來潮想利用時間寫程式怎麼辦?

電腦、手機、平板電腦等都有瀏覽器,如果可以讓你用「瀏覽器」寫程式,到處走到處寫,聽起來怎麼樣?正合你意的話,你需要的就是線上整合開發環境(Online IDEs),也有人稱做雲端開發環境(Cloud-based IDEs)。

雲端開發環境 Cloud-based IDE

原本 IDE 都是在本地電腦執行的軟體,但近年來網路跟雲端技術越來越普及, 出現了像 Google Drive、iCloud、Dropbox 等雲端服務可以備份資料、分享文件,實在方便了不少,於是也出現了針對程式開發者提供的雲端服務 –– 雲端開發環境。

onlineIDE-pic

雲端 IDE,就想成是網頁模式的 IDE 軟體,只要有瀏覽器能夠進入這個網站,你就可以使用這套「IDE 軟體」;它的概念,就是讓 所有人都能在任何時間與地點存取自己的程式碼,並進行程式撰寫、執行、除錯等程式開發相關的功能 ,更能說是一個雲端開發平台,因為大家可以在線上分享討論,更可以一起合作開發專案。

而且很多雲端 IDE 免費就能使用,付費則有更好的服務、更大的儲存空間、更多客製化的選項,例如說,程式檔案可以依照需求設定成 公開私人 檔案,或是限制可以存取相關檔案的使用者名單等功能。

大部份的雲端 IDE 都支援多種語言,從 Ruby 到 Python 到 PHP 到 HTML5,熱門款都有!網頁裡會有語言選項,選擇你要寫的語言,主要功能就跟 Visual Studio、Eclipse、Xcode 沒兩樣,甚至有的提供段落摺疊、自動填寫、文法標記等功能來增加開發者效率。

總而言之,雲端 IDE 的好處就是免下載、免安裝、免煩惱!幾個比較熱門的雲端 IDE 有 Cloud9、Koding、Nitrous、SourceLair、Codeanywhere、Codenvy,在這邊挑前三個簡單介紹,其他三個也擺上官方介紹影片給大家認識一下:

Cloud9

主要是針對 HTML5、JavaScript、Node.js 等網頁專用語言所設計的整合開發環境,但也支援 20 多種不同的程式語言,有 C#、C/C++、CSS、Java、JavaScript、PHP、Perl、Python、Ruby、SQL、HTML、XML 等等。

提供完整的文法標示(Syntax highlighting)、自動填寫(Auto-fill)、即時預覽(Live preview)等功能,值得一提的是,Cloud9 可以讓使用者在各種瀏覽器中即時預覽作品,不需要特別安裝下載不同的瀏覽器來測試你的程式碼。同時 Cloud9 也可以連結 GitHub、BitBucket 等程式碼資料庫(Repository),並用這些帳號來登入。

Cloud9 之所以放在第一個,因為我認為 Cloud9 擁有最棒的使用者界面!而且也不是只有我這麼認為,Cloud9 是最受 UI 設計師和開發者所喜愛的雲端 IDE。

Chrome 線上應用程式商店 Cloud9 App 下載

Koding

在 Koding 網站裡,使用者在自己的 Linux 虛擬機器(VM)上面開發程式或開發網站。Koding 支援的語言也十分廣大,Python、Java、 Perl、Node.js、Ruby、C/C++、PHP、Go、幾乎應有盡有。

Koding 的特色在於社群服務,有不同程式語言的頻道可以訂閱,希望工程師們不只是埋頭苦 Code 而已,也要關心相關資訊的最新趨勢;另外,工程師還可以在 Koding 平台上發表自己的作品,說不定有機會成為大家訂閱追蹤的熱門開發者喔!

Chrome 線上應用程式商店 Koding App 下載

Nitrous (於 2016 年底停止服務,預計轉為免費開放專案)

Nitrous 可以使用 Github、Google 或 LinkedIn 的帳號登入,在線上使用,也可以下載到個人電腦使用。這個平台注重實用與效率,有社群服務讓開發者可以互相交流合作,而且 Nitrous 提供了六種語言或框架(Framework)給使用者選擇,在 Niitrous 上稱作「沙盒(box)」,有 Ruby/Rails、Node.js、Python/Django、Go、PHP、及 Meteor。

onlineIDE-nitrous

Nitrous 上有提供叫做「N2O」的點數,免費會員一開始會拿到 200 點 N2O,可以用來買沙盒及容量,使用者可以透過介紹推薦朋友或做一些問卷調查來獲得 N2O,當然最快速的方法還是付錢買 N2O。

Chrome 線上應用程式商店 Nitrous App 下載

SourceLair

Chrome 線上應用程式商店 SourceLair App 下載

Codeanywhere

Chrome 線上應用程式商店 Codeanywhere App 下載

Codenvy

Chrome 線上應用程式商店 Codenvy App 下載

結語

其實上面介紹的熱門雲端 IDE 功能都大同小異,主要還是看個人喜好和需求來選擇使用。不過如果你只是臨時想測試個小程式,連創立帳號都懶的話,筆者這邊也有兩個方便小網站,不需要創立帳號,而且支援大部份的語言,應該會符合你的需求:iDeoneCodepad

祝大家 Coding 愉快,一起成為走到哪 Code 到哪的神人!

onlinIDE-languages

精選熱門好工作

Campaign Manager 活動企劃經理

樂購蝦皮股份有限公司
臺北市.台灣

獎勵 NT$20,000

Video/Image Processing Software Engineer

PicCollage 拼貼趣
臺北市.台灣

獎勵 NT$20,000

產品經理-Product Manager (Backend System)

酷遊天國際旅行社股份有限公司
臺北市.台灣

獎勵 NT$20,000

評論