Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/439.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript web开发的新方法:工具和组件建议请求_Javascript_Templates_Html_Mootools_Couchdb - Fatal编程技术网

Javascript web开发的新方法:工具和组件建议请求

Javascript web开发的新方法:工具和组件建议请求,javascript,templates,html,mootools,couchdb,Javascript,Templates,Html,Mootools,Couchdb,我正在寻找编写大量使用JavaScript的web应用程序的最佳可能性。因此,我想向您介绍我的想法,并征求您对此的意见和备选方案,请:) 1年前,我开始寻找除了PHP之外的web开发的可能性。我找到了JSP和Django。我决定和Django一起去。在与Django启动了一些项目之后,我得出结论,Django对我来说并不能提供简单的web开发。我不得不担心太多的特性,尤其是需要保持客户端和服务器代码的平衡 所以我再次开始搜索,找到了CouchDB,它为Ajax应用程序提供了一种很酷的后端。所以我

我正在寻找编写大量使用JavaScript的web应用程序的最佳可能性。因此,我想向您介绍我的想法,并征求您对此的意见和备选方案,请:)

1年前,我开始寻找除了PHP之外的web开发的可能性。我找到了JSP和Django。我决定和Django一起去。在与Django启动了一些项目之后,我得出结论,Django对我来说并不能提供简单的web开发。我不得不担心太多的特性,尤其是需要保持客户端和服务器代码的平衡

所以我再次开始搜索,找到了CouchDB,它为Ajax应用程序提供了一种很酷的后端。所以我的想法是使用CouchDB作为数据库服务器,它只提供数据验证和存储,并将所有其他内容保留给客户端。这显然不是一个新的想法,但我还没有找到任何好的例子。你知道吗

我希望有一个包含以下组件的体系结构:

  • 数据存储与验证(CouchDB)
  • web服务器:处理文件和WebSocket或轮询(Tornado或Eventlet)
  • 客户端JavaScript处理所有其他内容(fav:自编MooTools)
  • 客户端模板语言(你知道什么很酷吗?)
您对这些要点使用不同的软件有什么建议吗

它处理如下请求:

初始请求将JavaScript文件和基本HTML(仅
标记)发送到客户端。加载的JavaScript函数创建HTML代码并将其插入
标记中。从现在起,网站上的整个导航只请求通过Websocket提供并由客户端JavaScript处理的JSON

优点:

  • 整个代码都是在客户端用JavaScript编写的
  • 更新上的动画可以很容易地实现
  • 页面的逻辑将是非常轻量级和透明的
  • 服务器端可能没有扩展问题
  • 由于出色的客户端缓存能力,应用程序性能非常快。例如,使用Webstorage
缺点:

  • 在低硬件机器上,模板处理可能非常慢
  • 应用程序代码对所有人公开
问题

  • 您知道这种web开发的可用解决方案吗
  • 你认为以这种方式编写web应用程序会是一件怪事吗

请再看

您知道这种web开发的可用解决方案吗

看一看。这是库切德背后的人写的。它基于jquery,但将其转换为使用mootools并不难。还有一个很好的JavaScript模板引擎,名为。模板引擎将在浏览器和couchdb的两侧工作

你认为用这种方式编写web应用程序会是件怪事吗

不,这是大多数谷歌应用程序(邮件、文档、电子表格)的工作方式,也有一些框架是这样工作的,比如sproutcore或cappuccino

web服务器:处理文件和数据的服务器 WebSocket或轮询(龙卷风或 (小事件)


我认为couchdb也会处理这个问题

尽管爱斯基摩血液回答了大多数问题,但在“我”描述的开发web应用程序的方法上仍然存在一个大问题:模板语言

如前所述,有很多人使用Javascript在客户端工作。但在我看来,到目前为止,我发现的所有模板语言都缺少一个重要功能:更新功能

我不是说在更新时重新提交整个模板,但我希望看到一种模板语言,它只更新我的变量


用例示例: 想象一下,我正在阅读一篇博客,其中包含25个JSON变量和一个用于呈现这些变量的大模板。突然,地球另一边的某个勇敢的人提出了一个冷静的评论。现在,向当前读者呈现“实时更新”有不同的可能性:

  • 最坏情况:整个页面重置。26个Json变量和整个模板处理都必须重做
  • 坏情况:当前页面的整个博客部分刷新。15个Json变量和很大一部分模板处理必须重做
  • 更好的情况:只刷新当前页面的注释部分。5个Json变量和一个litle templateprocessing必须重做
  • 最佳实践:新注释插入到注释列表的顶部。1个Json变量和一个非常小的templateprocessing必须重做
现在你可能会想,用一点Java脚本就可以了。但是我想要一种自动实现这一点的模板语言。一种模板语言,它知道其当前状态,并且在头更改时只更新头。或者从旧时代消失到新时代

这样我们就可以节省大量自定义更新脚本。在更改页面结构时,不必担心动画,我们可以优化网络流量,因为只提供更新,而不提供当前文档数据的所有已知部分


问题:
  • 您如何看待这种模板语言方法
  • 您知道任何提供类似处理的模板语言吗
  • 有没有可能让它在没有很多性能缺陷的情况下工作
  • 我在过去的几个大项目中一直在使用它,我对此非常满意

    我的工作流程中还有一些我现在离不开的东西:

    • javasscript和CSS的构建过程。能够组织起来会更好