11款主流的開源程式設計工具?

Tags: 工具, 主流,

  有了開源程式設計工具,在基於開源許可證的情況下,我們可以輕鬆學習、修改、提高程式碼的質量,,現在為你介紹11款最流行且有價值的開源程式設計工具。

  NO.1 Rhomobile Rhodes

  Ruby或許是Github上第二大流行語言了,如果你想利用它來開發iPhone或許不會為您帶來任何好處,因為當第一臺NeX推出時便註定了Objective-C開發平臺的命運。

  Rhomobile Rhodes是一個建立Ruby網站和開發iPhone app的開源平臺。只要你願意你還可以使用jQuery Mobile來處理佈局。就像類似建立一個Web應用,要知道現在使用者更願意用手指觸屏來替代滑鼠點選。

  NO.2 Git

  很多開發者仍然使用CVS和Subversion,但是有很多專案已遷移到Git上來了,而適用於為分散式團隊的中央儲存庫原始碼管理工具將不復存在。

  Git幾乎允許你複製每一個專案到中央儲存庫中,並且還為合併擴散提供先進的工具。利用SVN或者CVS,使用者必須重新將副本複製到中央儲存庫。Git更像個檔案系統,直接在本機上取得資料,不必連線到host端取資料回來。換句話說,Git更像明主,而CVS像是封建世界。

  NO.3 Gerrit

  Gerrit是一個基於Web的程式碼評審和專案管理的工具,面向基於Git版本控制系統的專案。為了與Git和Repo工作緊密聯絡,Gerrit允許程式碼驗證器為Git中央儲存庫傳送建議,為程式碼建立一個討論層。Gerrit在執行時需要用到資料庫(用於儲存程式碼審查的資訊)。目前支援的資料庫包括H2、PostgreSQL和MySQL。在過去,討論註釋在頭版區域,而現在Gerrit允許更加複雜化的討論,不會強迫未來的讀者在舊版本討論前才能獲取到程式碼。

  NO.4 Hadoop

  Hadoop是一個能夠對大量資料進行分散式處理的軟體框架。使用者可以在不瞭解分散式底層細節的情況下,開發分散式程式。充分利用叢集的威力高速運算和儲存。Hadoop提供一個簡單框架,類似situtations。Hadoop的擴充套件工具Mahout,它是一個可擴充套件的學習框架用以分析可能出現的大資料集(large data sets)。另一個Hive提供一個數據倉庫可以使用HiveQL進行並行搜尋查詢,處理大量的Web logs。

  NO.5 jQuery

  許多開發者在學習jQuery之前會嘗試去了解JavaScript,因為它更容易且有效的操作DOM。其成功的部分原因是由於其廣大團隊貢獻的外掛圖層。這些外掛可以輕易的將字串連線在一起建立一個演示。

  例如,jQuery Mobile專門生產可執行在小螢幕智慧手機上的應用程式。

  NO.6 Eclipse (and the Eclipse Marketplace)

  Eclipse是一個開放原始碼的、基於Java的可擴充套件開發平臺。就其本身而言,它只是一個框架和一組服務,用於通過外掛元件構建開發環境。幸運的是,Eclipse附帶了一個標準的外掛集,包括Java開發工具(Java Development Tools)。Eclipse是著名的跨平臺的自由整合開發環境(IDE),可作為PHP, Ruby, Python和C的開發工具。

  NO.7 Firebug

  程式設計師越來越注重使用瀏覽器的內建外掛,Firebug是Firefox瀏覽器中最好的外掛之一。

  比如:FirePython無須依賴瀏覽器,可以直接插入到伺服器上,你可以為瀏覽器編輯、除錯資訊。Firebug越來越普及,它能為所有主流瀏覽器提供圖片、指令碼程式碼等。

  NO.8 Preprocessors

  很多程式設計師喜歡X語言的分散式和可靠性,但卻無法忍受它的語法。CoffeeScript就像JavaScrip的編譯器,但它是一個完整的編譯器,CoffeeScript的建立者說“所有底部的這些braces和semicolons, 在其核心部分JavaScript總會有一個華麗的物件模組。

  CoffeeScript試圖用一種簡單的方式呈現出JS最好的一面,它使得編寫JS就像編寫Python一樣簡單、方便。

  NO.9 OpenVidia

  OpenVIDIA專案使用OpenGL、Cg和CUDA-C在擁有單GPU或多GPU的圖形硬體上實現了計算機視覺演算法。

  NO.10 NoSQL

  NoSQL近幾年來不斷升溫,讓越來越多的網站認識到它們的重要性。

  SimpleDB是Amason推出的基於key-value鍵值對的分散式資料儲存系統Cassandra是一個混合型的非關係的資料庫,類似於Google的BigTable。其主要功能比Dynomite(分散式的Key-Value存 儲系統)更豐富。

  Apache Cassandra是一套開源分散式Key-Value儲存系統。它最初由Facebook開發,用於儲存特別大的資料。Facebook目前在使用此係統。

  MongoDB是一個基於分散式檔案儲存的資料庫。由C++語言編寫。旨在為Web應用提供可擴充套件的高效能資料儲存解決方案。

  NO.11 Content management systems(內容管理系統)

  大多數程式設計師通過填寫文字檔案來編譯和執行程式碼。而這一形勢正在不斷改變,軟體執行時使用者可以通過多種方式對其進行控制。CMS具有許多基於模板的優秀設計,可以加快網站開發的速度和減少開發的成本。CMS的功能並不只限於文字處理,它也可以處理圖片、Flash動畫、聲像流、影象甚至電子郵件檔案。

相關問題答案