用于pushstate “hijax”的Javascript框架
Javascript framework for pushstate "hijax"
我们所有的应用程序都是php mvc,并且在客户端顶部有一个非常简单的js行为层。我们希望更多地构建javascript,并停止请求"片段"来执行简单的行为(例如,到处加载不同的jquery插件)。我们不使用javascript MVC框架,并为我们的新应用程序寻找最适合的解决方案。
最吸引人的解决方案之一是像Twitter一样为我们保留渲染服务器端。他们称之为"Hijax +服务器端渲染"。我们不希望在javascript中拥有一个完整的mvc框架,但博客中的这些引用对我们非常有吸引力:
通过契约,我们的组件将自己附加到单个 DOM 节点,通过委托侦听事件,在 DOM 上触发事件,这些事件通过 DOM 事件冒泡广播到其他组件。[...]其次,我们所有的组件都是使用 AMD 定义的。
我们一直在尝试构建我们自己的东西,但是如果没有高水平的JavaScript专业知识,我们就无法在这方面走得太远。像jquery-pjax这样的东西对于非常简单的情况似乎也是一个很好的解决方案。
我们正在寻找:
- 一个UI/数据隔离,将XHR与DOM巧妙地耦合 在一起
- 事件驱动的 UI,因此开发人员可以将侦听器附加到所有类型的 DOM 对象
有没有类似javascript框架的东西?随着pushState
越来越受到关注,我希望能有一些东西可用。有什么想法吗?
查看历史记录.js和Amplifyjs(可能还有用于某些组件组合的microjs)
我将尽我所能回答你的问题。 话虽如此,我要说你的问题非常广泛,相当模棱两可。 你还没有成功地传达你在 JavaScript 库中寻找什么。 您提到了许多不同的主题,这些主题都很复杂,每个主题的存在都是为了在客户端开发中服务于特定的目的。 虽然所有这些概念可能在野外实现,但没有一个明确的答案来解决您的所有问题。
我将从您的第一点"UI/数据隔离"开始。 这个概念实际上是关于关注点的分离。 您希望 UI 与数据分开存在。 您在这里真正要寻找的是 HTML 以反映数据模型的当前状态。 您还希望自动为您执行此操作。 这是具有 MVC 设计模式的非常常见的工作流。 JavaScript有几个选项可供您使用:Backbone.js,AngularJS,EmberJS,并且列表还在继续。
根据我使用很多这些不同框架的个人经验,我会推荐Backbonejs,因为它具有灵活和轻量级的性质。 在Backbone中,我们有一个可以直接绑定到数据模型的"视图"的概念。 它还通过其路由机制支持您想要的"pushSate"概念。
"事件驱动的UI"部分可以由任意数量的不同JavaScript库处理。 jQuery可能是将事件附加到"各种dom元素"的最流行的库。 Backbone.js还允许使用其View对象轻松设置事件委托(通过事件冒泡)。
简而言之,如果你想为你的JavaScript添加结构......这真的取决于你想要什么。 对于简单的事情,一点点手工制作的jQuery就可以了。 如果你真的想要一个更具MVC风格的应用程序,并且有增长的潜力,像Backbone这样的MVC框架是要走的路。
- 在其他javascript框架模板中运行angular指令
- 如何使用javascript、jquery或其他javascript框架过滤数据
- 如何将javascript框架注入ChakraBridge上下文
- 用于绘制工作流图的JavaScript框架
- 用于chrome-ext.开发的简单而流行的javascript框架
- 客户端的JavaScript框架
- 将Javascript框架与Java Web框架集成
- 做全栈JavaScript框架在客户端或服务器上创建HTML
- 服务器端javascript框架
- Javascript框架中的美元符号
- 主要JavaScript框架/库的列表
- 哪种javascript框架适合开发以php为后端的单页应用程序
- 使用 JavaScript 框架的设计器工作流
- 我应该将javascript框架与我的应用程序捆绑在一起还是使用公共CDN
- Q(Q框架)是什么意思?(异步JavaScript框架)
- 这些 Node.js 和 JavaScript 框架是什么,它们做什么
- 哪个JavaScript框架对新手来说更容易:Ember.js,Canjs,Angular.js
- 是否可以在GWT或任何其他JavaScript框架中选择垃圾收集算法
- JavaScript 框架,用于构建动态但服务器端驱动的前端
- $super Classy JavaScript 框架中的探测器