2012-04-08 80 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是多线程的,并且更麻烦一些。