新的Web应用程序技术

时间:2013-05-16 09:05:16

标签: web-services rest javascript-framework

我们即将开始一个新项目,我一直在研究一些新的网络技术。我们想要构建一个客户端可以访问的RESTful API。到目前为止,我们一直在使用带有django / flask的python构建api并使用jquery作为前端。

我已经阅读了很多关于javascript框架的内容,比如emberjs和angular,以及像express,meteor和derby这样的nodejs解决方案。我非常喜欢当模型发生变化时网站应该“自动更新”的想法。我知道有一些类似gevent的库可以帮助促进套接字级别的通信,但它似乎更像是一个补丁而不是一个优雅的解决方案

理想情况下,我不想放弃经过验证的技术,即在python(或php,ruby等)中编写服务器代码,以便在nodejs上构建我的整个应用程序。拥有RESTful API很重要,因为我们希望我们的服务是开放的和可访问的。

拥有2台服务器和1台客户端是不是一个坏主意? 1个传统的api服务器与客户端上的javascript框架进行通信。然后还在api服务器旁边运行一个nodejs服务器,它可以以某种方式与api通信,如果找到更新,则将其传递给客户端。

1 个答案:

答案 0 :(得分:1)

  

我们希望构建一个客户端可以访问的RESTful api。

     

理想情况下,我不想放弃经过验证的技术,即在python(或php,ruby等)中编写服务器代码,以便在nodejs上构建我的整个应用程序。

然后你应该选择Rails和Ember.js。我引用eviltrout(discourse的联合创始人),它建立在ember和rails之上:

  

富客户端应用程序的一个惊人的副作用是你最终得到一个经过测试的API。我们的应用程序从第一天开始就使用了我们自己的API,所以我们知道它有效。

     

如果我们想为Android或iOS创建本机客户端,那将会更容易,因为我们已经流畅地说JSON了。如果人们想要构建使用Discourse的服务,则不必导致屏幕抓取。对我们和使用我们平台的开发人员来说,这是一个巨大的胜利。 1

但是你应该记住,迄今为止的ember 仍然是一个非常年轻的框架(rc3 v1.0.0)。

我不知道您正在构建什么类型的应用程序(关于您为什么要使用节点)How to decide when to use Node.js?