我正在寻找编写使用JavaScript的Web应用程序的最佳可能性。所以我想向您介绍我的想法,并就此问您的意见和替代方案,请:)
1年前,我开始寻找除PHP之外的Web开发的可能性。我找到了JSP和Django。我决定和Django一起去。在使用Django启动一些项目之后,让我得出结论,对我来说,Django不提供简单的Web开发的可能性。我不得不担心太多功能,特别是需要保持客户端和服务器代码的平衡。
所以我再次开始搜索,发现CouchDB为Ajax应用程序提供了一种很酷的后端。所以我的想法是使用CouchDB作为数据库服务器,它只提供数据验证和数据验证。存储并将其他所有内容保存到客户端。这显然不是一个新想法,但我还没有找到任何好的例子。 你知道吗?
我想拥有一个包含以下组件的架构:
对于这些要点,您对不同的软件有什么建议吗?
处理以下请求:
初始请求会向客户端发送JavaScript文件和基本HTML(仅<body>
和<head>
标记)。加载的JavaScript函数创建HTML代码并将其插入<body>
标记。从现在开始,网站上的整个导航仅请求通过Websocket提供并由客户端JavaScript处理的JSON。
优点:
缺点:
问题
请同时查看Answer 2
答案 0 :(得分:6)
您知道这种网络开发的任何可用解决方案吗?
看看couchapps。它是由couchedb背后的人写的。它基于jquery,但将它转换为与mootools一起使用并不难。还有一个很好的JavaScript模板引擎叫mustache。模板引擎可以在浏览器和couchdb两端工作。
以这种方式编写Web应用程序的youthink会不会发生错误?
没有。这就像大多数googles应用程序(邮件,文档,电子表格)一样工作,也有一堆框架像sproutcore或cappuccino一样工作。
web服务器:处理文件和 Web套接字或轮询(龙卷风或 Eventlet)
我认为couchdb也会处理这个问题
答案 1 :(得分:0)
尽管eskimoblood回答了大多数问题,但“我所说的”开发Web应用程序的方法仍存在一个大问题:模板语言
如上所述,有很多人使用Javascript在客户端工作。但在我看来,到目前为止我发现的所有模板语言都缺少一个很大的功能:更新功能
我并不是指在更新时重新渲染整个模板,但我希望看到一种模板语言,只更新我的变量。
想象一下,我正在阅读一个博客,其中包含25个JSON变量和一个用于渲染这些变量的大模板。突然,地球另一边某个勇敢的人提出了一个很酷的评论。现在有不同的可能性向当前读者呈现“实时更新”:
现在你可能会想,这对于一些Java脚本来说没问题。但我想要一种自动执行此操作的模板语言。一种模板语言,它知道其当前状态,并在标题更改时仅更新标题。或者从旧的teaserimage到新的teaserimage逐渐消失。
这样我们就可以节省大量的自定义更新脚本。在更改页面结构时不必担心动画,我们可以优化网络流量,因为只提供更新,而不是当前文档数据的已知部分。
答案 2 :(得分:0)
我一直在使用Trimpath Javascript Templates来完成过去几个大型项目,并对此非常满意。
我工作流程中的其他一些部分,现在我不能没有:
javasscript和CSS的构建过程。能够按照我的意愿组织我的js和css文件,将它们拆分成我想要的小块,然后将它们自动卷入一个大文件,这样太好了
LessCSS - 对普通CSS语法的改进。您使用LessCSS sytax编写样式表,它类似于css,但允许您使用变量,数学,混合,嵌套类等内容。 LessCSS引擎然后将其编译为常规CSS。