暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

新一代开发利器:Oracle JavaScript开发框架

281

在2015年底,Oracle宣布了面向JavaScript开发人员的轻量级开发框架JET(JavaScript ExtenstionToolkit)。JavaScript和HTML5已经成为构建具有尖端用户界面的网络和移动应用的首选技术组合,很多企业正在寻找一个完整的JavaScript框架以提升开发人员生产力,能够创建具有良好体验和响应式的用户界面,以及内置支持如国际化和可访问性等高级UI特性。甲骨文JET提供了应对JavaScript开发挑战的解决方案,JET是一个完整的,模块化的,开源JavaScript开发工具包,帮助开发人员构建引人入胜的用户界面。JET基于行业标准和流行的开源框架,比如JavaScript,HTML5,CSS和SASS,JET在其上进一步补充先进的功能和服务,成为完整集成的JavaScript开发工具包解决方案以帮助开发人员更快地构建更好的以JavaScript/HTML5 REST技术堆栈为基础的Web与移动应用。

到目前为止,JET已经发展到了2.0.2版本,提供了丰富的功能,解决JavaScript开发人员的共同需求,如

丰富的UI组件 – 数量超过70个,封装成JQuery UI组件,包括布局组件来处理响应式用户界面,各种数据输入输出组件和一组丰富的数据可视化组件,如图标、仪表、模板地图、时间线等,并支持拖拽操作。


                           

先进的双向绑定 - 建立在Knockout.js框架基础上,JET进一步简化了在应用程序中MVVM架构的实现,JET提供了一个通用模型层以一种无缝结合的方式用于绑定REST,Web Socket和Server-Sent Event提供的远程数据源,JET通用数据模型层提供有开箱即用的API,方便与远程服务集成,将其返回的数据双向映射为本地的model与collection对象,并可与Knockout的observable模型绑定,如此即可将远程数据和页面输入输出进行同步;借助于Knockout强大的视图与模型绑定能力,用户在页面上的输入也可以同步回远程数据服务。开发人员可以覆盖JET通用模型层的底层方法以支持其他数据源。该通用模型层提供额外的功能,如筛选和排序,缓存,分页和虚拟滚动。

高级路由系统 - JET路由功能提供支持HTML5浏览器历史记录以及嵌套状态管理,以支持任何从最简单到最复杂的单页应用场景。


智能资源管理 - 依托RequireJS框架,JET通过强大的资源管理的能力优化应用程序的性能,能够加速用户界面响应。

验证框架 - 提供用户界面元素级别和组件级别验证以及数据转换器以确保数据的准确录入。

除了Knockout.js,RequireJS和jQuery UI,JET底层还借助jQuery进行页面DOM处理与Ajax调用,Hammer.js以支持触屏与手势操作,Promises来支持更优雅的异步调用与处理逻辑。


JET是基于一个模块化的架构,其架构的核心思想是模块化组装要优于紧耦合一体化的框架,尤其针对充满变化的JavaScript世界,这点对于企业技术选型所必需的稳定性和延续性是至关重要的。JET允许选择使用该框架的哪部分,以及允许开发人员选择其更喜爱的JavaScript库替换JET的缺省实现。这种灵活性使得组织能够快速适应不断变化的开发技术生态系统演化的特质,允许组织在应用的特定层采纳新的解决方案而不失去在其它层所使用技术的投资。

JET通过CSS与JavaScript开箱即用支持响应式页面,访问者通过台式机、平板设备或者智能手机访问JET开发的Web与移动应用,都能感受到自适应和一致的客户体验,界面布局和组件会根据屏幕大小以及设备的持有方向自动做出调整,非常适合多渠道应用的开发。

为了便于开发人员学习和掌握JET提供的丰富的UI组件,在Oracle JET官网提供有Cookbook,这是一种在线资源用来展现JET UI组件的效果并提供示例代码,开发人员可以直观地感受到UI组件的实际效果和加护行为并可在线进行调整并查看改变的结果,然后可以将代码拷贝粘贴到自己的应用中去。这非常方便开发人员预先知道用户界面的效果和操作体验,能够带来开发效率的提升。


JET提供有多种高级企业级特性,所有用户界面组件都符合Oracle国际化标准,包括货币,数字和日期/时间格式,目前支持28种语言和160多个区域设置。此外JET支持本地化资源字符串的延迟加载以及字符串从左到右,从右到左的渲染。

JET内置支持基于Web内容无障碍指南(WCAG)的可访问性定义,从而使得基于JET的应用更易为广大残疾人士如弱视或失明,耳聋或其他身体限制等所接受。符合可访问性的应用程序,可以是:

  • 只使用键盘,无需鼠标

  • 使用屏幕阅读器和屏幕放大镜等辅助技术

  • 使用时无需依赖颜色,声音,动画以及定时设置

JET可访问性已达到WCAG的AA级别。

作为生产级部署应用的要求,安全性是重要的基石,JET的实现遵循了开放式Web应用程序安全项目(OWASP)等组织建议的最佳实践,如

  • 所有的JavaScript代码使用的是严格执行模式

  • 不使用内联脚本元素

  • 不会产生随机数

  • 组件生成的HTML代码都被转义或者净化

此外JET提供有oauth插件,方便开发人员快速获取与缓存访问令牌并根据承载令牌创建HTTP头信息。


甲骨文JET包括独特的功能,使其成为理想的跨平台的混合移动应用程序的开发框架。JET的移动原生主题匹配iOS,Android和Windows移动应用程序的观感,使开发人员能够构建基于HTML5的移动应用,但其用户界面看起来像原生移动应用。


JET组件支持常见的移动端手势和触屏行为与模式,如Swipe,Off-Canvas,Pull-to-Refresh等,以及各种动画效果,帮助开发人员实现更适应移动终端用户交互的移动应用。其内置的响应式设计,有助于进一步针对各种屏幕尺寸的移动设备。


JET开发框架整合了Apache Cordova混合移动应用容器,从而可以操作硬件设备和调用原生API,其集成的移动应用部署命令行支持发布到模拟器与设备上进行测试与调试,也可以发布到浏览器中进行用户界面的调整。

Oracle开发团队利用JET作为许多Oracle云产品用户界面的实现,如Oracle移动云,Oracle应用构建云等。JET为客户与合作伙伴提供了与Oracle SaaS和PaaS 完美的集成平台。JET组件支持Oracle Alta用户界面设计系统,其提供了一套实现甲骨文推荐的观感和用户界面指导原则以及最佳实践。

开发人员可以使用自己喜欢的编辑器开发JET应用,当然,Oracle提供了基于Netbeans的JET插件可以帮助生成JET模块,包括HTML代码片段与JavaScript模板,帮助开发人员快速开发JET应用。有兴趣的开发人员可以从这里进入JET的世界!


文章转载自甲骨文开发者社区,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论