迷恋Flex开发人员的HTML5框架

Mar*_*itt 12 javascript html5 css3

多年来,我一直作为flex dev工作,构建非常复杂的应用程序.随着最近的炒作,我有兴趣学习HTML5.

我喜欢Flex框架,它是一个用于构建RIA的一致,连贯,完整的堆栈.我喜欢它具有开箱即用的广泛组件,以及用于扩展和构建非常复杂,高度定制和皮肤化组件的框架.

HTML5空间中是否有类似的框架?

从我所做的搜索中,我看到有大量有用的.js脚本可以提供漂亮的组件,效果等.但是,我还没有找到一个具有成熟和架构组件库的可靠js框架.

这让我担心,在构建复杂的应用程序时,我可能最终会编写大量的管道代码来连接不同的组件.

我知道HTML5仍处于初期阶段,所以如果有一些我应该关注的有前景的框架,我想知道他们.

我的理想框架要求购物清单如下:

  • 实体组件架构(包括生命周期事件)
  • 扩展
  • 布局管理员
  • 浏览器不可知
  • 支持数据绑定
  • 支持复杂的皮肤
  • 服务层和协议的抽象(即,SOAP/JSON/XML服务都是一种类型IRemoteService)

与UI框架本身一起,Javascript空间中存在哪些框架

  • MVC架构.(类似于Parsley或Maté在Flex世界中)
  • 依赖注入
  • 单元测试

Mic*_*any 4

如果您是 Flex 开发人员,那么可能有兴趣查看 Sencha Frameworks(我的公司)的桌面版和移动版:用于桌面应用程序的 Ext JS 和用于移动/平板电脑应用程序的 Sencha Touch。

Ext JS 专注于可以一直运行到 IE6 的桌面 Web 应用程序,因此虽然我们可以做到这一点,但没有太多空间可以使用“HTML5”(我们的新图表内容使用 Canvas、SVG 或 VML,具体取决于浏览器)它发现自己打开了)。

Sencha Touch 专注于 Android、iOS、Blackberry 和 IE9(?) 移动浏览器,因此我们可以使用所有您可以使用的 CSS3、localStorage 等。如果您正在寻找一个测试用例,以了解当您从现代浏览器的假设开始时可以做什么,那么就是这样。

Ext JS 和 Sencha Touch 都是组件。对组件和布局的最好概述是这篇为 Ext JS 2 编写的文章,尽管 Ext JS 3 的组件和布局模型没有太大变化。布局正在为 Ext JS 4 进行重写 - 它将有它的第一个本月测试版 - 使它们更像 CSS3 Flexbox 布局系统。

可扩展性是拥有适当的组件模型的产物。Ext JS 有一堆可以混合和匹配的用户扩展组件。专业售后市场组件的一个很好的例子是Ext Scheduler。还有一个关于如何创建组件的很好的教程。

数据绑定:UI 组件绑定到存储,因此多个 UI 元素会随着新数据的变化而更新。您可以阅读商店 API 参考以了解其工作原理。

复杂的皮肤 - Sencha Touch 有一个优秀的主题系统,正在移植到 Ext JS 4 - 但由于 IE6 兼容性要求,Ext JS 3 和 2 涉及主题更多一些(你必须生成图像)

服务层通过数据代理进行抽象,数据代理扩展为JSON、Http、XML等。

Sencha Touch 和 Ext JS 4 有一个(简单的)MVC 架构。Ext JS 3 及以下版本没有。

这是关于Ext JS 中的依赖注入的一篇很好的文章(但它应该推广到 Touch)

对于单元测试,我们推荐 Jasmine - 它来自 Pivotal Labs。

Ext JS 和 Sencha Touch 的使用相当广泛 - Ext JS 主要用于企业应用程序,但也有很多大公司使用它,例如 Salesforce、Marketo 等,以供外部用户使用。Sencha Touch 有一个来自我们最新开发竞赛的漂亮应用程序库,您应该查看一下。

如果您关心工具,我们还有一个 GUI 拖放设计器和一个 CSS3 动画工具(后者在开发者预览版中)