基于Ruby on Rails實現的相冊系統 Gullery

fmms 13年前發布 | 16K 次閱讀 Ruby on Rails

Gullery是一個基于 Ruby on Rails開發的簡單照片管理軟件,適合于個人使用和 Ruby on Rails框架學習用。
項目地址: http://nubyonrails.com/pages/gullery

gullery.png

Ruby on Rails是一種結合Ruby語言與Rails平臺的一種網頁編程語言,Ruby語言以自然、簡潔、快速著稱,全面支持面向對象程序設計,而Rails則是Ruby廣泛應用方式之一,在Rails平臺上設計出一套獨特的MVC開發架構,采取模型(Model)、視圖(View)、控制器(Controller)分離的開發方式,不但減少了開發中的問題,更簡化了許多繁復的動作。

主要特點

當然了,所有的 web 框架都有同樣的目標。是什么使得 Rails 如此不同呢?我們可以通過幾個途徑來回答這個問題。 第一是看架構。在過去的時間里,許多開發者在嚴謹的 web 應用程序上使用 MVC 架構。他們發現 MVC 架構可以使他們的程序變得更清晰在 java 中像 Tapestry 和 Struts 這些框架都是基于 MVC 。 Rails 也是一個 MVC 框架。當你使用 Rails進行開發,應用程序的所有代碼以一種標準方式互相作用。在開始開發之前,整個應用程序的骨架已經搭好的。 回答這個問題的第二個是看編程語言。 Rails 程序是使用 Ruby 編寫的,它是一門現代,面向對象的腳本語言。 Ruby 簡潔,不難理解。它可以讓你快速地用代碼自然 , 清晰表達想法。讓你的程序能很簡單被編寫并且在幾個月后還能很容易讀懂。 Ruby on Rails是一個 Web 應用程序框架,是一個相對較新的 Web 應用程序框架,構建在 Ruby 語言之上。它被宣傳為現有企業框架的一個替代,而它的目標,簡而言之,就是讓生活,至少是 Web 開發方面的生活,變得更輕松。 J2EE是一種利用Java 2平臺來簡化企業解決方案的開發、部署和管理相關的復雜問題的體系結構。J2EE技術的基礎就是核心Java平臺或Java 2平臺的標準版,J2EE體系結構提供中間層集成框架用來滿足無需太多費用而又需要高可用性能高可靠性以及可擴展性的應用的需求。 Java 2平臺有3個版本,它們是適用于小型設備和智能卡的Java 2平臺Micro版(Java 2 Platform Micro Edition,J2ME)、適用于桌面系統的Java 2平臺標準版(Java 2 Platform Standard Edition,J2SE)、適用于創建服務器應用程序和服務的Java 2平臺企業版(Java 2 Platform Enterprise Edition,J2EE)。 Ruby on Rails和 J2EE 堆棧的比較 可以看到,Rails 堆棧和構成普通的基于 J2EE 的 Web 應用程序的組件之間的基本區別很小。兩者都有用來執行應用程序代碼的容器;都有幫助分離應用程序的模型、視圖和控件的 MVC 框架;以及持久存儲數據的機制。

習慣約定優于配置

這個思想貫穿了 Rails 設計的始終。舉個例子,通常我們寫java web 應用程序,都會按照 MVC 來給對應類做區分,我個人喜歡將 Controller 類放在 web 目錄中,將 View 類放在 view 目錄中,將 model 類放在 domain 目錄中。但是不同的人有不同的設置,不同的命名,如何讓框架知道這些不同的目錄呢, java 框架的解決之道,只能是通過 xml 配置文件讓它了解這些信息。而 rails 的解決方式就是: 目錄結構我來定義,你只要在我定義好的目錄中放東西就可以了。這也就是為什么 rails 中很少有配置文件(但不是沒有)的一個重要原因。雖然思想很簡單,但是它帶來的好處就是,Rails 的開發效率是 java 開發的 10 倍(這是 rails 的 fans 宣稱的,不過我相信這點,相信看完這篇文章你也一定會的)。那么光這點就能讓 rails 開發比采用 java 更快了嗎?不完全是這樣,因為這還得益于 rails 的另外一個設計理念:更少的代碼。并不是任何語言都能那么宣稱的,rails 實現這點完全得益于它的設計語言 Ruby 。使用 Ruby 你的確能用很少的語言寫很多的功能,這是其他語言所無法實現的。想要掌握Rails,你一定要了解 Ruby。曾經有人說:Zope (著名的 python web 框架)是 python 的 killer 級應用,python 是 zope 的秘密武器。

生成器

ruby on rails使用的實時映射技術和元編程技術,免去了開發人員在開發過程中編寫大量樣板文件代碼的煩惱。在少數需要使用樣板文件代碼的時候,開發人員可以通過ruby onrails內建的生成器腳本實時創建,而不再是通過手工編寫。rails的這個特點可以使開發人員更專注于系統的邏輯結構,而不必為一些瑣碎的細節所煩擾。

 本文由用戶 fmms 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!