HTML5介绍

Web组件化(Web Components)理念,自Google在2013年的I/O大会上提及起,一直都有开发者关注这一开发技术的发展,只是总处于不愠不火的状态。直至 HTML5规范的正式定稿,Web开发的异常火爆,让Web组件化的关注度也随之水涨船高。但由于概念较新,国内与此相关的内容少之又少,让想要了解它的 开发者无从下手。因此,我们专访了云适配CEO陈本峰,听他详解Web组件化是如何有效的减少开发时间和成本,未来在国内的发展方向,以及如何借助Amaze UI框架引领大家去适应Web Components这个理念。

 

CSDN:首先,能否具体讲解一下Web Components这个概念?

陈本峰:自 Google提出组件式开发这个概念以后,其实一直都蛮火热的。包括Google自己也做了一个叫Polymer的项目,此外,还有在Github上很热 门的项目Angular.js框架,它里面其实也引入了Components的概念。不过关于Components这件事,把它发挥到更极致的还是 Facebook。Facebook在去年推出了React.js框架,并在今年1月的React.js Conf 2015会议上发布了React Native,真正的实现了使用JavaScript开发移动原生应用。这个解决了一直以来希望能够一次开发,同时有几个不同的版本的需求。

Web Components核心思想就是整合所有的移动组件。首先是一 个按纽式的组件,然后按纽跟菜单或文字组合起来变成一个列表,这也是个组件。而列表跟其他东西,拼成一个网页,这也是一个组件。以此类推,就是组件的颗粒 度是可以从小到大去切分。但是从它的整个架构来说,所有的东西都是一个组件,那组件一个最大的好处是什么,就是复用。那这个Web Components标准提出来,就是做到Html、CSS、JS完全封装在一起了。

CSDN:您觉得Web Components这个概念如果在国内推行的话,对国内开发者来讲,和国外有什么区别?

陈本峰:这 个概念还是很新的,国内很少有文章是专门讲这块的,所以这个概念推起来,在国内还需一段时间。另一方面,真正的W3C标准可能得过两三年才能成熟。其实 W3C界面已经定义好了,但浏览器的支持还很有限,现在支持Web Components也就Chrome,而Firefox则宣布会在下一版本进行支持。所以,想要普及起来还需要一段时间。目前从市面上来看,真正做这个组件,自己有一套方法去解决组件组装问题的,除了W3C外,觉得React.js做的最好。

Amaze UI里也有Web Components组件,当时我们用的是国外的一个模板库。这种封装我们做的非常早,在12年的时候开始的。那时Web Components标准还没有被提出来,所以选了当时我们认为最好的方案。但是从这几年发展来看,我们的方案已经跟不上时代了,我们计划使用React.js来封装。

CSDN:上次您也说过,Amaze UI想引领大家去适应Web Components这个理念,在产品上有哪些措施或战略去实施这个理念?

陈本峰:如果有很多好用的组件,开发者自然会发现这个组件开发效率高,且代码维护成本很低,必然也会选择这种方案。而我相信组件最关键就是要丰富,这样才能吸引更多的开发者。所以我们会封装出越来越多好用的组件,未来希望形成一个社区,让大家一起贡献组件。

相当于一种平台化思路,刚开始的一些常用基本组件,都由我们来贡献。以后希望更多的开发者可以参与进来,只有这样才能节约所有人的开发时间,从而大大的提高开发效率。比如我开发出的东西别人可以复用,当然别人开发的我也可以使用,也就是互相节省时间。

CSDN:组件化的思路听起来既可行又方便,那为什么国内起步这么晚?

陈本峰:组 件的技术标准在前端一直都是缺失的,直到Google提出以后,才有了Web Components标准。在此之前,大家都不知道怎么去封装一个组件。像Facebook去年的React.js,它就提出了封装组件的一套技术和解决 方案。关于封装组件,必须要有一个定义和封装的一套规范,这样大家才能着手实施。现在我们希望借用React.js的技术规范,以后肯定会跟着W3C的标准走。

CSDN:您觉得组件化在国内成熟大概在什么时间点?期间要不要经历某些阶段?

陈本峰:这个成熟比较重要的时间点就是浏览器的支持,即Web Components的W3C标准会有多少浏览器去支持它。个人觉得在这两年之内,浏览器会全面兼容这一标准。至于普及,肯定要等浏览器兼容之后才能普及。但在这之前,我们用的不是W3C标准,而是选择React.js标准去做组件。

CSDN:等标准确立后,肯定会有后起的技术团队出现,相较他们,开源的Amaze UI能保证哪些优势?

陈本峰:最大的优势就是积累,第一,我们在Web Components上积累了很多,他们在短时间内很难积累到同样的数量;第二,我们积累了对各种设备、浏览器的兼容性和适配性,这点是真的要靠点滴累积的,别人很难去超越。第三,开源也算是一个优势,就像一个社区,开发者肯定会挑最大的框架使用。因为在使用中遇到问题的话,只要在网上搜索就能找到答案,而选择新框架的话,碰到问题也不容易找到帮助。

CSDN:在Amaze UI方面,打算做的一些迭代会包括哪些?

陈本峰:第 一,肯定还是会去做Web Components这块的封装,引入React.js,在Web上做更多的封装;第二,会把Amaze UI更好的去跟目前主流的一些Web App的开发框架去融合;那第三块,就是云适配,Amaze UI固有的一条思路,就是要去适配更多的设备和浏览器。后面我们还会做一个Amaze UI的编辑工具,完全在线版的,你可以拖曳组件,形成一个网页。

CSDN:作为一款开源的框架,Amaze UI会有怎样的盈利模式?

陈本峰:其实开源工具最容易想到的两个盈利模式就是,通过培训和技术支持。其中培训这一模式已经很成熟了,这是我们的选择之一。另一个选择就是我们会围绕Amaze UI去做一些产品来满足用户的周边需求。

比如云适配上就有我们提供的很好的服务,即图片压缩。其实在做跨平台的时候,图片压缩是特别实用的。因为你在做一张图片时,你希望能够适应不同的屏幕,这一点我们就可以提供。此外,还有比如支付这块,现在对于支付这个接口,我们只是简单的做了个集成,开发者还需要去写一些代码来实现支付。等以后支付这个组件封装好后,用户就可以直接拖过来就用。

CSDN:最近Apple Watch很火,有没有考虑运用到更小的屏幕或者电视的大屏上?

陈本峰:我们会去尝试,但电视的整个交互会完全不一样,而且电视对信息的展示方式也不同,这个部分其实目前大家都还在探索,包括国外也都在探索。但作为云适配,我觉得这是我们的使命,也是科研的一部分。

CSDN:对Amaze UI用户,您有哪些建议给他们吗?

陈本峰:第 一,我希望用户除了能够提供反馈外,还能够参与到Amaze UI的建设当中,比如一些兼容和适配性的问题。因为这是一个开源框架,开发者可以自己试着去修复这个问题。当然,这一点也是在中国做开源的一个问题,有点 孤军奋战的感觉。希望有更多的人参与进来,实现开源的真正意义,同时让Amaze UI变得更成熟。

还有就是,希望他们可以把好的案例提交到Amaze UI的论坛,这也是一个大家互相学习的过程,把它做成一个大家互相贡献代码,互相帮助,互相学习的平台。

CSDN:当Amaze UI很成熟时,基于它会有什么方向的延伸?

陈本峰:比 如刚才讲的组件,开发者可以参与进来,形成一个组件化的社区。那在这个社区之后,未来可能会形成组件的一些交易,类似Java中间件就有这种交易平台。甚 至在以后,就不仅仅是组件,而会是一个成熟的应用。如果哪个公司有需求,就可以直接到这个平台找相应的开发者。这个社区就像是一个纽带,我们可以连接各种 需求。

其实做互联网产品就是做用户,你在某个垂直行业里边,把这个行业吃透,再横向的去扩展你的业务。所有的互联产品都是这样的,先把一件事情做到极致,然后在这个市场树立行业老大的位置,接着扩展到周边的商业、服务或者产品。

受访人陈本峰介绍:陈本峰,云适配创始人CEO,云适配技术的发明者,国际互联网标准联盟W3C中国区唯一HTML5布道官,专注互联网标准以及浏览器相关技术研究超过10年。


欲了解更多Amaze UI活动,请点击:http://bbs.csdn.net/topics/390981952

原文地址:https://www.cnblogs.com/yanyao/p/4995529.html