开放才能进步!Angular和Wijmo一起走过的日子

Angular 已成为广受欢迎的前端框架。去年9月份,期待已久的 Angular2 的正式版发布之后,Angular 又迎来了新一轮热潮。伴随着 Angular 这一路走来,Wijmo 一直都是第一个全面支持各种版本 Angular 的JS控件库。那么,Wijmo 是怎么做到紧跟 Angular 步伐的呢?

Angular1时代

Angular1 支持 MVC 或 MVVM 模式,提供模块化、双向数据绑定、语义化标签、依赖注入等等,大大的简化了前端应用程序的开发。Angular1 一发布就引起了强烈的关注,尤其是它首次提出的“双向数据绑定”的概念受到了众多开发者的喜爱。

早在2012年,Wijmo 就响应客户的呼声,发布了支持 Angular1 的版本,使得 Wijmo 成为第一个全面支持 Angular1 的控件库。

Angular2的Alpha版

随着 Web 技术的不断发展,为了解决 Angular1 中的问题,Google 决定开发 Angular2。Angular 2 不是 Angular 1 的一次升级,而是一个全新的、不同的、更高级的框架。

这时,Wijmo 团队就决定率先支持 Angular 2,因为支持 Angular2 已是众望所归。这使得开发人员很容易在在他们的 Angular2 应用中集成 Wijmo 控件。

Wijmo 控件是纯 JavaScript 的,这也使得对 Angular 2 的支持更容易些,产品组可以为支持 Angular 2 进行很简单的包装,这样 Wijmo 的 UI 控件也可以脱离 Angular2 组件包装而独立工作。这是一个很大的付出,但是 Wijmo 做到了对 Angular2 的率先支持。

Angular2的Beta版

历经了55个 alpha 版本之后,2015年12月份,Angular 发布了 beta 版。意味着 Angular2 已经稳定。Beta 版还是给开发者们提供了一个坚实的框架来构建他们的应用程序。

为了率先支持 Angular,Wijmo 开发团队和 Angular 开发团队展开了合作,Angular 团队帮 Wijmo 解决了一些严重的问题。对Wijmo来说这是一个非常有趣的转变,从这个时候开始Wijmo就已经与Angular2保持了高度一致。2016年3月份Wijmo产品经理Chris采访了Angular的负责人Brad Green,一起畅谈Angular相关的话题,也见证了Wijmo和Angular的密切合作。

Wijmo采访Angular

Angular2的RC版

2016年5月的NG CONF(Angular大会)在犹他州盐湖城举行,Angular团队结束了Angular2的beta状态,将其推进到了发布候选(Release Candidate)阶段。大会期间Angular团队成员登台,深入介绍了Angular 2,包括新的离线模板编译器,Angular CLI等。在第一天的会议上,Brad也介绍了支持Angular2的组件库Wijmo。

2016 Angular大会(NG CONF),Brad Green介绍Wijmo

Angular2正式版

2016年9月15日,这对于Angular2来说是一个重要的日子,Angular2正式版发布了,在业界引起广泛关注。很多人认为Angular 2正式版有很多颠覆性的变化,是革命性。Angular 2系统架构中的核心概念包括模块、组件、服务、模板、数据绑定和依赖注入。

Wijmo在Angular2发布几个小时后就发布了支持Angular2正式版本的Wijmo。Wijmo为每一个UI控件都提供了Angular 2 组件。所有Angular 2组件都提供了完全声明性标记。对有需要的属性提供了双向绑定的支持,还对定制绑定和一些组件提供了附加功能,比如对FlexGrid中的单元格模板,可以允许用标签指明单元格的内容。Wijmo的Angular 2组件被封装为模块并且可以在Angular 2应用中作为NPM包被使用。遵循Angular 2团队设置的模式,在Angular2中使用Wijmo组件会感到非常熟悉。

Angular网站对Wijmo介绍

一切的合作,都以“开放”为基础

Wijmo率先支持Angular2取得成功后,不少媒体采访到Wijmo的产品经理Chris,试图探寻Wijmo和Angular 能密切合作的奥秘,归纳起来,主要是以下两点:

“首先,Angular 2团队的开发和路线是十分开放的,这也就保证了我们可以紧跟他们的脚步。其次,当我们遇到障碍时,Angular 2团队也很乐于为我们提供支持。我们和Angular团队建立了良好的友谊。我们也很享受和他们团队一起工作。我很感激他们的开放和支持。“

事实上,在提供对Angular 2的支持时,也遭遇了一些挑战。最大的挑战就是需要提供深度集成。由于Wijmo创建了包装,还需要解决如何平衡Angular 2组件的作用和声明性标记,所以我们编写了大量的代码,来促使我们的控件能够完全的用标记的方式配置,还创建了具有Angular特性的功能,比如FlexGrid中的单元格模板。这允许客户编写自定制的标记,在表格的每一列中使用。

为了做到这样,产品组需要深度理解Angular是如何工作的,同时必须要使用其内置的APIs。我们和Angular 2团队一起工作,使用公共APIs,解决了这个问题。事实上,他们也增加了一些东西供我们使用。

无论过程多么艰辛,Wijmo 做到了对Angular 率先并且完美的支持,这一切就基于“开放”,两个产品组开放合作的心态,以及产品本身在开放和路线上的开放性。

时间: 2024-11-09 23:58:44

开放才能进步!Angular和Wijmo一起走过的日子的相关文章

和Eclipse一起走过的日子

一见钟情 大二上学期,第一次接触java Web.老师为了帮助我们从底层理解java Web的运行环境,要求我们不能使用任何IDE,只能用记事本. 好吧,老师也是为了咱好.简单的一个Java Web项目就需要至少6个步骤. 步骤一:在Tomcat的webapps文件夹下新建项目文件夹,比如项目名是StudentManager; 步骤二:在StudentManager目录下新建文件夹WEB-INF.文件student_mgr.html 步骤三:在WEB-INF目录下新建文件夹classes.lib

一起走过的日子 - 高校俱乐部2014上半年校园活动精彩回顾

2014春季学期CSDN高校俱乐部校园活动精彩回顾 专题原地址:http://bss.csdn.net/cview/reg/?project_id=1363&identy_id=1248 高校俱乐部整理了2014上半年校园活动的精彩图集,在此感谢老师.主席和俱乐部干事们在各项活动组织和宣传中的辛勤付出,也感谢你们牺牲自己的宝贵时间,为更多的同学带来学习和交流的机会.期待和大家一起打造更多精彩的活动. 高校俱乐部携手TCL校园巡讲-西安电子科技大学 2014年3月24日,CSDN全国巡讲与TCL公

Top 10 JavaScript编辑器,你在用哪个?

欢迎大家持续关注葡萄城控件技术团队博客,更多更好的原创文章尽在这里~~ 对于JavaScript程序员来说,目前有很多很棒的工具可供选择.文本将会讨论10个优秀的支持JavaScript,HTML5和CSS开发,并且可以使用Markdown进行文档编写的文本编辑器.为什么使用编辑器而不是IDE进行JavaScript编程?原因就是速度快. 编辑器和IDE之间的本质区别在于:IDE不但可以调试,并且可以对代码进行概要分析,IDE还支持应用程序的生命周期管理(ALM)系统.我们在这里讨论的许多编辑器

多维透视表 - 矩表实现商品销售对比统计

欢迎大家持续关注葡萄城控件技术团队博客,更多更好的原创文章尽在这里~~ 常见的二维数据透视表(交叉表)通过横向和纵向展示数据,进行一些简单的汇总运算,而传统的数据透视表功能单一,汇总方式简单,已经无法满足现代大数据量各种条件分析,因此多维透视表应运而生. 多维透视表在功能强大的同时,创建难度也会随之提高 多层分组嵌套的复杂的组织结构 复杂的汇总分析公式的编辑 小计和总计的区分等等要面临的复杂问题 如果用代码实现,可能复杂程度不堪想象,更不用谈大数据量级别下报表加载的性能问题.而使用现有的简单报表

最流行的5个前端框架对比

欢迎大家持续关注葡萄城控件技术团队博客,更多更好的原创文章尽在这里~~ 如今出现了大量的CSS前端框架,但真正优秀的框架只有少数几个. 本文将会比较其中五个最佳的框架.每个框架都有自己的优点和缺点,以及具体的应用领域,你可以根据自己的具体项目需求进行选择.此外,许多选项都是模块化的,允许你仅使用所需的组件,甚至可以混合使用来自不同框架的组件. 本文依据各个框架的GitHub流行度来顺序介绍. Bootstrap Bootstrap是目前可用框架中无可争议的领导者.其人气日益增长,你可以放心的选择

Angular Module声明和获取重载

module是angular中重要的模块组织方式,它提供了将一组内聚的业务组件(controller.service.filter.directive…)封装在一起的能力.这样做可以将代码按照业务领域问题分module的封装,然后利用module的依赖注入其关联的模块内容,使得我们能够更好的”分离关注点“,达到更好的”高内聚低耦合“.”高内聚低耦合“是来自面向对象设计原则.内聚是指模块或者对象内部的完整性,一组紧密联系的逻辑应该被封装在同一模块.对象等代码单元中,而不是分散在各处:耦合则指模块.

Angular - - ngInclude、ngTransclude

这两个都是HTML DOM嵌入指令 ngInclude 读取,编译和插入外部的HTML片段. 格式:ng-include=“value”<ng-include src=”value” onload=“ex”autoscroll=“str”></ng-include>  class=”ng-include:value” value:string类型  模板id或者模板url ex:表达式,载入的时候执行. autoscroll:页面载入后,当ngInclude需要调用$anchorS

Angular.js浅谈

至今博主对于MVVM框架比较了解的就只能算有Angular了,首先给大家明确一个概念,Angular1.x才能叫Angular.js,而Angular2.4.5都直接叫Angular了,因为从2开始已经是用TypeScript开发的了,不能再称它为js框架,值得肯定的是Ng2比Ng1.x的确更强大,更加规范,开发出来的应用的性能也相对变强了些,不过Ng2的太过激进的变动使得框架使用复杂度变大,1.x的用户相当于要重新学习一种开发模式,用户流失严重. 今天呢,我不在这里做具体的功能介绍,这些没什么

未完成的IT路停在回车键---2014年末总结篇

时间都去哪儿了? 一晃而过,越来越能体会到这个词的真实感.特别是过了二十岁,这种感觉越来越深刻,越来越强烈,犹如小编做公交车的时候一直向后排排倒的香樟树,还记得有首歌叫时间都哪儿了,而后,这首歌传遍了大江南北,或许在电视机屏幕另一端的那个你,在听到旋律与歌词的那一瞬,你的心是否也被重重的戳了一下,因为她唱出了心声,击中内心最柔软的地方,你是否也像小编一样陷入了深深的沉思,就像歌词里面唱的那样:时间都去哪儿了?这些年,我们的时间都去哪儿了.都说岁月苍老了父母的容颜,苍老的何止是他们的容颜啊."时间