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

 

  如今,構建網站和開發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開發人員,在上述這些開源項目中,你用到了哪些?歡迎你在評論中分享你的使用經驗和心得。

發佈了27 篇原創文章 · 獲贊 0 · 訪問量 4萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章