and*_*nka 21 javascript architecture scala lift playframework
我发现自己有点难题.我正在构建一个新的,现代的,基于Web的应用程序,我不仅需要选择一种技术,我必须选择一种架构.我认为现在可以说这是一个艰难的选择,因为我们有比5年前更多的选择.
首先,我已经决定Scala将成为服务器端语言.我有我的理由,这不是Scala与XYZ的帖子 - 已经做出了选择.我也已经完成了这样一个事实,即我们在网络上,在云端,所以我甚至都不会试图摆脱Javascript.也许我会使用CoffeeScript,但我将编写浏览器托管的代码.
现在,假设Scala,大多数人可能会跳到Play!或提升.可能会玩!鉴于它得到了Typesafe的支持,但我认为我还有另一个需要首先回答的更重要的问题.什么是建筑?如果我想要一个非常富有的客户端,我真的需要的不仅仅是一个简单的无状态服务层,因为我们还有大量的Javascript吗?我不确定它会是一个单页的webapp,但像BlueEyes这样的东西可能是正确的选择吗?举起并玩!更重要的是他们承担更多的责任.他们生成HTML,对于这些框架,浏览器非常愚蠢.路由,验证,Ajax和Comet支持等都是服务器端的问题.由于浏览器今天功能更强大,因此通常通过从服务器生成和注入Javascript来实现丰富的交互式功能.
我的问题归结为这个.我是否选择传统的电梯/游戏!服务器承担客户端和服务器责任的框架,还是使用富客户端+ REST风格的服务层,客户端在应用程序中扮演更重要的角色?客户端处理路由,验证,绑定等的架构.我看到像KnockOut.js,Sammy.js,Sproutcore,Backbone.js这样的框架......我不打算将它们全部列出但只需要从客户端的角度来看,他们都采用了一些这些框架功能.
如果我选择Play!,我会放弃一些丰富的UI吗?那些我想为集成/混搭/移动目的提供服务API的情况呢?玩怎么玩!在这帮我?显然BlueEyes在这里发挥得很好.我想我无论如何都需要一个服务层.
如果我选择BlueEyes,我的客户端代码是什么样的?我需要有多少基于Javascript的框架才能满足我的需求?我仍然希望在我的服务层中使用大部分业务逻辑,但路由,绑定......所有UI内容都是客户关注的问题.
我不确定答案是对还是错,但我认为这个社区可能会指出我正确的方向.
我也把它发布到我的博客http://www.andyczerwonka.com/picking-a-web-technology-isnt-as-easy-as-it-u-45228
fmp*_*ard 18
如果你想要的只是后端的REST API,那么升,玩!或者Blueye工作得很好.但我只想指出使用Lift的优势.
好吧,我应该停在这里,但简而言之,Lift是一个很棒的框架,可以提供很多东西,你可以根据需要采取多少.
Play 2.0 Beta 包含一个正是您正在寻找的示例应用程序 (ZenContacts)。它的服务器端只是一堆宁静的接口,而它的客户端利用coffescript等来构建丰富的用户界面。