2012-04-08 81 views
0

也許你們可以幫助我我在這裏有一個小問題:哪個網絡框架適用於小型網絡應用程序

我有嵌入式設備連接到互聯網。他們永久將數據記錄到文件中。這些文件被髮送到我的網絡服務器。 他們有大約10K行,每行看起來像:(timestamp; data)。該數據塊包含8字節等於64 ON/OFF值..

現在我想創建一個web應用程序,可以讓我:

-Administrate /控制嵌入式設備(開放SSH連接,併發送命令)

-Visualize時間軸上(我想可視化這些值,例如通過時間戳分組綠/紅色LED在那裏我可以滾動,加速)

所以從我的POV技術要求的日誌文件:

  • 用戶認證
  • JavaScript集成可視化日誌文件
  • ORM映射器

我喜歡Python作爲編程語言中的業務邏輯,但我不害怕嘗試新的東西。

而現在我問我的問題是: 我應該使用什麼框架?

我的意思是我已經看過了django和web2py,但我認爲這些框架對於這個小項目來說很重要。

+1

這是一個你自己的味道的問題,我會看看Ruby on Rails ...因爲我更喜歡它。 )在燒瓶 – Mark 2012-04-08 22:51:58

回答

4

對於Python中的小型webapps,我通常使用Flask。因爲你似乎在做原始數據處理,所以我不會使用ORM,而只是使用SQLAlchemy直接查詢值(儘管SQLAlchemy如果堅持使用一個ORM,也會附帶一個ORM)

+0

+1。精心設計,響應社會,很好地證明。 – tkone 2012-04-08 22:55:28

+0

瓶是偉大的,這取決於您的數據庫喜歡因此,您可能也有興趣查看MongoDB的數據庫,非常適合使用日誌樣式數據。 – Acorn 2012-04-08 23:18:01

+0

MongoDB最適合非結構化數據,如任意日誌消息字符串。由於他具有明確定義的日誌消息類型(基本上是按鍵 - >鍵值對),這正是傳統RDMS所優化的。 – mensi 2012-04-08 23:22:29

0

Sinatra關於Ruby可能是你正在找。

在持久層上,我會使用MongoDB。這是quick start

就安全性而言,有很多選項,這裏是sinatra security

OAuth也是一個不錯的選擇,所以這裏有一個鏈接使用Gmail's auth與一些草莓霜。

+0

我會建議對MongoDB的,因爲對時間戳+一個明確和固定值類型是什麼關係數據庫管理系統處理非常好... – mensi 2012-04-08 23:07:20

+0

@mensi爲什麼?爲什麼RDMS最適合這個? – Raynos 2012-04-08 23:27:21

+1

@Raynos,因爲它正是:固定模式的關係數據。這是關係數據庫的工作描述。如果您擔心事務性語義的開銷,您可以隨MyISAM或類似的東西一起使用MySQL。 MongoDB是一個文檔/對象數據庫,意思是無類型的通用數據庫。 – mensi 2012-04-08 23:30:10

0

我對使用http://webpy.org/的小應用程序有很好的體驗。與框架本身相比,它更像是一種反框架。極簡主義的網頁開發方法。

這裏是最它定義了我的話:

「的Django讓你寫在Django TurboGears的Web應用程序,您可以編寫網絡應用程序中的TurboGears Web.py讓你用Python語言編寫Web應用程序。「 亞當 - 阿特拉斯

而作爲@mensi說,我將使用SQLAlchemy的ORM映射器

0

我建議bottle.py超級簡單不過,是單線程外的開箱。 ,這意味着多個用戶不被很好的支持。Cherrypy是多線程的,並且更麻煩一些。