Web開發(fā)人員應(yīng)當(dāng)知道的15個開源項目 |
發(fā)布時間: 2012/8/17 14:18:01 |
如今,構(gòu)建網(wǎng)站和開發(fā)Web應(yīng)用程序已經(jīng)不僅要求開發(fā)人員是一名優(yōu)秀的程序員,更需要聰明的程序員。這也就是說,在可能的情況下,重復(fù)使用已有的代 碼和應(yīng)用程序,而不是自己重頭開始。開源由來已久,并且很多網(wǎng)站的構(gòu)建也使用了開源。開發(fā)人員都知道Linux、Apache、MySQL及 PHP (LAMP)。
但是除那些之外的其他開源項目呢?作為一名Web開發(fā)人員,你可以借助諸多可用的項目,以節(jié)省開發(fā)時間,或提高程序性能。 下面讓我們看一下哪些開源項目可供大家免費使用。 可供使用的新型數(shù)據(jù)庫 傳統(tǒng)上講,你可能習(xí)慣使用MySQL。盡管MySQL是一個非常棒的數(shù)據(jù)庫,但諸多試圖解決MySQL存在的問題的新型數(shù)據(jù)庫已經(jīng)問世。 1. MongoDB MongoDB就是的“非關(guān)系型”數(shù)據(jù)庫之一。它擴展性強、性能高。 2. Apache Cassandra 與MongoDB相似,Apache Cassandra也是一種“非關(guān)系型”數(shù)據(jù)庫,它亦擴展性強、性能高。并且能夠很好地處理龐大而活躍的數(shù)據(jù)集。(編注:Facebook用 Cassandra來做郵箱搜索。) 更多 根據(jù)需要,你還有更多的選擇。請參閱維基百科的這個列表。 緩存數(shù)據(jù) 因為需要頻繁使用一些數(shù)據(jù),所以相比每次去數(shù)據(jù)庫中查詢,把這些數(shù)據(jù)存放在內(nèi)存中更加合理。這能夠大大提高Web應(yīng)用程序的運行速度。 3. Memcached Memcached是一種在內(nèi)存中緩存小型數(shù)據(jù)塊的簡單但強大的解決方法。(編注: Facebook運行著成千上萬的Memcached服務(wù)器,借以及時處理TB級的緩存數(shù)據(jù)。) 4. Redis Redis的作用與Memcached相同,但包含更多的特性。例如,它也可以存儲本應(yīng)當(dāng)永久性保存在磁盤上的數(shù)據(jù)。 加快網(wǎng)絡(luò)請求的速度 大多數(shù)網(wǎng)站使用Apache的網(wǎng)絡(luò)服務(wù)器來提供服務(wù)。它能夠很好地服務(wù)于大多數(shù)網(wǎng)站,但是一旦網(wǎng)站的訪問量增大,就需要做進一步優(yōu)化。 5. Nginx Nginx是一種與Apache非常相像的網(wǎng)絡(luò)服務(wù)器,但它的速度相當(dāng)快。作為負(fù)載平衡器,它常用于處理靜態(tài)內(nèi)容,如圖像文件。 6. Varnish Varnish是位于常規(guī)網(wǎng)絡(luò)服務(wù)器之前的高速緩存器。它將所有熱門內(nèi)容放入內(nèi)存,直接對其處理,無須將所有內(nèi)容都傳給網(wǎng)絡(luò)服務(wù)器。(編注: Facebook用Varnish 處理圖片和用戶照片,每天都要處理十億級的請求。) 輕松管理內(nèi)容 如果你在構(gòu)建一個允許用戶添加及編輯內(nèi)容的網(wǎng)站,那么你可能需要一個內(nèi)容管理系統(tǒng)(CMS)。CMS能夠幫助開發(fā)人員輕松地管理博客及網(wǎng)站,并且提 供大量的能夠擴展網(wǎng)站功能的插件。 7. WordPress 雖然WordPress是個博客平臺,但它也能用于管理大大小小的網(wǎng)站。 8. Drupal Drupal是一個可用于構(gòu)建強擴展性、高靈活性網(wǎng)站的完整平臺。 交互式的網(wǎng)絡(luò)UI 如今,你可以使用JavaScript和AJAX技術(shù),開發(fā)一個類似桌面應(yīng)用程序那樣的以多種方式運行的網(wǎng)絡(luò)應(yīng)用。使用JavaScript框架, 能夠輕松地開發(fā)大型的網(wǎng)絡(luò)應(yīng)用程序。 9. JQuery JQuery是一個帶插件的框架,這些插件有主構(gòu)建包含AJAX交互及動畫的動態(tài)網(wǎng)站。 10. MooTools MooTools就和jQuery一樣,是一個使用JavaScript構(gòu)建強大網(wǎng)絡(luò)應(yīng)用程序的框架。 更多 如果你想嘗試一下其他選擇,請參考維基百科的這個列表。 其他比較炫的資源 當(dāng)你開始開發(fā)一個復(fù)雜的網(wǎng)絡(luò)應(yīng)用程序時,很多軟件、庫及模型能夠幫你解決難題,如果不參考這些資源,你可能會花費大量的時間。以下是兩個入門的例 子。 11. Node.js Node.js是一個事件驅(qū)動的輸入/輸出框架,支持用JavaScript編寫應(yīng)用程序,并在V8 JavaScript引擎上運行。這是一種開發(fā)快速、可擴展網(wǎng)絡(luò)程序的很棒的方式。 12. RabbitMQ RabbitMQ是一種可靠的、可擴展的信息傳送系統(tǒng),它能夠處理高吞吐量。如果需要在系統(tǒng)之間或應(yīng)用程序之間交換數(shù)據(jù),比起傳統(tǒng)的解決方案或直接 將數(shù)據(jù)存儲在數(shù)據(jù)庫中,信息傳送系統(tǒng)的更能勝任這一工作。 使用框架來加快開發(fā)進程 不管你是使用PHP還是其他的編程語言,有很多不同的可用框架能夠幫助你加速開發(fā)進程,并能夠更加輕松地管理代碼。 13. Symfony Symfony是一個PHP框架,它包含很多能夠加速開發(fā)復(fù)雜網(wǎng)絡(luò)應(yīng)用程序的組件及工具。同時它包含社區(qū)提供的1000多個插件。 14. Ruby on Rails 對Ruby語言而言,Ruby on Rails是最流行的可用框架。 15. Django Django是一個Python網(wǎng)絡(luò)框架,它用來幫助快速開發(fā)高性能、優(yōu)秀的網(wǎng)絡(luò)應(yīng)用程序。 更多 維基百科上有一份更完整的列表,這個列表包含不同語言的可用網(wǎng)絡(luò)應(yīng)用框架。 后話 - 合理利用時間 開發(fā)人員有必要花費時間不斷了解哪些新軟件是可用的,這樣對輕松地解決復(fù)雜的任務(wù)大有裨益。 而且在項目開發(fā)之初,花費一些時間做計劃和調(diào)查也是非常有必要的,因為這樣可以明確即將面臨的問題,并確定其最佳解決方案。 本文出自:億恩科技【1tcdy.com】 服務(wù)器租用/服務(wù)器托管中國五強!虛擬主機域名注冊頂級提供商!15年品質(zhì)保障!--億恩科技[ENKJ.COM] |