這個問題很難回答,Sinatra vs Flask的最主要差別,其實是Ruby和Python的差別。當然Flask要比Sinatra重一些,社區更完善,文檔更多,擴充性更強。Sinatra本身如果要應用在中型以上的項目,要自己做很多boilerplate,當然你也可以用基於Sinatra並且整合了許多東西的Padrino。
對於這種micro framework,他們絕大多數的設計哲學都很像,其中的差別主要是語言本質的差別。當然,要開發一個稍微有一點規模的東西,是需要引入大量的third party libraries的,尤其是ORM。Python的ORM主要是SQL Alchemy,而Ruby用的比較多的事ActiveRecord和DataMapper。
最後,我對“在國外的Web開發方便,Ruby的Rails/Sinatra基本上都佔據著主導的位置”並不認同。Ruby/Rails社區在Web方面很有創造力,有許多很不錯的idea,而Python社區則相對安靜。但是對於產出來說,Python並不比Ruby弱。Jeff Atwood寫過一篇文章,提到“Ruby is not cool anymore”,所以你看到Ruby社區似乎很“活躍”,其實是因為Ruby/Rails流行的比較晚,所以有許多空白要填補,也有許多新輪子由於語言特性而被造出來——Python很早已經過了這個時代。在過了“being cool”的時代過後,將會迎來“get shit done”的時代。這問題和 Python VS. Ruby 沒什麼不同。。。