ColdFusion 2016 代码分离
ColdFusion 2016 code separation
几年后我又回到了 ColdFusion(从第 8 版开始)。
我正在改变我的 Web 开发方法,因为我不是将页面发布到服务器,而是向 CFC 提交 Ajax 调用以与我的数据库对话。
到目前为止一切顺利,但我想知道..
而不是有很多内联服务器 ColdFusion 代码(虽然很方便)设置 HTML 元素,如表单字段和标签等。
我可以用 JS 设置这些 AFTER 页面加载吗?
我知道我可能可以,但这是明智且好的方法吗?
保持我的客户端代码干净?
严格来说也是第二个问题,但是专用的 ColdFusion Windows 服务器可以处理 300 个用户,最多同时处理 100 个用户吗?
如果您打算使用 ColdFusion 仅提供数据,则将其留给前端来创建您的 HTML(字段、标签等)。
既然你说你不想内联 CF 代码,这几乎是你最好的选择(还有其他方法可以做到这一点,但既然你问这个问题,这种方法可能是最快的入门方法) .
实际上,您将创建数据,比方说 JSON 或 XML 数据,前端需要从中解析并创建 HTML。
有许多工具专为您所描述的内容而设计。我不打算权衡什么是正确的工具,但如果你进行研究,你会发现很多 pro/cons/implementation 细节等。tools 这个词在这里很重要.有些是框架,有些则不是。您正在寻找 JavaScript 框架、库或插件,它们可以创建您的 CFC 将提供的数据或以其他方式填充这些数据。
您可以使用 jQuery / jQuery UI(甚至原始 JS)之类的东西构建您自己的 "UI Framework",或者您可以使用其他工具。 AngularJS、React、extJS 等
Here's a link列出并描述了一些流行的JS前端框架。
其次,您的第二个问题没有足够的信息来真正回答。具有正确配置的单个服务器 可以 支持 100 个并发用户。但性能将取决于您的硬件和软件。如果您有足够的 CPU 电源、内存、磁盘 I/O 等,并且您的软件不需要大量的硬件资源(考虑高 CPU 使用率、高内存使用率等) ,那你就没事了。
虽然这个问题很宽泛,但请听我的看法。
当我知道我有很多内容时,我不想一次生成它,也不想一次显示它。
我发现 jQuery UI 选项卡上的 AJAX 正是解决这两个问题的门票
参见:https://jqueryui.com/tabs/#ajax
下面是 jQuery UI 方法的 ColdFusion 化版本
<div id="tabs">
<ul>
<li><a href="#tabs-1">Preloaded</a></li>
<li><a href="ajax/content1.cfm">Tab 1</a></li>
<li><a href="ajax/content2.cfm">Tab 2</a></li>
<li><a href="ajax/content3-slow.cfm">Tab 3 (slow)</a></li>
<li><a href="ajax/content4-broken.cfm">Tab 4 (broken)</a></li>
</ul>
<div id="tabs-1">
<p>Proin elit arcu, rutrum commodo, vehicula tempus, commodo a, risus. Curabitur nec arcu. Donec sollicitudin mi sit amet mauris. Nam elementum quam ullamcorper ante. Etiam aliquet massa et lorem. Mauris dapibus lacus auctor risus. Aenean tempor ullamcorper leo. Vivamus sed magna quis ligula eleifend adipiscing. Duis orci. Aliquam sodales tortor vitae ipsum. Aliquam nulla. Duis aliquam molestie erat. Ut et mauris vel pede varius sollicitudin. Sed ut dolor nec orci tincidunt interdum. Phasellus ipsum. Nunc tristique tempus lectus.</p>
</div>
</div>
稍后
我真的不再使用 jQuery UI 了。我现在对 Bootstrap 选项卡执行相同的方法。它需要更多的接线,但仍然有用。
我的方法是使用 ColdFusion 简单地生成 JSON,我将其输入到我的前端模板中。为了生成我的 JSON,我仍然可以利用所有 CF 函数在需要时进行调整。
关于你的第二个问题,这将取决于你的服务器正在做的工作,但我认为一般来说你应该没有任何问题。我在我的服务器上做了一些图像处理,这增加了很多负载,但我仍然可以毫无问题地同时处理 300 个连接。您的里程可能会有所不同。
几年后我又回到了 ColdFusion(从第 8 版开始)。 我正在改变我的 Web 开发方法,因为我不是将页面发布到服务器,而是向 CFC 提交 Ajax 调用以与我的数据库对话。 到目前为止一切顺利,但我想知道..
而不是有很多内联服务器 ColdFusion 代码(虽然很方便)设置 HTML 元素,如表单字段和标签等。 我可以用 JS 设置这些 AFTER 页面加载吗? 我知道我可能可以,但这是明智且好的方法吗? 保持我的客户端代码干净?
严格来说也是第二个问题,但是专用的 ColdFusion Windows 服务器可以处理 300 个用户,最多同时处理 100 个用户吗?
如果您打算使用 ColdFusion 仅提供数据,则将其留给前端来创建您的 HTML(字段、标签等)。 既然你说你不想内联 CF 代码,这几乎是你最好的选择(还有其他方法可以做到这一点,但既然你问这个问题,这种方法可能是最快的入门方法) .
实际上,您将创建数据,比方说 JSON 或 XML 数据,前端需要从中解析并创建 HTML。
有许多工具专为您所描述的内容而设计。我不打算权衡什么是正确的工具,但如果你进行研究,你会发现很多 pro/cons/implementation 细节等。tools 这个词在这里很重要.有些是框架,有些则不是。您正在寻找 JavaScript 框架、库或插件,它们可以创建您的 CFC 将提供的数据或以其他方式填充这些数据。
您可以使用 jQuery / jQuery UI(甚至原始 JS)之类的东西构建您自己的 "UI Framework",或者您可以使用其他工具。 AngularJS、React、extJS 等
Here's a link列出并描述了一些流行的JS前端框架。
其次,您的第二个问题没有足够的信息来真正回答。具有正确配置的单个服务器 可以 支持 100 个并发用户。但性能将取决于您的硬件和软件。如果您有足够的 CPU 电源、内存、磁盘 I/O 等,并且您的软件不需要大量的硬件资源(考虑高 CPU 使用率、高内存使用率等) ,那你就没事了。
虽然这个问题很宽泛,但请听我的看法。
当我知道我有很多内容时,我不想一次生成它,也不想一次显示它。
我发现 jQuery UI 选项卡上的 AJAX 正是解决这两个问题的门票
参见:https://jqueryui.com/tabs/#ajax
下面是 jQuery UI 方法的 ColdFusion 化版本
<div id="tabs">
<ul>
<li><a href="#tabs-1">Preloaded</a></li>
<li><a href="ajax/content1.cfm">Tab 1</a></li>
<li><a href="ajax/content2.cfm">Tab 2</a></li>
<li><a href="ajax/content3-slow.cfm">Tab 3 (slow)</a></li>
<li><a href="ajax/content4-broken.cfm">Tab 4 (broken)</a></li>
</ul>
<div id="tabs-1">
<p>Proin elit arcu, rutrum commodo, vehicula tempus, commodo a, risus. Curabitur nec arcu. Donec sollicitudin mi sit amet mauris. Nam elementum quam ullamcorper ante. Etiam aliquet massa et lorem. Mauris dapibus lacus auctor risus. Aenean tempor ullamcorper leo. Vivamus sed magna quis ligula eleifend adipiscing. Duis orci. Aliquam sodales tortor vitae ipsum. Aliquam nulla. Duis aliquam molestie erat. Ut et mauris vel pede varius sollicitudin. Sed ut dolor nec orci tincidunt interdum. Phasellus ipsum. Nunc tristique tempus lectus.</p>
</div>
</div>
稍后
我真的不再使用 jQuery UI 了。我现在对 Bootstrap 选项卡执行相同的方法。它需要更多的接线,但仍然有用。
我的方法是使用 ColdFusion 简单地生成 JSON,我将其输入到我的前端模板中。为了生成我的 JSON,我仍然可以利用所有 CF 函数在需要时进行调整。
关于你的第二个问题,这将取决于你的服务器正在做的工作,但我认为一般来说你应该没有任何问题。我在我的服务器上做了一些图像处理,这增加了很多负载,但我仍然可以毫无问题地同时处理 300 个连接。您的里程可能会有所不同。