大型可扩展 Worklight 企业应用程序的最佳实践和工具

Posted

技术标签:

【中文标题】大型可扩展 Worklight 企业应用程序的最佳实践和工具【英文标题】:Best practices and tools for a big, extendible worklight enterprise application 【发布时间】:2013-06-17 13:45:46 【问题描述】:

我正在尝试优化我公司的应用程序。 此时的 Tha 架构由应用程序的不同部分(例如管理账单、管理食堂、管理活动等)的不同文件夹(在公共文件夹内)组成。 每个 js 和 css 都包含在应用程序的第一页(login.html)中,因为我使用的是 jQuery Mobile 的简单页面模板。

现在我正在考虑添加一些其他组件,以使应用程序更易于维护并可能加快速度。

你怎么看:

RequireJS 来划分模块中的每个部分,这样我就可以在运行时只加载特定模块的 javascript,而不是在 login.html 中加载 内联 @imports 用于 CSS 文件以生成单个复合 CSS uglify.js 最小化文件大小 Handlebars.js实现html片段可复用

对于一个通过添加新部分会变得更大的应用程序,您认为这是一种好的工作方式吗? 你想到其他工具了吗?

谢谢

【问题讨论】:

【参考方案1】:

这是一个非常广泛的问题。我认为您走在正确的轨道上...我将列出一些可能值得尝试的库:

Require.js - 让您能够拥有“模块”并动态确定和加载依赖项。或者,有些人更喜欢Revealing Module Pattern、jQuery Plugin Style 或Common JS style 模块等模式。对于它的价值,我推荐 Require.js。

Bower是一个包管理器,你可以用它来bower install [package]。他们有很多包here,你也可以链接到your own repo。这可能有助于管理依赖关系。

Uglify.js 和 Google Closure Compiler 都适合缩小代码。请记住,高级模式等一些缩小配置可能会破坏您的代码。针对源代码的缩小版本运行测试。

QUnit 非常适合进行 JavaScript 单元测试。还有很多其他的选择,比如Jasmine,这是Cordova 家伙使用的。

Lodash 是underscore.js 的另一个(更快)实现,它将提供许多实用方法来处理数组、对象、函数等。它也是includes templating support。作者here讲的很好。

有一个 MV* JavaScript 框架可以提供比jQuery(DOM+AJAX+动画)或jQuery Mobile(主要是 UI)更多的帮助,例如:Dojo、AngularJS、Backbone 和Ember.js。

对于 UI,您可能需要查看 Adobe's topcoat repository 和 website。还有Twitter Bootstrap 和Foundation 可以让您直接使用responsive design。如果您使用 jQuery Mobile,我个人喜欢这个Flat theme。

JSDoc 和 YUIDoc 是记录 JavaScript 代码的好选择。

我不知道有多少这些工具会在 Worklight 应用程序中进行交互。应该没问题,因为 Worklight 不会强加您必须使用的特定 JavaScript 库集。但是,我没有亲自在 Worklight 应用程序中尝试过其中的大部分。

【讨论】:

非常感谢您的回复,这是一个非常好的和结构化的。所以你不建议我使用handlebars.js 或mustache.js 之类的东西,你认为lodash 可以更好地完成模板任务吗? 我觉得handlebars、mustache和lodash's template function都很有能力。就其价值而言,Handlebar.js 可能是功能最多的一个。我不会阻止任何人使用这些库中的任何一个。 顺便说一句,如果我的回答有帮助,您应该考虑接受它(单击向上/向下箭头下方的绿色复选标记)。如果稍后出现更好的答案,您可以不接受。

以上是关于大型可扩展 Worklight 企业应用程序的最佳实践和工具的主要内容,如果未能解决你的问题,请参考以下文章

Spring Batch在大型企业中的最佳实践

Spring Batch在大型企业中的最佳实践

Spring Batch 在大型企业中的最佳实践

注销和记住会话的最佳 Worklight 实践

Tensorflow 中可扩展、高效的分层 Softmax?

维护不同 Worklight Studio 补丁程序版本的最佳实践