Rails 優缺點比較
又是一篇比較文
Ruby on Rails, and Ruby as a Language
優點
Ruby on Rails, and Ruby as a Language
優點
- MVC framework幫助 Ruby 使用者區分 presentation 還有 business logic
- Unit tests 直接 Build in
- DRY(Don’t repeat yourself) 原則讓開發較為容易
- 快速敏捷,而且不需要compile time的開發
- Convention over configuration 還有 meta-programming 讓 XML Configuration 絕跡,而這些都是 JAVA Platform 像是 Stuts 所必須的工作
- Active Record orm( Object Relational Mapper )不需要configuaration(如果不算 connection 的 config)
- 完整的Ajax Support( Prototype and Scriptaculous )
- Built in XML Web Services
- Ruby 實在是太簡單了,每個東西都是 Object ,而且code簡單好讀read.
- Easy model validations
- 當你 database schema 確定了,開發程式會速度非常快
- Session 資料會以存在硬碟或是資料庫的方式處理,所以 Session 資料將很容易被很多台 Server 存取
- Ruby是dynamically typed 語言,這讓開發變得很容易。
- Ruby 是 Open Class ,所以你可以在 Run Time 很容易加入任何新的Methods。這讓Active Record 可以動態的在Run Time產生每個 Database Entry。也因此,Ruby on Rails不需要更新 Database mapping Schema。
- Ruby 支援 Closures ,這讓 Ruby 可以使用較少的code就達成許多 JAVA 很辛苦才能達成的事情。
- Ruby on Rails將開發者良好的觀念帶入框架之中,他保護開發者免於一些很平常的錯誤。而這個架構也對於新的架構提供最好的實做方式。
- Mongrel Web Server 給予 Rails 開發者專屬於自己的Container,並且速度很快。
- Ruby 其實在 1993年就開始開發了。所以他不僅限於Web 開發,他有很多方面的應用。
- 對於已經存在的 Database Schema 要支援是比較弱的。雖然你總是可以在 Model 加入一些 mapping 來改進,但是你在同時也會失去一點點 ActiveRecord的便利性。最重要的是,他們沒有想過要改進現存database schema 的支援度。
- API 文件相當嚴重的缺乏。
- 如果你無法依照他給你的指示方式去做,那你就必須自己手動去寫。
- 如果當你不依照 Rails 的指定的方式去做,Scaffold 的 generator 產生的東西就沒太多意義。
- 要讓程式擁有很高的 Scale 是很花記憶體的,雖然現在 memory 很便宜。
- 沒有 build in 國際化的支援。
- SQL Server 的支援較弱(PHP也是如此的情況)
- Rails 開發時間較為年輕(跟PHP或是JAVA相比),所以他的開發者較少,不過最近成長數量相當驚人
- IDE數量不足,Textmate是最好的,但是他是 MAC only 的。
沒有留言:
張貼留言