一个Ext JS开发人员的一天:问与答

原文:Day in the Life of an Ext JS Developer: Your Questions Answered

在最近的《一个Ext JS开发人员的一天》的网络研讨会上,我们回答了一些技术问题,如Ext JS如何快速入门、技巧和最佳实践。在问与答环节异常活跃,因此,我们决定在这里分享一下这些讨论。我们将在3月22日星期四的PDT时间上午10点继续相同的网络研讨会,如果有兴趣,请利用这个机会提出你的问题。

对于大型的Ext JS应用程序,如何改进生成过程,并最小化产品的部署时间?

生成Ext JS应用程序的生产版本的最佳实践是使用Sencha Cmd,尤其是使用“sencha app build production”。另外,如果需要将应用程序的成品拆分为几个小部件,请参阅动态软件包加载程序(https://github.com/sencha/package-loader)。

构建使用Maven作为构建工具和依赖关系管理的JavaEE Web应用程序的最佳实践是什么?

由于Sencha Cmd是Ext JS的生成工具,且是一个命令行工具,因而,可以在任何可调用命令行工具的生成环境中调用Sencha Cmd。另外,可以在Sencha网站上的观看视频(http://video.sencha.com/watch/YGrD8e49jy1YUdF9PJNrQR)来获取更多帮助。

目前,如果创建一个桌面应用程序,会选用Classic工具包,如果创建一个移动应用程序,会选用Modern工具包。近来,多了一个选项,就是可以使用Modern工具栏来创建桌面或移动应用程序,这相当不错。那么,未来会如何发展呢?如果Classic工具包可以包含Modern组件,又或者Modern工具包可以包含本地化与Classic组件,会合并他们吗?如果要创建一个新的项目,应该如何选择呢?相对来说,Classic工具包和Modern工具包的平台目标是什么呢?

建议的做法是,当项目要支持跨平台设备的时候,最好选用Modern工具包,如果项目需要获得更好的桌面支持,最好选择Classic工具包。在Classic工具包中,有几个功能可以让你做出正确的选择,如支持IE8/9/10,支持可访问性或支持RTL语言等。如果应用程序需要这些功能,Classic是最好的选择。作为路线图的一部分,未来将会合并这些工具包。

Architect什么时候可以开发通用应用程序?

Architect是一个引人注目的低代码解决方案,用于快速构建Ext JS应用程序。我们正在积极探索如何让Architect更加无缝以及更好的可访问性。到2018年年底,我们希望能清除一些主要障碍以便让Architect的开发流程更自然,保留更多的调整给开发人员。如果有任何有关Architect的想法或反馈,可以发送电子邮件到[email protected]

具有两个Modern目标的通用应用程序,是新的吗?

我们将继续支持桌面使用Classic工具包而移动设备使用现代工具包的通用应用程序。随着Modern工具包加入桌面组件,Classic工具包与Modern工具包看起来有点一样了。现在完全可以使用Modern工具包来构建通用应用程序,只是不支持IE、Aria或屏幕阅读器、RTL语言等功能,而这些功能只存在于Classic工具包。

在新的Sencha Cmd是否可以使用nodejs包?

作为Ext JS 6.6的一部分,我们正在努力构建Ext JS的NPM包,计划在2018年的第二季度完成。

除了控制器、模型俄存储,其他类型的对象能否共享?默认情况下,Sencha是否先从分享文件夹检索对象?是否有预定义模版?

如果使用Modern工具包来构建通用应用程序,某些类型的视图也是可以共享的,而这个通常会使用响应式布局,如我们构建的Coworkee应用程序的第一页:http://examples.sencha.com/coworkee/#home

你如何看待从6.0.2升级到6.5.3?是否需要更改文件结构或者修改功能?

对于每一个发布版本,我们都会说明有什么新东西、发行说明和升级指南,例如《Ext JS 6.5.3有什么新东西》

我们还同了每一个版本的文档,如3.4.0,单击文档标题中版本名字的下拉箭头就可以查看列表。

如何来决定使用MVC架构还是使用MVVM架构?

在我们的文档网站有一篇非常好的文章《应用程序架构介绍》介绍了MVC和MVVM这两个架构。

在文中讲述了如何使用MVC或MVVM来实现一个Ext JS应用程序,并做了一个演示程序,参照它可以了解到更多的有关信息:http://examples.sencha.com/extjs/5.0.0/examples/ticket-app/index.html

Sencha Cmd末端的点是什么?

在一些示例中,我们尝试使用Sencha Cmd来生成node的体验版本,而它的别名就是“sencha.(带一个点)”:https://www.npmjs.com/package/sencha-node

Sencha App Watch会监控SCSS的改变么?

会的。Sencha App Watch会监控应用程序的任何改变,无论是JavaScript代码还是样式代码(.scss)。

当前版本的Ext JS会支持ES6么?

会的,会通过Sencha Cmd支持ES6(甚至超越)语法。在Ext JS v7会在某些领域支持,如class关键字将可用来创建Ext JS类(代替Ext.define和Ext.create),而且导入语句将替代Ext.require和requires配置项。要注意的是这些替换只是选项之一,Ext JS 7仍然支持Ext.define、Ext.create、Ext.require 和requires配置项。

Ext JS 7什么时候发布?

Ext JS 7计划在2018年第四季度发布。可以在博客文章《Sencha Product Roadmap Update》中查看有关路线图和有关的发布信息。

能简单比较一下Sencha和Reactjs吗?

Sencha Ext JS和React支持一个公共“组件”方法来构建HTML5的Web应用程序。最大的不同在于React没有强大的数据组件,而在Ext JS,包含100多个面向数据的组件。此外,Sencha发布了ExtReact产品,运行在React应用程序中使用Ext JS组件。有关ExtReact的更多信息,请参阅https://www.sencha.com/products/extreact/

在开发企业应用程序时,Ext JS一直是最好的工具,但自从收购以来,社区一直在担心需要重新选择框架,因为Idera可能会停止Ext JS的开发。Idera对于Ext JS的计划是怎样的?该框架会重新构建?会有长远的规划吗?

我们相信Ext JS是市场上最好的企业级JavaScript框架。我们希望为现有的和新的开发人员提供易于使用的产品。我们将继续与我们的社区合作通过改进工具链和现代工具来改进组件的可访问性,并将组件集成到其他可能的产品来提升用户价值(类似于ExtReact)。总的来说,我们希望简化和改进Sencha的用户体验。我们没有计划重新构建Ext JS。在安全性和可支持性方面,我们有许多有趣的想法,这样,使用Ext JS来构建企业应用程序更容易。你可以在博客文章《Sencha Product Roadmap Update》中查看有关路线图和有关的发布信息。

我很希望能有一个专门探讨如何测试大型Ext JS应用程序的网络研讨会,这个,近来会有吗?

我们一直在寻找来自我们社区的有关网络研讨会主题的反馈,非常感谢你的分享!是的,我们即将发布Sencha Test 2.2 GA,很可能会在网络研讨会上讨论这个话题。

作者:Marc Gusmano

Marc is a Sales Engineer with Sencha and has more than 30 years of experience in the software services industry. He has been extensively involved with custom HTML5 browser and mobile development projects, using his experience to build HTML5 Single Page Applications. Marc has worked for several large software services companies, including Andersen Consulting and Hitachi Consulting, and he was co-owner of a software services and training company for more than 10 years. Marc has a passion for building outstanding software, especially leading-edge, user-centric applications.

猜你喜欢

转载自blog.csdn.net/tianxiaode/article/details/79655760