Web開發人員應當知道的15個開源專案

發表於2011-02-24

如今,構建網站和開發Web應用程式已經不僅要求開發人員是一名優秀的程式設計師,更需要聰明的程式設計師。這也就是說,在可能的情況下,重複使用已有的程式碼和應用程式,而不是自己重頭開始。

開源由來已久,並且很多網站的構建也使用了開源。開發人員都知道Linux、Apache、MySQL及 PHP (LAMP)。

但是除那些之外的其他開源專案呢?作為一名Web開發人員,你可以藉助諸多可用的專案,以節省開發時間,或提高程式效能。

下面讓我們看一下哪些開源專案可供大家免費使用。

可供使用的新型資料庫

傳統上講,你可能習慣使用MySQL。儘管MySQL是一個非常棒的資料庫,但諸多試圖解決MySQL存在的問題的新型資料庫已經問世。

1. MongoDB

MongoDB就是的“非關係型”資料庫之一。它擴充套件性強、效能高。

2. Apache Cassandra

與MongoDB相似,Apache Cassandra也是一種“非關係型”資料庫,它亦擴充套件性強、效能高。並且能夠很好地處理龐大而活躍的資料集。(編注:Facebook用Cassandra來做郵箱搜尋。)

更多

根據需要,你還有更多的選擇。請參閱維基百科的這個列表

快取資料

因為需要頻繁使用一些資料,所以相比每次去資料庫中查詢,把這些資料存放在記憶體中更加合理。這能夠大大提高Web應用程式的執行速度。

3. Memcached

Memcached是一種在記憶體中快取小型資料塊的簡單但強大的解決方法。(編注: Facebook執行著成千上萬的Memcached伺服器,藉以及時處理TB級的快取資料。)

4. Redis

Redis的作用與Memcached相同,但包含更多的特性。例如,它也可以儲存本應當永久性儲存在磁碟上的資料。

加快網路請求的速度

大多數網站使用Apache的網路伺服器來提供服務。它能夠很好地服務於大多數網站,但是一旦網站的訪問量增大,就需要做進一步優化。

5. Nginx

Nginx是一種與Apache非常相像的網路伺服器,但它的速度相當快。作為負載平衡器,它常用於處理靜態內容,如影像檔案。

6. Varnish

Varnish是位於常規網路伺服器之前的快取記憶體器。它將所有熱門內容放入記憶體,直接對其處理,無須將所有內容都傳給網路伺服器。(編注: Facebook用Varnish 處理圖片和使用者照片,每天都要處理十億級的請求。Facebook所用到的其他開源專案,請參閱《揭祕Facebook背後的那些軟體》一文。)

輕鬆管理內容

如果你在構建一個允許使用者新增及編輯內容的網站,那麼你可能需要一個內容管理系統(CMS)。CMS能夠幫助開發人員輕鬆地管理部落格及網站,並且提供大量的能夠擴充套件網站功能的外掛。

7. WordPress

雖然WordPress是個部落格平臺,但它也能用於管理大大小小的網站。

8. Drupal

Drupal是一個可用於構建強擴充套件性、高靈活性網站的完整平臺。

更多

還有很多可用的內容管理系統。請參閱維基百科的這個大型列表

互動式的網路UI

如今,你可以使用JavaScript和AJAX技術,開發一個類似桌面應用程式那樣的以多種方式執行的網路應用。使用JavaScript框架,能夠輕鬆地開發大型的網路應用程式。

9. JQuery

JQuery是一個帶外掛的框架,這些外掛有主構建包含AJAX互動及動畫的動態網站。

10. MooTools

MooTools就和jQuery一樣,是一個使用JavaScript構建強大網路應用程式的框架。

更多

如果你想嘗試一下其他選擇,請參考維基百科的這個列表

其他比較炫的資源

當你開始開發一個複雜的網路應用程式時,很多軟體、庫及模型能夠幫你解決難題,如果不參考這些資源,你可能會花費大量的時間。以下是兩個入門的例子。

11. Node.js

Node.js是一個事件驅動的輸入/輸出框架,支援用JavaScript編寫應用程式,並在V8 JavaScript引擎上執行。這是一種開發快速、可擴充套件網路程式的很棒的方式。

12. RabbitMQ

RabbitMQ是一種可靠的、可擴充套件的資訊傳送系統,它能夠處理高吞吐量。如果需要在系統之間或應用程式之間交換資料,比起傳統的解決方案或直接將資料儲存在資料庫中,資訊傳送系統的更能勝任這一工作。

使用框架來加速開發程式

不管你是使用PHP還是其他的程式語言,有很多不同的可用框架能夠幫助你加速開發程式,並能夠更加輕鬆地管理程式碼。

13. Symfony

Symfony是一個PHP框架,它包含很多能夠加速開發複雜網路應用程式的元件及工具。同時它包含社群提供的1000多個外掛。

14. Ruby on Rails

對Ruby語言而言,Ruby on Rails是最流行的可用框架。

15. Django

Django是一個Python網路框架,它用來幫助快速開發高效能、優秀的網路應用程式。

更多

維基百科上有一份更完整的列表,這個列表包含不同語言的可用網路應用框架。

後話 – 合理利用時間

開發人員有必要花費時間不斷了解哪些新軟體是可用的,這樣對輕鬆地解決複雜的任務大有裨益。

而且在專案開發之初,花費一些時間做計劃和調查也是非常有必要的,因為這樣可以明確即將面臨的問題,並確定其最佳解決方案。

自己程式設計來解決每個問題的時代已經結束,如今更多的是靈活使用現有技術來解決問題。

不知正在看本文的Web開發人員,在上述這些開源專案中,你用到了哪些?歡迎你在評論中分享你的使用經驗和心得。

 

原文出處:Pingdom  編譯:伯樂線上 敏捷翻譯組 – 牛冬梅

如需轉載,但請註明原文/譯文出處、譯文超連結和譯者等資訊,否則視為侵權,謝謝合作!

相關文章