成人午夜激情影院,小视频免费在线观看,国产精品夜夜嗨,欧美日韩精品一区二区在线播放

Web開發人員應當知道的15個開源項目

2011-02-25 10:08:47來源:作者:

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

開源由來已久,并且很多網站的

如今,構建網站和開發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 編譯:伯樂在線 敏捷翻譯

贊助商鏈接:

主站蜘蛛池模板: 东方市| 含山县| 新化县| 丁青县| 廊坊市| 雷州市| 永德县| 绍兴县| 星子县| 微博| 四平市| 页游| 南木林县| 古蔺县| 闽清县| 文成县| 盐边县| 斗六市| 获嘉县| 宣武区| 阜新市| 乐平市| 延津县| 武夷山市| 洮南市| 诸暨市| 弋阳县| 府谷县| 大渡口区| 汝州市| 阜宁县| 泽库县| 兴安县| 康保县| 新龙县| 晋宁县| 师宗县| 五峰| 衡水市| 准格尔旗| 常德市|