前端生态混乱,AMPMIP在努力做标准化工作

作者 | Brilliant Open Web团队breezet

移动时代的前端似乎越来越混乱了,各种技术方案层出不穷,令开发者们目不暇接,不知如何选择。然而,生态越是混乱,对标准的呼唤就越强,因为只有标准化才能使得整个生态健康良好地发展。

AMP技术团队和MIP技术团队都非常明白这个道理,一直致力于从标准化出发,改善移动Web的体验。

  • 注1:AMP(Accelerated Mobile Pages)是谷歌提供的网页加速技术,其官方网站是:https://developers.google.com/amp/。

  • 注2:MIP,Mobile Instant Pages ,是一套应用于移动网页的开放性技术标准。通过提供 MIP-HTML 规范、MIP-JS 运行环境以及 MIP-Cache 页面缓存系统,使得移动页面更加符合移动上用户体验的要求。MIP的官方网站是:https://www.mipengine.org/,GitHub地址是:https://github.com/mipengine)

近日,AMP团队发表了《从AMP中学到的标准化课程》的博客,其中多次提及现在AMP正在解决和改善的移动Web的问题,也指出了能让Web变好的一个关键路径:让AMP的优秀实践成为标准的一部分,让更多的优秀能力沉淀到浏览器中,让非AMP页面也能变得和AMP页面一样拥有极致的用户体验。其中特别值得关注的是AMP团队公布了目前和AMP技术相关的一系列标准化事情,其中要解决的很多问题直中Web的体验缺陷要害,非常值得大家期待。下面是对重点标准的介绍与解读。

Web Packing

Web Packing用于解决内容分发平台在进行站点的内容Cache时,站点源页面(Origin URL)与Cache页面(Cache URL)的准确映射关系的。相当于描述了通用的云端加速的标准解决方案。此方面能力的增强,能让Web更便捷的使用页面预取、页面预渲染的极大程度提升页面性能的解决方案。目前处于标准草案阶段,并在IETF组织中进行讨论。

Iframe promotion

Iframe promotion是一个既有标准的功能改善提议。这使得内容分发平台能通过Iframe完成从分发页到内容页的良好页面切换交互。目前正在讨论孵化阶段。

Layout stability

AMP一直在解决的一个核心问题就是让页面元素的渲染尽量的稳定,这是移动上良好用户体验的一大关键点。但前端的组件技术是对此问题的一个hack处理,因此AMP也在思考如何对此进行标准的实现,即:提供一种可衡量用户无预期(无用户行为)的布局变化(比如未知尺寸的图片loaded和iframe resize)。当前正在与浏览器实现者讨论可行性。

Feature Policy

功能策略指的是能让开发者(站点)有选择的让页面能使用或不能使用浏览的功能和API,主要通过HTTP HEADER来进行设置和定义。当前已经在Chrome中落地,标准处于孵化阶段。

想了解更多,可以查看原文 Overview of web standards and features related to AMP:

https://github.com/ampproject/amphtml/blob/master/contributing/web-standards-related-to-amp.md#overview-of-web-standards-and-features-related-to-amp

结语

与大家分享这一重要信息的意义,在于我们看到国外的AMP团队正在通过推广AMP技术和从中总结的最佳实践标准,让Web体验变得更好,变得Native Like。

对于MIP技术团队来说,我们也正在积极与AMP技术团队一起讨论相关的标准方案与实现,并努力推动AMP/MIP相关的标准方案在百度APP等浏览器的落地。也在努力研发一系列Web base的解决方案,让更多的开发者能通过MIP或新的Web技术构建良好用户体验的Web应用。

在生态混乱的时代,我们对极致Web体验的探索从未停止过,任何混乱与纷争,都将被标准终结。对于Web来说,这是最坏的时代,也是最好的时代。

Brilliant Open Web

BOW(Brilliant Open Web)团队,是一个专门的Web技术建设小组,致力于推动 Open Web 技术的发展,让Web重新成为开发者的首选。BOW 关注前端,关注Web;剖析技术、分享实践;谈谈学习,也聊聊管理。关注 OpenWeb开发者(ID:BrilliantOpenWeb)公众号,回复“加群”,让我们一起推动 OpenWeb技术的发展!


更多专业前端知识,请上 【猿2048】www.mk2048.com

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/366470.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

python逆向什么意思_如何理解python逆向切片

str 0123456789(推荐教程:python基础教程)如上,我们有一个数值型字符串,接下来我们分别从正向和逆向两个维度截取数据。str[start:end:step]start表示起始下标end表示结束下标step表示步长下面这个图,表示了正向和逆向下标的值首先我们要说一下方向的事情&#xff…

调试工具gdb

1.1 gdb符号调试器简介 gdb是一个用来调试C和C程序的功能强大的调试器,它能在程序运行时观察程序的内部结构和内存的使用情况。 gdb主要提供以下几种功能: 监视程序中变量值的变化设置断点,使程序在指定的代码行上暂停执行,便于观…

Apache Camel –从头开始开发应用程序(第1部分/第2部分)

开始之前 前一段时间,我写了一篇关于Spring Integration的教程,以演示如何在受现实发票处理系统启发的示例应用程序中使用Spring Integration。 我对此非常满意,因此我决定向您展示如何使用Apache Camel(Spring Integration的最大…

Bourbon: 让你的sass更简洁

Bourbon是什么 bourbon是一个轻量级的Sass mixin和函数库,可以帮助我们快速开发样式. 官方文档 以下用webpack3.10.0( vue)为示例简述Bourbon的使用 安装配置 npm install bourbon -S 把bourbon添加到node-sass的includePaths中// webpack.config.js module.expor…

nat的地址映射 华为_华为PAT端口地址映射配置详解(一)

众所周知,PAT,,Port Address Translation,即网络地址转换。PAT有以下作用:1.改变数据包的ip地址和端口号;2.能够大量节约公网IP地址。PAT的类型有以下:1.动态PAT,包括NAPT和Easy IP;…

删除maven仓库中的lastUpdate文件

windows下打开命令行 进入maven本地仓库目录中 dos命令中执行下方命令.即可完成批量删除 for /r %i in (*.lastUpdated) do del %i 转载于:https://www.cnblogs.com/zlsxddgj/p/9324077.html

HDUOJ 1428

漫步校园 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 5161 Accepted Submission(s): 1610 Problem DescriptionLL最近沉迷于AC不能自拔,每天寝室、机房两点一线。由于长时间坐在电脑边&#xff…

niosii spi 外部_基于Nios_II的DMA传输总结

最近练了一段时间的DMA传输,现做如下的总结,分享自己获得心得以及遇到的一些问题。在系统运行时,当需要传输大量数据时,可以采用DMA的方式进行传输,以解脱出CPU来处理其他命令。Nios II中的DMA传输有以下三种形式&…

杭州 GraphQLParty 第五场-GraphQL 基于 SPA 架构的工程实践文字版

本文为 2018 年 6 月 9 日,宋小菜与 Coding 共同举办的第一届 GraphQLParty ,下午第五场国内某大型电商前端开发专家邓若奇的演讲稿,现场反响效果极好,对于想要尝试 GraphQL 和在公司初步实践的团队有很大的借鉴意义。 大家好&…

java反射机制基础总结

1反射机制是啥? 反射是运行中的程序检查自己和软件运行环境的能力,它可以根据它发现的进行改变。通俗的讲就是反射可以在运行时根据指定的类名获得类的信息。 2反射机制有啥用? Reflection(反射)是被视为动态语言的关键反射机制使程序在执行期…

使用sikuli和Arquillian测试HTML5 canvas应用程序

HTML5引入了一个很棒的新元素,可以用来在窗格上绘制任意内容: canvas元素。 数十年来,胖客户端应用程序的标准功能现已引入Web应用程序领域。 Web开发人员不再需要使用专有插件在其应用程序中绘制图像或图表。 但是,在进行测试时…

浅谈一下我了解的PWA

Progressive Web Apps,简称PWA,中文翻译过来就是渐进式网页应用,个人觉得它可以算是Web应用的下一个进化方向之一, 毕竟技术的发展有时候是不可预估的,谁也无法预料技术的走向,但至少它代表了一种可能性,下…

质性研究工具_质性研究【001】

袁长蓉 复旦大学 博士研究生导师课程 人类是追求意义的物种,会不断地从生活细节当中不断的归纳提炼,形成精神。形成理论抽象的概念,然后再利用这些概念,这些理论反过来,解释生活。 质性研究是由地到天的研究。质性研究…

python实现文件下载图片视频

最近在学习爬虫,在爬取网站时很多时候是需要将图片或视频下载到本地 今天就来说说如何使用urllib将图片保存到本地 以下代码均为win7 python3.6.* 方法一(使用下载函数保存) from urllib import request # 要下载的图片链接地址 img_url …

在JUnit中处理异常的3种方法。 选择哪一个?

在JUnit中,有3种流行的方式来处理测试代码中的异常: 尝试捕捉习语 使用JUnit规则 带注解 我们应该使用哪一个?何时使用? 尝试捕捉习语 这个习语是最受欢迎的习语之一,因为它已在JUnit 3中使用。 Testpublic void…

项目开发中发布更新文档备注

项目开发中 经常会遇到 某一个团队成员更新了,配置文件但是没有及时沟通导致项目发布后出现异常的情况。 这时就需要一个项目更新发布的规范说明文件,比如每次更新更改了哪些,进行文档备注。 更新的脚本文件也要随更新文档一起给到,配置文件也要将最新的配置信息给到。 转载于:…

bind函数polyfill源码解析

准备知识 使用new来调用函数会自动执行下面的操作: 创建一个全新的对象这个新对象会被执行原型连接这个新对象会绑定到函数调用的this如果函数没有返回其他对象,那么new表达式中的函数调用会自动返回这个新对象 注意this绑定规则,new操作具…

Java方法中的参数太多,第2部分:参数对象

在上一篇文章中 ,我研究了与方法和构造函数的长参数列表相关的一些问题。 在那篇文章中,我讨论了用自定义类型替换基元和内置类型以提高可读性和类型安全性。 这种方法使方法或构造函数的众多参数更具可读性,但并没有减少参数的数量。 在本文…

django内置服务器

单进程多线程的 多线程用来并发,各个线程之间不会阻塞,每个线程对应一个连接转载于:https://www.cnblogs.com/BlueFire-py/p/10031245.html

java mysql_Java与mysql的连接

接触编程、计算机一段时间,免不了的就要接触到,各种数据,而各种数据到了深处自然就要接触到数据的存储和调用,之前在我的文章中,已经了解到了IO流在文件中以及在TCP\IP协议中的各种传输,而慢慢的&#xff0…