谷歌宣称web组件才是web开发的未来
谷歌宣称web组件才是web开发的未来
虽然今年的谷歌I/O大会没有出现像去年谷歌眼镜发布时直播疯狂跳伞这样的活动,但是上周仍然有不少产品推出。谷歌宣布对谷歌地图、搜索、安卓,以及其他 很多产品做出更新,谷歌还花了一些时间谈了谈web组件。谷歌的Sundar Pichai指出,这项技术目前仍然处于初级阶段,但他同时也说道,他认为“web组件的前景是非常明确的”,开发者可以利用这项技术开发出“可在各种形 式下运行的用户界面”

对于众多Chrome开发者而言,web组件显然是一个距离Chrome核心最近的主题。举个例子,在本周的一次炉边会议上,许多业界人士都认为web组件是Chrome最主要的功能之一。
目前,许多谷歌工程师正在努力开发Project Polymer,这些工程师的目标,是编写出一个网页应用框架,程序员不仅可以在这个框架上构建web组件,而且可以利用web组件,在浏览器上构建出目前技术无法实现的一些功能。
在本届谷歌I/O大会上,web组件技术已经出露端倪,比如WebGL,还有其他一些已经建立的网页开发技术。非常明显,谷歌相信,web组件技术正潜在地改变着程序员编写未来网web应用的方式。
那么,这意味着什么呢?本质上来说,web组件可以为程序员提供一种更简单的方式, 依靠HTML,CSS以及JavaScript这些已知的语言,他们可以构建出网站,并能在网站上开发出可循环使用的小功能。而web组件背后的理念早已 经出现(数年前,微软就支持过类似的创新,但是他们没有成功),不过即使到今天为止,这项技术对大多数人而言仍然比较陌生。
通过智能组件模式构建独立页面的大型网页应用,在今天也并非易事。web组件可以帮助程序员封装他们的HTML,CSS,以及JavaScript,这样这些应用程序对网页上的其他功能就不会产生影响,同理,网页上的其他功能也不会调停应用程序。
值得注意的是,程序员无法依靠组件在所有浏览器上工作。Chrome Canary包括了对web组件的支持,但是它是隐藏在许多flags属性后面的。Mozilla也很有可能在最近增加其火狐浏览器的相关支持功能。最重 要的是,谷歌的Polymer项目,就是希望可以利用他们开发polyfill框架,把web组件的概念应用在所有浏览器上。
网页组件依靠四大件——模板元素,装饰模式(decorators:将模板应用到 CSS上),自定义元素(允许程序员创建自己的元素),以及Shadow DOM(虽然这个名字不怎么好听,但是它真的只是定义了如何将不同的网页部分拼凑在一起,而且在必要的时候,还能从常规DOM中保护其他三个网页组件)
把上述四大件放在一起,包括自定义元素,程序员可以很快创建自己的HTML标签,他 们还可以扩展已有的元素。此外,web组件还能让程序员更加便捷的分类内容, Shadow DOM则确保了你创建的网页样式不会受到网站其他部分的调停,因为使用web组件创建的应用就可以做到这一点。
所有这一切,听起来似乎不是那么丰满,但是如果能抓住其核心(程序员没有理由不抓 住),这将会改变程序员编写网页应用的方式(谷歌的Eric Bidelman称之为“网页开发构造性的改变”)。加上web组件固有的优势,也将进一步提升用户的网页浏览体验。最后,虽然这代表了一种全新的网页应 用编写方式,但在这场革命完成之前,业界可能还需要一些时间过渡。
浪风也认为这是一个不可逆挡的趋势,前段时间我还和朋友浅谈了web开发的未来:未来的web才是一个最大的框架,不管手机还是电脑还是其他可浏览设备都只是一个显示终端,单个开发人员或是团队开发人员只要让几个数据,就可以构建外观漂亮、内在强大的web网站或者叫web应用程序(cms/erp/crm/mrp)。甚至web无处不在,将为变得和说话一样简单,任何一个人(小学生/中学生/大学生/农民工/行政文员/业务经理/甚至boss老板)都可以针对自己的个人偏好(企业业务)需求创建独特的web应用,随时都可以发布到互联网。要达到这种高度自由定制化也正是web碎片化的未来,毕竟还是未来可能会发生的东西,我也不知道又没表述清楚,不过只要对大家有用就行,有时一个不同的小点会激发大家无限的未来。
谷歌宣称web组件才是web开发的未来的更多相关文章
- amazeui学习笔记二(进阶开发5)--Web 组件开发规范Rules
amazeui学习笔记二(进阶开发5)--Web 组件开发规范Rules 一.总结 1.见名知意:见那些class名字知意,见函数名知意,见文件名知意 例如(HISTORY.md Web 组件更新历史 ...
- 学习React系列(七)——Fragments、Portals、Error Boundaries与WEB组件
React.Fragment portals Error Boundaries WEB组件 React.Fragment 想象一个场景,想把td包装为组件添加到table中去,代码如下: class ...
- stenciljs ionic 团队开发的方便web 组件框架
stenciljs 是ionic 团队开发的方便组件话开发的js 框架,具体以下特点 简单,零配置,简单的api,typescript 支持 性能,压缩之后6Kb,支持ssr,以及强大的原生web c ...
- SpringMVC内容略多 有用 熟悉基于JSP和Servlet的Java Web开发,对Servlet和JSP的工作原理和生命周期有深入了解,熟练的使用JSTL和EL编写无脚本动态页面,有使用监听器、过滤器等Web组件以及MVC架构模式进行Java Web项目开发的经验。
熟悉基于JSP和Servlet的Java Web开发,对Servlet和JSP的工作原理和生命周期有深入了解,熟练的使用JSTL和EL编写无脚本动态页面,有使用监听器.过滤器等Web组件以及MVC架构 ...
- amazeui学习笔记二(进阶开发2)--Web组件简介Web Component
amazeui学习笔记二(进阶开发2)--Web组件简介Web Component 一.总结 1.amaze ui:amaze ui是一个web 组件, 由模板(hbs).样式(LESS).交互(JS ...
- WEB组件 开发 (未完成 4-13)
整理自真阿当的阿当大话西游之WEB组件,课件中的代码下载. 14. 抽出widget类 组件分两大类: utility(大部分与UI无关的组件) 和 widget(应用层,大部分与UI相关的,日历组件 ...
- web组件开发入门
本文是学习慕课网阿当大话西游之WEB组件后的一个总结. 组件的分类 1 框架组件:依赖于某种框架的组件 2 定制组件:根据公司业务定制的组件 3 独立组件:不依赖框架的组件 定义和加载组件 解决css ...
- 【转】组件化的Web王国
本文由 埃姆杰 翻译.未经许可,禁止转载!英文出处:Future Insights. 内容提要 使用许多独立组件构建应用程序的想法并不新鲜.Web Component的出现,是重新回顾基于组件的应用程 ...
- 横向浅谈移动技术------( 原生,混合,web --- 谁能问鼎移动开发的明天)
目前移动互联网基本采用了NativeApp.WebApp.HybridApp三种开发模式,很难说这三种模式那种更优越,目前的情况可以说是三分天下吧,不同的开发者可以根据自己的实际情况选择不同的开发模式 ...
随机推荐
- 解魔方的机器人攻略15 – 安装 Eclipse
由 动力老男孩 发表于 2009/12/27 17:40:49 在远古时代,程序员们通常用写字板来编写Java程序,然后用Javac.exe和Java.exe来编译和执行.对于NXT来说,对应的命令是 ...
- SQL 存储过程入门(事务)
本篇我们来讲一下事务处理技术. 为什么要使用事务呢,事务有什么用呢,举个例子. 假设我们现在有个业务,当做成功某件事情的时候要向2张表中插入数据,A表,B表,我们插入的顺序是先插入A,再插入B表,如果 ...
- tc: 模拟网络异常的工具-----------鸟窝
http://colobu.com/2017/04/21/tc-introduction/
- 使用Chrome DevTools直接调试Node.js与JavaScript(并行)
Good News: 现在我们可以用浏览器调试node.js了!!! 前提 Node.js 6.3+, 这个可上Node.js官网自行下载: Chrome 55+. 如果您本地的chrome升级到最新 ...
- Javascript中的原型链、prototype、__proto__的关系
javascript 2016-10-06 1120 9 上图是本宝宝用Illustrator制作的可视化信息图,希望能帮你理清Javascript对象与__proto__.prototype和 ...
- ASIHTTPRequest学习(四)
如果是IOS5的版本,可能集成过程中会遇到一些问题,我也找到了一些解决方案,比如,集成完后可能会遇到编译提示找不到"libxml/HTMLparser.h",解决这个问题可以参考这 ...
- kubernetes API Server安全
用户访问API Server(以下简称Server),K8S的安全检查步骤:认证和授权. 认证解决用户是谁的问题,就是验证用户名密码;授权解决用户能做什么的问题,就是检查该用户是否拥有权限访问请求的资 ...
- [置顶]
python3 django models保存filefiled字段统一目录、不修改文件名的方法
最经编写一个model时处理filefiled,使用post_form.save()进行新增和编辑文件保存位置不统一,如果出现重复文件名重复的话,上传文件名会被改名. 现有代码如下: models.p ...
- Linux取消挂载,删除用户及其目录
取消挂载 取消挂载命令: umount /dev/sdb 命令umount 文件系统/挂载点 umount /dev/sdb 例如:umount /dev/sdb即可将sdb1取消挂载. 如果出现de ...
- 编译spark源码及塔建源码阅读环境
编译spark源码及塔建源码阅读环境 (一),编译spark源码 1,更换maven的下载镜像: <mirrors> <!-- 阿里云仓库 --> <mirror> ...