手把手带你快速入门jQuery(建议收藏!!!)
jQuery是一个快速、简洁的JavaScript框架,是继Prototype之后又一个优秀的JavaScript代码库(或JavaScript框架)。
jQuery设计的宗旨是“write Less,Do More”,即倡导写更少的代码,做更多的事情。它封装JavaScript常用的功能代码,提供一种简便的JavaScript设计模式,优化HTML文档操作、事件处理、动画设计和Ajax交互。
jQuery的核心特性可以总结为:具有独特的链式语法和短小清晰的多功能接口;具有高效灵活的css选择器,并且可对CSS选择器进行扩展;拥有便捷的插件扩展机制和丰富的插件。jQuery兼容各种主流浏览器,如IE 6.0+、FF 1.5+、Safari 2.0+、Opera 9.0+等
搭配视频效果更佳哦~~~
https://www.ixigua.com/6846624275877593611
jQuery 是一款跨主流浏览器的JavaScript 库,封装了JavaScript 相关方法调用,简化JavaScript 对HTML DOM 操作
官网地址: https://jquery.com/
官网首页jQuery 介绍:
原文翻译:
jQuery 是一个快速,小巧,功能丰富的JavaScript 库。 它通过易于使用的API 在大量浏览器中运行,使得HTML 文档遍历和操作,事件处理,动画和Ajax 变得更加简单。 通过多功能性和可扩展性的结合,jQuery 改变了数百万人编写JavaScript 的方式。
非常重要的理由就是:它能够兼容市面上主流的浏览器, IE 和FireFox, Google 浏览器处理 AJAX,创建异步对象是不同的,而jQuery 能够使用一种方式在不同的浏览器创建AJAX 异步对象。
其他优点:
(1) 写少代码,做多事情【write less do more】
(2) 免费,开源且轻量级的js 库,容量很小
(3) 兼容市面上主流浏览器,例如 IE,Firefox,Chrome
(4) 能够处理HTML/JSP/XML、CSS、DOM、事件、实现动画效果, 也能提供异步AJAX 功能
(5) 文档手册很全,很详细
(6) 成熟的插件可供选择,多种js 组件,例如日历组件(点击按钮显示下来日期)
(7) 出错后,有一定的提示信息
(8) 不用再在html 里面通过<script>标签插入一大堆 js 来调用命令了
例如:使用JavaScript 定位DOM 对象常用的三种方式:
(1) 通过ID 属性:document.getElementById()
(2) 通过 class 属性:getElementsByClassName()
(3) 通过标签名:document.getElementsByTagName()
上面代码可以看出JavaScript 方法名太长了,大小写的组合太多了,编写代码效率,容易出错。jQuery 分别使用$(“#id”) , $(“.class 名”) , $(“标签名) 封装了上面的 js 方法。
文档对象模型(Document Object Model,简称 DOM),是 W3C 组织推荐的处理可扩展标志语言的标准编程接口。
通过 DOM 对 HTML 页面的解析,可以将页面元素解析为元素节点、属性节点和文本节点,这些解析出的节点对象,即 DOM 对象。DOM 对象可以使用 JavaScript 中的方法。
官网下载地址:https://jquery.com/download/
jQuery 的不同版本中,2.xx 不再支持 IE6/7/8 浏览器。现阶段IE6/7/8 已经是淘汰的,非主流。可以不用考虑兼容问题。
对于每一个同一版本号的 jQuery,其库又分为两个。一个是未压缩版,可查看源码,开发时使用;一个是压缩版,将注释、空格均做了删除,将变量字符数减少,产品上线时使用。
编写jQuery 的工具很多,能编写HTML 的工具都支持jQuery. 例如记事本 ,EditPlus, webStorm, Visual Studio Code , HBuilder , HBuilderX , IDEA.
单独学习jQuery 库使用,可以轻量的开发工具,例如EditPlus ,HBuilder,HbuilderX
编写项目可以使用集成开发工具,例如在IDEA, Eclipse ,MyEclipse ,WebStorm 等
第一个例子完成:浏览器完全装载html 页面 DOM 后,显示一个提示信息框
实现步骤:
1. 使用HBuilder 或HbuilderX, idea 都可以,以HbuilderX 为工具,创建一个项目(名称:jquery-course),给项目选择一个文件存放目录。
2. 在项目中再创建一个目录
右键项目名称—新建—目录,常用名称为 js
3. 拷贝下载的jQuery.js 文件到目录
4. 使用 jQuery,首先要将 jQuery 库引入。使用如下语句:
<script type=\”text/javascript\” src=\”js/jquery-3.4.1.js\”></script>
5. $(document),将 DOM 对象 document 转换为jQuery 对象。
$(document).ready()函数是当 DOM 对象加载完毕后,马上执行的函数。
$(document).ready()与$()、jQuery()、window.jQuery()是等价的,所以
$(document).ready()可以写成 $(function() { alert(“Hello jQuery”) } );
6. 完整代码
DOM 对象是用JavaScript 语法创建的对象,也看做是 js 对象。
使用$(DOM 对象) 方式,可以 DOM 对象转换为 jQuery 对象, 转换为jQuery 对象才可以使用jQuery 中的提供的方法,操作DOM 对象。一般情况下,在命名 jQuery 对象时,为了与 DOM 对象进行区分,习惯性的以$ 开头,这不是必须的。
例:新建html 页面文件 domTojQuery.html
1. 页面加入按钮 button
2. 转换 DOM 对象
jQuery 对象本身为数组对象,该数组中的第 0 个元素即为该 jQuery 对象对应 的 DOM
对象。所以有两种方式可以获取到 DOM 对象:get(0) 方式与下标[0]
例:新建html 文件 jQueryToDom.html
1. 页面添加 text ,button
2. jQuery 对象.get(0) 或 jQuery 对象[0] 均可完成 jQuery 对象转 DOM对象
选择器: 就是定位条件;通知jquery 函数定位满足条件的DOM 对象
根据ID,class 属性,标签类型名定位HTML 元素,转为jQuery 对象.
1. id 选择器
语法:$(“#id”)
2. class 选择器
语法:$(“.class 名称”)
3. 标签选择器
语法:$(“标签名”)
例:新建selector.html
1. 在页面 head 部分加入 css
2. 加入 jQuery 引用
3.body 部分定义div
4.创建 js 函数
4. 所有选择器
语法:$(“*”) 选取页面中所有DOM 对象。
5. 组合选择器
组合选择器是多个被选对象间使用逗号分隔后形成的选择器,可以组合 id, class,标签名等。
语法:$(“#id, .class, 标签名”)
例:
1. 上面的 selector.html 页面中加入按钮
2. 增加 js 函数
表单相关元素选择器是指文本框、单选框、复选框、下拉列表等元素的选择方式。该方法无论是否存在表单<form>,均可做出相应选择。表单选择器是为了能更加容易地操作表单,表单选择器是根据元素类型来定义的
<input type=\”text\”>
<input type=\”password\”>
<input type=\”radio\”>
<input type=\”checkbox\”>
<input type=\”button\”>
<input type=\”file\”>
<input type=\”submit\”>
<input type=\”reset\”>
$(\”:tr\”): 不能用,tr 不是input 标签语法: $(\”:type 属性值\”)
例如:
$(\”:text\”)选取所有的单行文本框
$(\”:password\”)选取所有的密码框
$(\”:radio\”)选取所有的单选框
$(\”:checkbox\”)选取所有的多选框
例:
新建form.html 页面定义元素:
定义 js 函数:
jQuery 对象中存储的DOM对象顺序与页面标签声明位置关系
<div>1</div> dom1
<div>2</div> dom2
<div>3</div> dom3
$(\”div\”) == [dom1,dom2,dom3]
过滤器就是过滤条件,对已经定位到数组中DOM 对象进行过滤筛选,过滤条件不能独立出现在jquery 函数,如果使用只能出现在选择器后方。
1. 选择第一个first, 保留数组中第一个DOM 对象
语法:$(“选择器:first”)
2. 选择最后个last, 保留数组中最后DOM 对象
语法:$(\”选择器:last\”)
3. 选择数组中指定对象
语法:$(“选择器:eq(数组索引)”)
4. 选择数组中小于指定索引的所有DOM 对象
语法:$(“选择器:lt(数组索引)”)
5. 选择数组中大于指定索引的所有DOM 对象
语法:$(“选择器:gt(数组索引)”)
1.定义样式
2. 页面加入div
3. 定义js 函数
1. 选择可用的文本框
$(“:text:enabled”)
2. 选择不可用的文本框
$(“:text:disabled”)
3. 复选框选中的元素
$(“:checkbox:checked”)
4. 选择指定下拉列表的被选中元素
选择器>option:selected
例:
创建filterForm.html 页面:
js 函数
jQuery基础回顾——jQuery与Ajax应用
Ajax全称为“Asynchronous JavaScript XML”(异步javaScript和XML),它并不是指一种单一的技术,而是有机地利用了一系列交互式网页应用相关的技术所形成的结合体。
- 不需要插件的支持
Ajax不需要任何浏览器插件,就可以被绝大多数主流浏览器所支持,用户只需要允许javaScript在浏览器上执行即可。
- 优秀的用户体验
这是Ajax技术的最大优点,能在不刷新整个页面的前提下更新数据,这使得Web应用程序能更为迅速地回应用户的操作。
- 提高Web程序的性能
与传统模式相比,Ajax模式在性能上的最大区别就在于传输数据的方式,在传统模式中,数据提交时通过表单(Form)来实现的,而数据获取是靠全页面刷新来重新获取整页的内容,Ajax模式只是通过XMLHttpRequest对象向服务器提交希望提交的数据,即按需发送。
- 减轻服务器和宽带的负担
Ajax的工作原理相当于在用户和服务器之间加了一个中间层,使用户操作与服务器响应异步化,它在客户端创建Ajax引擎,把传统方式下的一些服务器负担的工作转移到客户端,便于客户端资源来处理,减轻服务器和宽带的负担。
Ajax的核心是XMLHttpRequest对象,它是Ajax实现的关键——发送异步请求、接收响应及执行回调都是通过它来完成的。XMLHttpRequest对象最早是在Microsoft Internet Explorer 5.0 ActiveX组件中被引入的,之后各大浏览器厂商都以javaScript内置对象的方式来实现XMLHttpRequest对象,虽然大家对它的实现方式有所区别,但是绝大多数浏览器都提供了类似的属性和方法,而且在实际脚本编写方法上的区别也不大,实现的到的效果也基本相同。
jQuery对Ajax操作进行了封装,在jQuery中$.ajax()方法属于最底层的方法,第2层是load()、$.get()和$.post()方法,第3层是$.getScript()和$.getJSON()方法。
1、load()方法
- 远程载入HTML文件
load()方法是jQuery中最为简单和常用的Ajax方法,能载入远程HTML代码并插入到DOM中,它的结构为:
url:待装入 HTML 网页网址。
data:发送至服务器的 key/value 数据。在jQuery 1.3中也可以接受一个字符串了。
callback:载入成功时回调函数。
等DOM元素加载完毕后,通过单击id为“send”的按钮来调用load()方法,然后将test.html的内容加载到id为“resText”的元素里。
显然,load()方法完成了原本很繁琐的工作,开发人员只需要使用jQuery选择器为HTML片段指定目标位置,然后将要要加载的文件的URL作为参数传递给load()方法即可,当单击按钮后,test.html页面的HTML内容就会被加载并插入对应元素中。
- 筛选载入的HTML文件
上个例子是将test.html页面中的内容都加载到id为“resText”的元素里,如果只需要加载test.html页面内的某些元素,那么可以使用load()方法的URL参数来达到目的,通过为URL参数指定选择符,就可以很方便地从加载过来的HTML文档里筛选出所需要的内容。
load()方法的URL参数的语法结构为“url selector”,注意,URL和选择器之间有一个空格,例如只需要加载test.html页面中class为“para”的内容,可以使用如下代码来完成:
- 传递方式
load()方法的传递方式根据参数data来自动指定,如果没有参数传递,则采用GET方式,反之,则会自动转换为POST方式。
- 回调参数
对于必须在加载完成后才能继续的操作,load()方法提供了回调函数(callback),该函数有3个参数,分别代表请求返回的内容、请求状态和XMLHttpRequest对象,jQuery代码如下:
2、$.get()方法和$.post()方法
load()方法通常用来从Web服务器上获取静态的数据文件,然而这并不能体现Ajax的全部价值,在项目中,如果需要传递一些参数给服务器中的页面,那么可以使用$.get()或者$.post()方法(或$.ajax()方法)。
- $.get()
url:待载入页面的URL地址
data:待发送 Key/value 参数。
callback:载入成功时回调函数。
type:返回内容格式,xml, html, script, json, text, _default。
示例代码如下:
这是一个简单的 GET 请求功能以取代复杂 $.ajax 。请求成功时可调用回调函数。如果需要在出错时执行函数,请使用 $.ajax。
- $.post()
它与$.get()方法的结构和使用方式都相同,不过它们之间仍然有以下区别。
- GET请求会将参数跟在URL后进行传递,而POST请求则是作为HTTP消息的实体内容发送给Web服务器,当然,在Ajax请求中,这种区别对用户是不可见的。
- GET方式对传输的数据有大小限制(通常不能大于2KB),而是用POST方式传递的数据量要比GET方式大得多(理论上不会受限制)。
- GET方式请求的数据会被浏览器缓存起来,因此其他人就可以从浏览器的历史记录中读取到这些数据,例如账号和密码等,在某种情况下,GET方式会带来严重的安全性问题,而POST方式相对来说就可以避免这些问题。
- GET方式和POST方式传递的数据在服务器端的获取也不相同,在jsp中,GET方式的数据可以用Request.QueryString获取,而POST方式可以用Request.Form获取。
上面使用load()、$.get()和$.post()方法完成了一些常规的Ajax程序,如果还需要编写一些复杂的Ajax程序,那么就要用到jQuery中的$.ajax()方法,$.ajax()方法不仅能实现与load()、$.get()和$.post()方法同样的功能,而且还可以设beforeSend(提交前回调函数)、error(请求失败后处理)、success(请求成功后处理)以及complete(请求完成后处理)回调函数,通过这些回调函数,可以给用户更多的Ajax提示信息,另外,还有一些参数,可以设置Ajax请求的超时时间状态等。
3、$.ajax()方法
$.ajax()方法是jQuery最底层的Ajax实现,它的结构为:
url:一个用来包含发送请求的URL字符串。
settings:AJAX 请求设置。所有选项都是可选的。
settings选项1
settings选项2
若感觉对您有用,可以关注并转发,您的关注是对我莫大的支持!
上一节:
谷歌 Web 开发技术变迁史与踩坑史
馨苑•2015/05/28 16:28
这是「 NEXT Collections | Google I/O」系列的开篇。NEXT Collections 是NEXT 用户基于产品集的干货分享专栏。Google I/O 期间,我们邀请和聚集了 NEXT 用户中的 Google 工程师、国内 Android 顶尖开发者,为大家分享和呈现关于 Google 的最干货信息与观点碰撞。
文章的作者 CJ 是 Google 八年的资深工程师,现回国创办了在线协作文档「一起写」,这篇文章也是他与 geek 范的同事们在「一起写」协作完成的。点击 NEXT 产品集「Google 开源项目」,完整查看文中提到的技术与开源项目。
过去十几年来, Web 开发技术从最初的纯 HTML 到 CGI、PHP / JSP / ASP、Ajax、Rails、Node.js,已经发展到了一个非常成熟的阶段。去年的 Google I/O,谷歌开发者中心推出了关于 Web 开发的最佳实践手册;而今年的 Google I/O ,「The Next Generation of Mobile Web」依然是其中的一个重要议程。
不过,前人栽树,后人乘凉。现在大家拷贝的代码可不是自己从土里自己长出来的,而是技术大牛一行行敲出来。即便是谷歌这样的互联网巨鳄,在 Web 开发上也经历过无数的努力和踩过一个又一个的坑。今晚 Google I/O 正式开启之前,我就给大家讲讲这些事儿,聊聊从 Desktop 时代到今天的 Mobile 时代,谷歌 Web 开发技术的变迁、踩过的坑。
| Gmail、Google Map : 世界疯了两次
大家知道,最早期的 web 开发指的就是 HTML,CSS,JavaScript,很多刚毕业的学生就会说,“切,会写 HTML,JS, CSS 不算写程序, 会写 C++ 的才算”, 这可大错特错了。你们想想,写一个 C++ 程序只需要会一种语言,写个 Web 应用得学三种语言,而且这三种语言还以一些神秘的、很多时候还没有文档的奇怪方式联系在了一起,再加上某些西北角的公司在里面再捣捣乱,导致 Web 应用非常的难以维护,直接的后果就是 99% 的应用都是简单的网页加上一点点可怜的逻辑,完全无法取代桌面上的应用。
这个时候,英雄出现了。Google 在 2004 年愚人节那天发布了一个叫做 Gmail 的东西,当时 email 的容量只有可怜的 10MB 或者 20MB,Google 突然说提供 1GB 的邮箱并且不断增长,于是,全世界疯了。可是在大容量的背后,大家发现原来 Gmail 不仅仅只是大,而且让你觉得你在使用一个桌面的应用,而不是一个以前传统的网页的应用。所以可以说,Gmail 是 Web 开发的一个里程碑,第一个大规模部署的 Ajax 的应用程序。
紧接下来的一年,也就是 2005 年的情人节前后,Google Map 神奇般地出现了,世界再一次疯了。所有人都觉得不可思议,原来网页的程序可以做得那么酷炫,而 2000 年左右科技泡沫鼎盛时期的那些网站是多么的可笑。当时 Map 的组里面有 2 个人很值得一提,一个叫 Lars Rasmussen 的澳大利亚人,一个叫 Bret Taylor 的美国人,后面我们会慢慢的提到。
| 重写 Gmail
在开发 Map 和 Gmail 的过程中,Google 的工程师逐渐意识到一个高度结构化的JavaScript 库的重要性。因为逻辑越来越复杂,代码量越来越多,功能也越堆越多,之前写得那些代码已经根本满足不了不断变化的需求了。于是伟大的工程师们做了一个 Googler 经常做的决定:我们重写吧。
一个伟大的重写 Gmail 的计划逐渐张开了,也就是今天大家看到的 Gmail 的前身。在整个重写的过程中,一个高度独立、结构化的 JavaScript 的库被抽象出,这就是可能很多前端工程师们知道的 Google Closure。用今天的话来说,Closure 不是一个简单的 JavaScript 的库,他是一种方法论,一种情怀,所以任何拿 jQuery 和 Closure 相对比的言论都是一种对 Closure 的侮辱。Closure告诉大家,大家应该像写 java 一样的去写 javaScript,分清楚什么是一个类,什么是类的成员变量,什么是成员方法,什么继承,什么是接口等等…所有你熟悉的面向对象的概念都可以在 Closure 里面找到。Closure 的出现极大地改变 Google 内部写 JavaScript 的效率,导致复杂的 Ajax 的应用如雨后春笋一样在 Google 内部迅速出现。
| 聪明人太多的产物:奇葩技术 GWT
如果让 Google 的工程师们自己找 Google 一个不好的地方,一定有一点,那就是聪明人太多,没法管理。就在 Gmail 如火如荼重写的时候,另外一个团队在悄无声息的做着另外一个类似的努力去改变 Web 开发,那就是 2006 年发布的 GWT(Google Web Toolkit)。这是一个无比奇葩的技术,程序员写的代码是 java,出来的是 JavaScript,就像你吃的是草,挤出来的是奶一样。这个技术的根本目的和 Closure 是一样的,就是为了让程序员用写 java 的方式去写 Web 应用,只是他的方式更直接,连 JavaScript 都省了。其实原理也很简单,就是通过编译器在编译阶段把 java 转成了 JavaScript 代码。可是,这个技术有一个致命的缺点:你想想,要有多麻烦才能在浏览器里面调试一堆由编译器生产的JavaScript 代码。于是无数的各种附加调试技术出现,告诉大家怎么去简化 GWT 的调试,但是都没有解决根本问题。GWT 的最大的好处就是如果你的网页是由标准的控件组成的,比如输入框、选择框、多选等,那么 GWT 会极大的简化你的代码量.就是因为这个好处,GWT 一直活到了今天,因为 Google 最赚钱的广告系统的前端是就是用 GWT 写的。可见,计算机语言的世界也是看爹的哈哈。
2007,2008 貌似很平静,Google 也没发布什么惊人的、大的前端产品和框架。事实上,他们并没闲着。Google 在那两年期间做了几个重要的收购,奠定了后面著名的 Google docs 的基础。
2009 年,在 Google 内部雪藏了很久的 Closure 库终于开源了,同时开源的还有一个对应的叫做 Closure Compiler 的东西,一般人理解 Closure Compiler 不就是另外 jQuery Minifier 嘛,其实可没那么简单,Closure 的 Compier 是可以真的理解你的 JavaScript 代码的类型的。通过一个叫 JsDoc 的注释形式的语法,你可以完全地把 JavaScript 当做是一种强类型的语言来写,并且有一个编译器来帮你查错。在强大的工具面前,jQuery 被无情地碾压。在接下来几年,Google又陆陆续续的发布了对应的 Closure 的模板语言,和对应的 Closure Stylesheet 编译器,于是 Web 的三件套,HTML + JS + CSS 在 Closure 的世界里都有了对应的工具,在 Google 内部,大部分的前端项目也都是基于这套工具来开发的。
与此同时,GWT 的小组也没闲着,一方面更好的支持 Google 最赚钱的广告系统前端;一方面默默的憋了一个超级大招 — 大名鼎鼎的 Google Wave。对,Google Wave 是用 GWT 写的,Wave 的 founder 就是我们前面提到的 Map 的创始人 Lars 。
| 又把最赚钱的广告系统重写了一遍
2011,2012 的 IO 上,关于 web 开发的主题很多都是基于 GWT 、Closure 展开的,一直风平浪静地到了 2013 年。但与此同时,Google 内部已出现了一股暗黑势力,悄悄地开发了一个完全颠覆式的前端框架 — AngularJS 。它,就是以HTML 标签起始符形状命名的 AngularJS,简称 Angular。颠覆在哪呢?Google 的 web 前端开发框架基本采用著名的 MVC (Model-View-Controller) 结构,有效地分离数据模型和最后显示的视图,使代码更清晰、更容易维护。早先的 MVC 大都是在服务器端实现的,包括先前提到的 GWT 神器。但是 AngularJS 不一样,是一个完全在客户端也就是浏览器里的 MVC 框架。这个框架在 HTML 中标注新的属性,运行时用 JavaScript 动态解析和绑定数据关联,简化了 web 应用尤其是单页应用 (single-page application) 的开发。不少数据双向同步逻辑甚至不用手工编写 JavaScript 就能实现了。更重要的是它制定了一整套前端组件的开发规范。虽然各种繁杂的条条框框让它无论在 Google 内部还是开源社区都备受微词,但它还是迅速获得很多企业的青睐,近几年来以异军突起之势成为众多公司招募前端程序员的一项标准需求。于是疯狂的程序员们又疯了,开始把很多陈旧的系统用 Angular 重写,包括前面提到了那个最赚钱的广告系统前端。甚至Angular 一出来的时候就有人预测,Angular 就是早期的 HTML6 。
| 异类语言的诞生
说到这里,不能不提一个异类语言了,叫做 Dart 。这个 Dart 可是出自名门,是由 V8 的首席程序员 Lars Bak 在他工作之余发明的, 他一边改善 V8 的性能,一边琢磨如何能突破 JavaScript 语言本身诸如弱类型等限制,让 web 程序执行速度更上一层楼。他最后决定,干脆摆脱 JavaScript 的束缚,重起炉灶设计一门全新的、为新时代 Web App 专门打造的语言 — Dart。
在了解 Dart 前,简单科普一下同父同母的兄弟 V8。 Google 的 Chrome 浏览器当年发布时以其远超 Internet Explorer 和 Firefox的网页渲染速度震撼了世界。其中一个核心优势就在于全新的 V8 JavaScript 引擎。当竞争对手还在吭哧吭哧解释执行 (interpret) 网页中的脚本时,强大的 V8 引擎采用即时编译 (JIT) 技术把 JavaScript 的运行速度提升到了一个全新的层次。在之后的几年里,各家浏览器厂商纷纷效仿,推进了整个 Web 平台的发展。目前深受追捧的 Node.js / io.js 其实也都是 V8 开源后的衍生产品,造就了一个前后端用同一种编程语言的新兴开发生态。
Dart 语言借鉴了广大程序员熟悉的 Java 语法,支持面向对象、单继承、interface、泛型、非强制的类型标记等语言特性。Dart 的虚拟机在 V8 大牛的打造下性能当然也是超强的。Dart 程序还能被编译成 JavaScript,运行在没有 Dart VM 的环境中。
然而,Dart 从发布日起一直倍受争议和质疑。它被认为是一项分裂 web 之举,而且长期以来没有得到任何其他浏览器厂商的支持。2015 年初,Google 宣布取消将 Dart VM 绑定在 Chrome 浏览器里的计划。不过这并不是 Dart 的死刑判决。Google 仍然支持并使用 Dart 开发大型 web 应用,因为比起 JavaScript,Dart 更能提高开发效率和保证代码质量。
综上,大家可以看到,web 在开发上两个趋势,第一个是从脚本语言层面去改善代码的质量,提高效率,第二是从 web 标准入手,提供更多抽象的模块化的组件,让编写 web 应用更加容易。
而说到第二点,不得不提提 Google 的一个项目叫做 Polymer ,如果你们去 Polymer 的网站,你会发现 Polymer 的口号是「leverage the future of web platform now」。 的确,Polymer 是一个库用来实现 Web component 的,而 web component 是 W3C 关于下一代 HTML 的一个标准,这可是根正苗红的一个项目。可以说 Polymer 项目的进展某种程度上就代表了下一代 HTML 标准制定的进展。让我们一起期待在本次 IO 上 Google 会对 Polymer 做出怎样的更新吧。
「 NEXT Collections | Google I/O」系列将持续更新,请保持关注。你也是一枚 Googler 或 Android 开发,并且有话要说?对文章观点有质疑?想加入 Google 工程师和 Android 开发大牛的线下讨论?欢迎邮件 xinyuan@36kr.com。文章作者的新项目「一起写」也在招聘 geek 范的同事,欢迎简历快递至 CEO 直聘邮箱:c@yiqixie.com。
原创文章,作者:馨苑
作者
欢迎专心练剑的产品人和技术宅来聊:xinyuan@36kr.com :)
本文作者及来源:Renderbus瑞云渲染农场https://www.renderbus.com
文章为作者独立观点不代本网立场,未经允许不得转载。