Jaxer 的优点和缺点

2023-11-21

我意识到这个问题已经之前问过,但已经一个月了,没有像样的回应......我正在看阿普塔纳的贾克瑟我发现这个概念非常令人兴奋。

对于那些不熟悉的人来说,这里是一个快速概述:

用他们的话来说,Jaxer 是“世界上第一个真正的 AJAX 服务器”。它基于 Mozilla 引擎,因此脚本是用 javascript 编写的,并且您可以完全访问服务器端的 DOM。

脚本放置在您的页面上<script>标签,您可以指定runat属性(ala ASP.NET)来标记要在客户端、服务器或两者上执行的脚本,或者作为“服务器代理”,这使得功能在客户端上可用,但它们通过 AJAX 在服务器上执行。这也意味着您可以在服务器和客户端上使用您最喜欢的客户端库(jQuery、Prototype)。

它还可用于处理以其他语言(例如 php、ruby)生成的文档,我认为除了帮助将现有应用程序转换为使用 Jaxer 之外,它并不实用。

  • 优缺点都有什么?
  • API 的成熟/稳定程度如何?
  • 与相比,性能有多好 其他服务器端 html 预处理器?
  • 有没有人用 Jaxer 与另一个 技术(php、pearl、ruby 等) 你的经历是什么?

编辑:我发布了另一个关于我在玩 Jaxer 时发现的缺点的问题:使用 Jaxer 时定义对象


我使用 Jaxer 的时间并不长,但我发现了一些东西:

Pros

  • 用相同的代码编写前端和后端。特别适合编写验证逻辑。
  • “无缝”AJAX 通信返回到服务器 - 就像调用 JS 函数一样。
  • 能够使用 jQuery 等 JavaScript 框架来操作 DOM。
  • 使用 Canvas API 生成或操作图像的能力。
  • 您可以使用 JavaScript 1.8 的新功能(例如数组附加功能和 getters/setters)来编写服务器 JavaScript。

Cons

  • 我发现他们的 API 不稳定(当我尝试时他们正在过渡到 1.0,所以这有点有意义)并且文档令人困惑、缺失或与更改的功能不匹配。我还发现调试 Jaxer 服务器端代码非常困难,而且当我遇到麻烦时,错误消息也没有多大帮助。
  • 您的表示和逻辑之间没有真正的 MVC 甚至 MVP(ASP.NET 风格)分离。
  • 我个人无法让 E4X(JavaScript 中的 xml)工作,这应该是一个很大的吸引力。
  • 没有太多围绕它构建的框架来构建整个应用程序。您将从一些非常基本的构建块开始。
  • 在您看来,它并没有真正提供任何帮助,因此请忘记您可能在其他地方使用的所有模板或可重用组件。并不是说你不能复制它,而是它比开箱即用更困难。

总的来说,我认为 Jaxer 作为另一个 Web 框架面前的后处理器最有前途。如果使用 Jaxer 将所有漂亮的 AJAX 内容分层到现有站点之上,那就太棒了。这将使创建一个在服务器和客户端之间共享验证/页面操作逻辑的动态站点变得更加容易。我认为我不想只使用 Jaxer 来编写应用程序。而且,它还很年轻(而且不成熟)——我很有兴趣看看它最终会走向何方。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Jaxer 的优点和缺点 的相关文章

  • 在使用 jQuery 拖动时向元素添加 CSS 类

    是否可以在元素被拖动到特定区域时向其添加 CSS 类 并在元素被删除后替换该类 我并不是到处寻找这个功能 而是只在特定区域寻找这个功能 是的 这当然有可能 jQuery UI 提供了一些方便的选项和事件来执行此操作 对于初学者来说 可拖动元
  • 少吞咽然后缩小任务

    我必须在 gulp 中执行 2 个步骤 减少 css 文件格式 缩小生成的 css 文件 这是我的吞咽文件 var gulp require gulp watch require gulp watch less require gulp l
  • ScrollTop 在 Chrome/Safari 中不起作用

    我的网站上有一个循环内的表单 当有人提交表单时 查询字符串会添加到 URL 中 例如 updated 111 然后 我的 JQuery 脚本检查数字的 url 并在提交表单并重新加载页面后滚动到该 div 该脚本在 Firefox 中运行良
  • 如果Functions是javascript中的对象,为什么function.constructor指向Function而不是Object?

    当像这样从窗口对象创建以下函数时 function userInfo 既然函数是对象 为什么 userInfo constructor 显示 Function 而不是 Object 当使用以下内容时 它甚至显示函数而不是对象 Functio
  • 如何使用 console.log 省略文件/行号

    如今 您可以在 Chrome 的控制台中编写非常好的东西 查看this https developer chrome com devtools docs tips and tricks关联 我也做了一个截图 正如您在屏幕截图中看到的那样 文
  • Ajax 调用后使用 Django 模板呈现 JSON 对象

    我一直在尝试了解什么是最佳方法Ajax http en wikipedia org wiki Ajax 28programming 29 in Django http en wikipedia org wiki Django 28web f
  • 如何获得相对于特定父级的偏移量?

    我想获取元素相对于的偏移量特定的父母不是直接的 也不是文档 我在互联网上查找并找到了offset http api jquery com offset and position http api jquery com position jQ
  • 将其作为参数传递给 addEventListener()

    我想添加change一组复选框的事件 我如何访问this在我的事件函数中 这样当我执行事件时我可以访问复选框的值 这是我当前的代码 var checkboxes document getElementsByClassName cb Arra
  • 按日期对 JSON 进行排序

    我知道这一定相对简单 但我有一个 JSON 数据集 我想按日期排序 到目前为止 我每次都会遇到问题 现在我将日期存储为this lastUpdated 如果有帮助的话 我可以访问 jquery 但我意识到 sort 是本机 JS 提前致谢
  • toJSON() 和 JSON.Stringify() 之间的区别

    如果您需要读取或克隆模型的所有数据属性 请使用其 toJSON 方法 此方法返回属性的副本作为 对象 尽管有其名称 但不是 JSON 字符串 当 JSON stringify 为 使用 toJSON 方法传递一个对象 它将返回的字符串化 t
  • Javascript“命名空间”和 jQuery AJAX

    我正在使用此处列出的建议 http www odetocode com articles 473 aspx http www odetocode com articles 473 aspx 使用模拟的JavaScript AJAX网络聊天系
  • Backbone.js 应用程序可以逐步增强并可供搜索引擎抓取吗?

    我需要为我的下一个项目实现一个 MVC JavaScript 框架 但它既是一个网站 又是一个 Web 应用程序 是否可以公开数据服务器端 然后解析 URL 以显示 JS 版本 我计划使用 Rails 作为服务器端代码 我写了一个关于这个主
  • 如何更改 Vuetify 日历日期格式

    我正在尝试在以下 Vuetify 日历上启用输入事件 https github com vuetifyjs vuetify blob master packages docs src examples calendars complex e
  • 根据数据更改图例颜色高图表

    我可以根据数据动态设置列的颜色 但无法弄清楚如何更改图例中的颜色 请注意 jsfiddle 最新的条形图是绿色的 但图例是蓝色的 有没有办法改变列颜色也会改变图例颜色 这是我用于列颜色的代码 jsfiddle http jsfiddle n
  • 'DOMException:使用'option:selected'选择器时无法在'Element'上执行'querySelectorAll'

    我正在运行一个页面 该页面在以下行中引发错误 var label select find option selected html select find option first html 为了完整起见 这里是完整的 jQuery 函数
  • javascript 中一次仅选中一个复选框

    I have 3复选框 我只想1一次选中的复选框 下面是我的 html 小提琴 JS小提琴 https jsfiddle net n03jLhqa 我想要这个工作在IE8还请建议如何做 这个怎么样 fiddle http jsfiddle
  • 用于图形操作的 Javascript 库

    有没有建议的 javascript 替代 pythonpygraph http code google com p python graph or NetworkX http networkx lanl gov 应该注意的是 可视化不是必需
  • Modernizr 未将类应用于 html 标签

    我目前正在构建一个网站 我需要使用 Modernizr 但由于某种原因 它没有将类应用到 html 标签 因为它应该 我的代码如下所示
  • 保留对 React 状态变量的“引用”

    据我所知 Javascript 中没有指针 我有以下问题 但我想知道是否有一个解决方案让我无法解决 解决方案可能是普通的 Javascript 或者像 Context API 这样的 React js 钩子 useContext 或者更多
  • 使用 Three.js 中的设备方向控件进行对象旋转

    我正在迈出使用 JavaScript 进行编码并使用 Three js 的第一步 我正在尝试 Threejs org 的这个例子 http trijs org examples misc controls deviceorientation

随机推荐

  • 如何在Sql commandText中传递int参数

    如何像SQL命令参数一样传递整数值 我正在尝试这样 cmd CommandText insert questions cmd Parameters AddWithValue store result store result cmd Par
  • 使用 DirectoryIterator 对文件进行排序

    我正在创建一个目录 列出 lighttpd 的 PHP5 脚本 在给定的目录中 我希望能够列出直接子目录和文件 带有信息 快速搜索后 目录迭代器似乎是我的朋友 foreach new DirectoryIterator as file ec
  • 移动网站设计

    我刚刚使用样式表 即 media print 等 向网站添加了打印功能 并且想知道是否可以使用类似的方法来添加对移动设备的支持 如果没有 我如何检测移动设备 我的页面是 C aspx 我想缩小页面以便于在移动设备上使用 对我有什么建议吗 编
  • 如何在静态类中使用IHttpContextAccessor设置cookie

    我正在尝试创建一个通用的addReplaceCookie静态类中的方法 该方法看起来像这样 public static void addReplaceCookie string cookieName string cookieValue i
  • 如何在Python中解析带有'+'的标签

    当我尝试编译此内容时 出现 无重复 错误 search re compile r a zA Z0 9 s a zA Z0 9 test re I 问题是 号 我该怎么处理 re compile r a zA Z0 9 s a zA Z0 9
  • AVPlayer 不会在 iOS9 中播放来自 url 的视频

    我试图在 UIView 中嵌入 AVPlayer 并从 url 播放 mp4 视频文件 问题是我只收到黑色空白视图 参见屏幕截图 在以前的 iOS 版本中 它对我有用 但自从升级到 iOS9 后 我遇到了这个问题 我的 h 文件如下所示 i
  • 在 ASP.NET 中生成 PDF 文档[重复]

    这个问题在这里已经有答案了 可能的重复 直接将 aspx 转换为 pdf 有没有办法直接从页面输出从asp net生成PDF文档 我的要求是 当用户访问我网站上的页面时 应该有一个条款可以获取 PDF 格式的相同页面 报告 使用iTextS
  • 获取sklearn中节点的决策路径

    我想要 scikit learn 决策树 DecisionTreeClassifier 中从根节点到给定节点 我提供 的决策路径 即规则集 clf decision path指定样本经过的节点 这可能有助于获取样本遵循的规则集 但是如何获取
  • 为什么 Spring MVC 响应 404 并报告“在 DispatcherServlet 中未找到带有 URI [...] 的 HTTP 请求的映射”?

    我正在编写一个部署在 Tomcat 上的 Spring MVC 应用程序 请参阅以下内容最小 完整且可验证的示例 public class Application extends AbstractAnnotationConfigDispat
  • PHP,strip_tags 在文本区域中剥离 \n。怎么阻止呢?

    我希望能够接受 n or r n并将它们转换为 br 以在页面中使用 尽管当用户提交包含新段落的文本区域时 strip tags函数似乎将它们直接剥离了 我能做些什么来将这些保留在字符串中吗 谢谢 您可以使用nl2br添加BR换行符元素到换
  • 如何编写写入 stdin 的 Go 测试?

    假设我有一个简单的应用程序 它从标准输入读取行并简单地将其回显到标准输出 例如 package main import bufio fmt io os func main reader bufio NewReader os Stdin fo
  • Hibernate @OrderBy 与引用的类

    我有一堂课说 ClassA 其中有 ClassB 的集合 OneToMany cascade CascadeType ALL fetch FetchType LAZY JoinColumn name COLUMN NAME private
  • 如何从 C++ 对象中获取类名?

    是否也可以获取对象名称 include
  • 如何在 AOSP 构建中添加 APK?

    我需要将一些第 3 方 APK 添加到我的 AOSP 版本中 我应该将这些 APK 保存在哪个文件夹中 以便在构建代码并创建映像时将其安装在模拟器中 看起来系统应用程序保存在包 应用程序文件夹 所以我需要知道第三方 APK 的保存位置 将第
  • 使用具有特定精度的小数作为 Dapper 的输出参数

    我正在评估 Dapper 作为自定义和繁琐代码的替代品 到目前为止 一切都非常好并且很有前途 但是今天早上我偶然发现了动态参数的问题并且找不到解决方案 存储过程计算客户的帐户余额和可用余额 并以两位小数输出参数返回其结果 这些小数在存储过程
  • 使用 Java8 计算 int 出现次数

    Java8 有没有更好的方法来计算 int 出现次数 int monthCounter new int 12 persons stream forEach person gt monthCounter person getBirthday
  • 两个 Wifi 设备之间的数据传输

    我在谷歌上搜索过 在 Android 2 2 和 sdk 8 中 如何在 Android 列表中使用 SSID 通过使用 SSID 应以编程方式获取特定的启用 WiFi 的设备属性 有了这个帮助 应该可以在 Android 中的两个支持 W
  • 如何在postgres中编写组合函数?

    我有一个这种形式的 PostgreSQL 表 base id int mods smallint 3 7 15 48 我需要填充这种形式的表 combo id int base id int mods smallint 1 3 2 3 7
  • pprint 对字典排序但不对集合排序?

    我知道字典和集合没有排序 因此相等的集合或字典可能会以不同的方式打印 所有测试都使用Python 3 6 1 gt gt gt for obj in 0 8 8 0 0 0 8 8 8 8 0 0 print obj 0 8 8 0 0 0
  • Jaxer 的优点和缺点

    我意识到这个问题已经之前问过 但已经一个月了 没有像样的回应 我正在看阿普塔纳的贾克瑟我发现这个概念非常令人兴奋 对于那些不熟悉的人来说 这里是一个快速概述 用他们的话来说 Jaxer 是 世界上第一个真正的 AJAX 服务器 它基于 Mo