跳到主要內容

簡易檢索 / 詳目顯示

研究生: 劉寬
Kuan Liu
論文名稱: A Review of Existing Web Frameworks
指導教授: 孫敏德
Min-te Sun
口試委員:
學位類別: 碩士
Master
系所名稱: 資訊電機學院 - 資訊工程學系
Department of Computer Science & Information Engineering
論文出版年: 2014
畢業學年度: 102
語文別: 英文
論文頁數: 38
中文關鍵詞: 網路程式網路程式架構
外文關鍵詞: web framework, Django, Rails
相關次數: 點閱:18下載:0
分享至:
查詢本校圖書館目錄 查詢臺灣博碩士論文知識加值系統 勘誤回報
  • 在web1.0的時代中,只有少數的web使用者能建立網站並且貢獻內容,其餘大部分的使用者只能瀏覽靜態的網頁並沒有參與內容的貢獻。隨著科技的進步和使用者的需求網頁變得可以動態的產生內容,web 2.0 核心概念也慢慢的成形,講究網頁的互動及分享。為了實現互動及分享的訴求,網頁的設計變得相當的複雜,而網頁本身也變得難以維護及更新。為了解決開發的複雜和難以維護的問題,不少的web framework 被開發出來。他們可以幫助程式設計師快速的開發出功能齊全且便於維護的網站。在這篇論文中我們介紹了以下四個有名的 web framework .Net、 Spring、 Django 和 Ruby on Rails。我們探討了各個 web framework 的歷史、平台、開發工具、和架構的設計。最後我們還做了實際的測試來評估各個 web framework 的效能,並且提供量化的方法來評估各個 web framework 受歡迎的程度。本篇論文題供了一套評估的方法,能幫助網路程式設計師們選擇適合自己的 Web framework。


    In the old days when the Internet first emerged, only a small number of people contributed to the content of the web due to the uses of static web pages. With more advanced web technologies and user demands, we have witnessed the development of more dynamic web pages, which eventually evolves into the concept of the Web 2.0. Under this new concept, the web pages should interact with users and help share the information among them. Each web user is now both a consumer and a producer of web content. The web sites have become a collection of web applications. To help web programmers deal with complicated web application development and maintenance, a number of web frameworks are created. In this thesis, we review four famous web frameworks, including .Net, Spring, Django, and Ruby on Rails. The history, platform, development tools, architecture, pros and cons of each of these web frameworks are discussed in turn. In addition, we assess the performance and popularity of each web framework quantitatively by a number of metrics. This thesis serves as a quick guideline for web programmers to choose an appropriate web framework.

    1 Introduction 1 2 Introduction of Web and the HTTP Protocol 3 2.1 How the web works . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 3 Existing Well-Known Web Frameworks 7 3.1 .Net Framework . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 3.1.1 History of .Net Framework . . . . . . . . . . . . . . . . . . . . . . . 7 3.1.2 Platform and Development Tool of .Net Framework . . . . . . . . . 7 3.1.3 Design of .Net Framework . . . . . . . . . . . . . . . . . . . . . . . 8 3.1.4 Advantage of .Net Framework . . . . . . . . . . . . . . . . . . . . . 9 3.1.5 Disadvantage of .Net Framework . . . . . . . . . . . . . . . . . . . 9 3.2 Spring Framework . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 3.2.1 History of Spring Framework . . . . . . . . . . . . . . . . . . . . . 11 3.2.2 Platform and Development Tool of Spring Framework . . . . . . . . 11 3.2.3 Design of Spring Framework . . . . . . . . . . . . . . . . . . . . . . 12 3.2.4 Advantage of Spring Framework . . . . . . . . . . . . . . . . . . . . 14 3.2.5 Disadvantage of Spring Framework . . . . . . . . . . . . . . . . . . 14 3.3 Django Framework . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 3.3.1 History of Django Framework . . . . . . . . . . . . . . . . . . . . . 15 3.3.2 Platform and Development Tool of Django Framework . . . . . . . 15 3.3.3 Design of Django Framework . . . . . . . . . . . . . . . . . . . . . 15 3.3.4 Advantage of Django Framework . . . . . . . . . . . . . . . . . . . 17 3.3.5 Disadvantage of Django Framework . . . . . . . . . . . . . . . . . . 17 3.4 Ruby on Rails Framework . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 3.4.1 History of Ruby on Rails Framework . . . . . . . . . . . . . . . . . 18 3.4.2 Platform and Development Tool of Ruby on Rails Framework . . . 18 3.4.3 Design of Ruby on Rails Framework . . . . . . . . . . . . . . . . . . 18 3.4.4 Advantage of Ruby on Rails Framework . . . . . . . . . . . . . . . 20 3.4.5 Disadvantage of Ruby on Rails Framework . . . . . . . . . . . . . . 20 4 Evaluation of Web Frameworks 21 4.1 Evaluation Environment . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 4.2 Evaluation Factors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 4.3 Performance Evaluation and Analysis . . . . . . . . . . . . . . . . . . . . . 22 4.3.1 Request Testing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 4.3.2 Looping Test . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 4.3.3 Database Test . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 4.4 Resources and Popularity . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 4.4.1 Resources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 4.4.2 Trend of Popularity . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 4.5 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 5 Conclusions 27 Reference 28

    [1] Python Community. Python language https://www.python.org/.
    [2] Spring Community. Spring framework http://spring.io/.
    [3] Spring Community. Spring tool suite http://spring.io/tools/sts/all.
    [4] Rails core team. Ruby on rails http://rubyonrails.org/.
    [5] Oracle Corporation. Netbeans ide https://netbeans.org/.
    [6] Apache Software Foundation. Apachbench https://httpd.apache.org/.
    [7] Django Software Foundation. Django framework https://www.djangoproject.com.
    [8] Eclipse Foundation. Eclipse https://www.eclipse.org/.
    [9] Yukihiro "Matz" Matsumoto. Ruby language https://www.ruby-lang.org/.
    [10] Microsoft. .net framework http://www.microsoft.com/net.
    [11] Microsoft. Visual studio http://www.visualstudio.com/.
    [12] Xamarin and Mono Community. Monodevelop http://monodevelop.com/.

    QR CODE
    :::