一些著名的開源項目

0ad  3D遊戲
ACE  網絡框架
CEGUI 界面庫
boost C++庫
cocos2d 遊戲庫
delta3d 遊戲引擎
OGRE    渲染引擎
facebook-hiphop php引擎
d2x-xl  遊戲
hadoop   分佈式文件系統
mangos   wow 模擬server
opencv   圖形庫
tbb      併發庫
three。js js3d渲染引擎
v8       js引擎
monkeySpider js引擎
node     js server端
wxwidget  c++界面庫
qt        c++界面庫

sgs       client + server的解決方案



------------------------------------------------------------------------------------------------------------------------------------------------------------------

一篇文章總結了一些Google比較著名的開源項目(該文全文已附在本文最後),本文在那篇文章基礎上又添加了幾個開源項目。

googletest

一個很著名的C++單元測試框架,簡稱gtest,有豐富的文檔可以參考。另外一些比較著名的C++測試框架有CppUnitCxxTestboost::test

googlemock

另外一個C++單元測試框架,在寫單元測試用例,經常需要編寫模擬對象來模擬測試單元的“上游”和“下游”程序邏輯和環境,googlemock就是用來mock這種對象的。據說google內部超過100個項目在使用它,可以和googletest一起使用

google-url

解析URL的一個類庫

google-coredumper 

該庫支持在程序運行的時候隨時生成coredump文件,而不同停止程序。

gwt-google-apis

提供了一系列google API

closure-compiler

是一個優化和編譯javascript的工具,常用來分析和解析javascript,被google search, google doc,gmail等項目廣泛使用。

closure-templates

一個模板工具。可以自己定義模板,並使用javascript或者java語言輔助生成HTML和UI元素,從而將程序邏輯層和展示層分開。被用於gmail和google doc等項目。

---------------------------------------------------------轉載全文--------------------------------------------------------

Google是支持開源運動的最大公司之一,它們現在總共發佈有超過500個的開源項目(大部分都是利用它們的API來完成),本文將列舉一些有趣的開源項目,其中很可能有不少你不知道的哦。

文本文件處理:

Google CRUSH (Custom Reporting Utilities for SHell)

CRUSH是爲命令行或shell scripts處理特定文字數據而製作的一系列工具,這裏有指南

C++庫和源代碼:

Google Breakpad

一個開源的多平臺崩潰報告系統。

Google GFlags

Gflags是一個命令行標記的處理庫,它可以替代“getopt()”,其內置對C++的支持比如string。指南在此

Google Glog

Glog庫可執行應用級的日誌,提供基於C++式的日誌API,可用於Linux、BSD和Windows。指南見此

Google PerfTools

這個工具可讓開發創建更強大的應用程序,特別是那些用C++模版開發的多線程應用程序,包括TCMalloc, heap-checker, heap-profiler 和cpu-profiler。指南見此還有這裏

Google Sparse Hash

非常節省內存的hash-map。指南見此

Omaha - Google Update

Omaha,也就是Google Update,它可以保證你的軟件隨時升級到最新版本,目前很多Windows下的Google軟件都是用Omaha升級的,包括Google Chrome和Google Earth,當然你也可以用於自己的應用程序。指南看這裏還有這裏

Protocol Buffers

Protocol Buffers是一種可擴展編碼序列數據的方式,Google在幾乎所有內部RPC協議和文件格式都使用了Protocol Buffers。指南見此它可以用於很多語言而且被一些IDE所支持,比如NetBeans

互聯網:

Google Code Pretiffy

這是一個Javascript模塊和CSS文件,它可以讓HTML頁面裏的部分源碼高亮顯示,支持C/C++, Java, Python, Ruby, PHP, VisualBasic, AWK, Bash, SQL, HTML, XML, CSS, JavaScript, Makefiles和部分Perl,不支持Smalltalk和所有的CAML。例子見此

SpriteMe - easy "CSS spirtes"

SpriteMe使你可以更輕鬆的創造CSS Sprites(俗稱雪碧……)就是把網站要用到的圖片都堆在一張圖片裏,用CSS控制調用哪個區域。它有一個自己的官網在這裏

Redacisaurus

Reducisaurus是一個壓縮CSS和JS文件的網絡服務,基於YUI壓縮算法,運行於App Engine。

JaikuEngine

JaikuEngine是一個運行於App Engine的微博系統,由jaiku.com運營。要查看移動客戶端的源碼可以看這裏這裏還有介紹

Selector Shell

Selector Shell是一個基於瀏覽器的測試工具,它可以讓你看到CSS在不同瀏覽器裏的樣式,用Javascript寫的,你可以在這裏測試

Google Feed Server

Google Feed Server是一個開源Atom發佈協議服務,基於Apache Abdera框架,允許開發者快速爲當前數據源(比如數據庫)配置feed。指南見這裏這裏

Melange, the Spice of Creation

這個項目的目標是創建出一個適合開源貢獻流程的框架,比如Google Summer of Code TM (GSoC)項目。使用這個框架你就可以用Google App Engine來運行Google Summer of Code項目,和其它類似項目比如Google Highly Open Participation TM Contest和GHOP。指南見此

NameBench

它可以查找最快的DNS服務器給你的電腦用,在Mac OS X、Windows和UNIX系統下都有命令行也有用戶界面可以幫你測試,這是Google工程師用20%自由時間寫出來的。

Rat Proxy

一個半自動化的大型被動網絡應用安全審查工具,專爲精確的探測而優化,文檔在此

TopDraw

Top Draw是一個圖形生成程序,使用簡單的文字腳本,基於JavaScript編程語言,Top Draw可以創造出非常複雜和有趣的圖形。支持Mac OS 10.5以上系統,使用XCode開發。

etherpad

開源的EtherPad,這是一個基於網絡的實時合作文檔編輯器,這個項目主要是爲了演示代碼而開發,幫助那些想在自己服務器部署Etherpad的人使用,這裏有如何安裝的指南。EtherPad使用JavaScript、Java和Comet服務器來建造實時協作服務。

Chromium

Chromium是開源版的Chrome瀏覽器,Chromium的目標是建立一個新一代的強大網絡應用程序,它與Chrome有很多不同之處。這裏有指導如何在Linux上編譯Chromium

V8 Google's open source JavaScript engine

V8是Google的開源JavaScript引擎,用C++寫成,用於Chrome瀏覽器之上。V8使用ECMAScript的ECMA-262第三版可運行於Windows XP、Vista、Mac OS 10.5和使用IA-32或ARM處理器的Linux。V8可獨立運行也可嵌入到任何C++程序裏使用,這裏有指南

Chromium OS

Chromium OS是開源版的Chrome OS操作系統,提供快速、簡單而安全的網絡體驗,源碼在此

Android

Android是第一個免費、開源而且可完全自定義的移動平臺,提供完整的堆棧:一個操作系統、中間件和重要的一用應用,它包含豐富的API可以讓第三方開發者開發出強大的應用程序。

MySQL工具:

Google MySQL Tools

各種管理、維護和改進MySQL數據庫性能的工具,由Google編寫,包括:

  • mypgrep.py:一個類似pgrep的工具來管理MySQL連接
  • compact_innodb.py:可導出和重載所有表格的密集型innodb數據文件

Google mMAIM

mMAIM的目標是對MySQL的監控和分析更簡單,且可以和任何環境整合使用。它可顯示主/從同步狀態,一些性能狀態,可以返回大量“show”命令的狀態等等。

其它:

Stressful Application Test (stressapptest)

Stressful Application Test試圖讓來自處理器和I/O到內存的數據儘量隨機化,以創造出模擬現實的環境來測試現在的硬件設備是否穩定,Google就在使用它,現在是Apache 2.0許可,這裏有介紹安裝嚮導指南

Pop and IMAP Troubleshooter

它用於診斷並解決客戶端到郵件服務器的連接問題。

OpenDuckBill

Openduckbill是一個Linux下簡單的命令行備份工具,可用於監視文件/目錄在有變化後是否標記爲備份,並傳輸這些變化到本地備份目錄、遠程NFS導出分卷或是用rsync命令導出到遠程SSH服務器。見安裝嚮導

ZXing

ZXing(發音類似Zebra crossing)是Java的開源多格式1D/2D條碼圖像處理庫,目的是使用內置在手機上的攝像頭拍照並對條碼進行解碼,而不必與服務器通訊,它被用於Android系統。這裏有嚮導支持的設備列表

Tesseract OCR Engine

Tesseract OCR引擎是1995年UNLV Accuracy測試的前三名之一,在1995和2006年之間它的進展不大,但依然是當前精度最高的OCR引擎。這個源碼可讀取二進制、灰階或彩色圖片並輸出文字,內置一個TIFF閱讀器可讀取非壓縮的TIFF文件,增加libtiff後也可讀取壓縮圖片。指南問答

Neatx - Open Source NX server

Neatx是一個開源NX服務,類似NoMachine公司商業的NX服務。NX協議比VNX更強大,它們的區別主要在:

  • NX是X11客戶端所以不會發送位圖
  • NX可兼容X、VNC和Windows版的Remote Desktop
  • NX可緩存數據
  • NX安裝簡單

另外一個可選的項目可以看看Google的FreeNx

PSVM

它是這個文件的代碼,這是一個SVM的“支持所有核心”的版本,可多機並行運行,實例見此

GO

Google開發的新編程語言,谷奧有報道

The Google Collections Library for Java

這是一系列與Java 5以及更高版本有關的庫,Google花錢給買過來了。

Google styleguide

每個主流的開源項目都有它自己的嚮導形式,比如一系列的演示代碼。如果這些代碼都按照“Style”的形式來演示,會更友好。

 


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章