2011-07-21 49 views
13

Ruby Sinatra和PerlDancer被稱爲「微型web框架」?
什麼意思是一個微觀框架?什麼意思是一個微觀框架?

微型網絡框架適用於大型項目(比如說Stackoverflow,電子購物,房地產管理還是...)?
微網站框架的最佳用例是什麼?

+1

我其實並不知道,但它聽起來很像一個模糊的營銷術語,而不是其他任何東西。我敢打賭,在一個巨大的「微觀框架」和一個小規模的框架之間劃一條線是不可能的。 –

回答

9

「微框架」還沒有一個完美的字典定義,但是python微框架,Flask在這裏有一個不錯的解釋:what does micro mean

至於這是否適合複雜的網站,經驗會引導你。隨着項目複雜性的增長,您可能會發現您超出了微觀框架,並且可能更喜歡在大型項目中促進更好的代碼組織。但是,如果這是一個側面項目,不要讓擔心長大的擔憂阻止你從一個你感覺舒適的微型框架開始。

1

我是Sinatra的忠實粉絲,曾在幾個小型項目中使用過它。如果項目中沒有很多路線或資源,這是一個很好的解決方案。這裏還有很多插件和幫助器,它們將有助於「cookie-cutter」代碼並減少工作量(並使代碼庫更小)。

請記住,您沒有像遷移或模型開箱即用的東西。這些功能可以輕鬆引入到您的項目中,但您可能會發現自己在很多情況下重新發明了輪子。

在我寫這篇文章時,我實際上將一個基於Sinatra的項目移植到了Rails 3.1中。這個項目雖然開始時間很短,但隨着時間的推移我逐漸添加了功能,但慢慢地變得難以管理。

8

一個微觀的定義:對我而言,一個微框架對你來說更少,並且爲你編寫和組織代碼留下了更多的自由。

使用Rails時,幾乎所有的都有使用關係數據庫,並使用它構建的傳統命名和目錄結構。它還包括更多的功能,開箱即用。另一方面,Sinatra可讓您擁有所需的靈活性並挑選您的功能。例如,我使用Sinatra創建了CouchDB支持的網站/服務,而在Rails中這樣做會複雜得多。

+0

Rails很容易與非關係數據庫一起使用,因爲它非常容易插入。你的整體觀點 - 像Rails這樣的東西比起微觀框架來說是複雜的和自以爲是的 - 是足夠合理的,但是這些錯誤信息有損於它。 – 2011-07-26 06:05:30

+0

從經驗來講,但那是幾年前...情況可能改變:) –

1

那麼這個問題沒有一個真正的答案。我已經出現了很多,並且自己開發了一些框架,所以我想說的是,一個微框架大部分是一個路由庫,再加上一個安全庫和一些語法糖和存根,以便稍後擴展它上。最近,微框架已經被用於更大的基礎,如Silex和Symfony,所以你不能再