Javascript 复杂的客户端逻辑——最好移到服务器端?

Javascript 复杂的客户端逻辑——最好移到服务器端?,javascript,frontend,Javascript,Frontend,我正在使用第三方搜索API,并且非常喜欢将整个应用程序都放在浏览器端。XML完全是用javascript消化的,我正在使用javascript模板引擎动态呈现复杂的结果对象。很少有页面重新加载的情况发生,而且有很多花哨的javascript正在进行 让一切都保持在javascript端对我来说是干净的。这将使部署变得更加容易,而且将所有代码放在一个地方也很好。我正试图像用Java编写代码一样严格地用javascript编写代码,到目前为止,一切似乎都很顺利。我正在努力工作TDD风格,使用YUI测

我正在使用第三方搜索API,并且非常喜欢将整个应用程序都放在浏览器端。XML完全是用javascript消化的,我正在使用javascript模板引擎动态呈现复杂的结果对象。很少有页面重新加载的情况发生,而且有很多花哨的javascript正在进行

让一切都保持在javascript端对我来说是干净的。这将使部署变得更加容易,而且将所有代码放在一个地方也很好。我正试图像用Java编写代码一样严格地用javascript编写代码,到目前为止,一切似乎都很顺利。我正在努力工作TDD风格,使用YUI测试,并乐观地认为这将使不可避免的跨浏览器错误更容易捕获和修复。代码大小不是很小,但也不是很糟糕,我计划在部署之前将其缩小,这将使其减少到现在的2/3左右


有没有我没有考虑的缺点?这里还有其他支持前端应用程序逻辑的人吗?

只有当AJAX真正改善了用户体验时,才应该使用它。当琐碎的功能不必要地需要JS时,这是非常烦人的。我希望(不知道你的应用程序是否如此)能够输入搜索,获得结果,并在没有JS的情况下翻阅结果


像AJAX分页或搜索优化这样的“附加功能”没有什么错。但无论哪种方式都应该有必要。只有当AJAX真正改善了用户体验时,才应该使用AJAX。当琐碎的功能不必要地需要JS时,这是非常烦人的。我希望(不知道你的应用程序是否如此)能够输入搜索,获得结果,并在没有JS的情况下翻阅结果

像AJAX分页或搜索优化这样的“附加功能”没有什么错。但无论哪种方式,基本要素都应该存在

很少有页面重新加载的情况发生,而且有很多花哨的javascript正在进行

过分依赖JavaScript有一个很大的缺点。请记住,无论何时设计web应用程序,都应以用户未启用JavaScript为前提-尽管这是少数,但仍有许多用户出于任何原因未启用JavaScript,如果您的应用程序在其基本操作中过于依赖JavaScript,那么禁用JavaScript的人将无法访问它

每当我编写具有JavaScript或AJAX功能的页面时,我总是确保有一种显示或提交信息的第二种方式,以防用户的浏览器上关闭JavaScript。当然,这对于美学来说通常是不必要的——如果JavaScript关闭,菜单项沿着菜单栏滑动,页面被更改,并且它们的行为就像静态链接一样,则不会影响页面的核心功能;但是,对于输入数据和显示结果等核心功能,您应该确保提供在未启用JavaScript时使用的备份方法

很少有页面重新加载的情况发生,而且有很多花哨的javascript正在进行

过分依赖JavaScript有一个很大的缺点。请记住,无论何时设计web应用程序,都应以用户未启用JavaScript为前提-尽管这是少数,但仍有许多用户出于任何原因未启用JavaScript,如果您的应用程序在其基本操作中过于依赖JavaScript,那么禁用JavaScript的人将无法访问它


每当我编写具有JavaScript或AJAX功能的页面时,我总是确保有一种显示或提交信息的第二种方式,以防用户的浏览器上关闭JavaScript。当然,这对于美学来说通常是不必要的——如果JavaScript关闭,菜单项沿着菜单栏滑动,页面被更改,并且它们的行为就像静态链接一样,则不会影响页面的核心功能;但是,对于输入数据和显示结果等核心功能,您应该确保提供在未启用JavaScript时使用的备份方法。

好主意。如果禁用javascript,客户端的站点根本无法工作,因此我并不担心在这种特殊情况下排除非js人员。这就是我的观点——通过这样设计站点,可以有效地屏蔽这群人。好主意。如果禁用javascript,客户端的站点根本无法工作,因此我并不担心在这种特殊情况下排除非js人员。这就是我的观点——通过这样设计站点,可以有效地屏蔽这群人。