原生应用将死

从今以后,我将不再创建任何原生应用。今后我的所有应用都将是渐进式的 Web 应用。渐进式的 Web 应用是被设计为比原生移动应用更无缝地运行在移动设备上的 Web 应用程序。

这里的“更无缝地”是什么意思?我指的是大部分网络流量来自于移动设备,用户平均每个月安装大约 0-3个应用。这意味着人们不会花太多时间在应用商店中寻找新的应用来试用,但是他们会在网上花大量时间发现和使用你的应用。

渐进式 Web 应用程序开始时候跟其它 Web 应用一样,但是当用户回到应用,通过使用,证明他们对更频繁使用该应用感兴趣时,浏览器会邀请用户将应用安装到主屏上。PWA 还会像原生应用一样,从推送通知中受益。

这才是它的有趣之处。与其它原生应用一样,渐进式 Web 应用会有它自己的主屏幕图标,当你点击它时,应用不需要浏览器就会启动。这意味着没有 URL 地址栏和 Web 导航 UI,只有电话的状态栏,你的应用是以几乎全屏的样式出现。

这一天总算来临了。这些技术都不是特别新的 - 除了新兴的跨平台标准值得注意以外。

一些历史

iPhone 出现的早期是没有应用商店的。乔布斯想让开发者用标准 Web 技术创建 iPhone 应用。有时候有远见的人是完全正确的,但是往往是提前了十年。回顾一下两年前,福布斯称乔布斯推荐的为 iPhone 创建 Web 应用是他犯下的“最大错误”,因为原生应用取得了超级成功。

如今再回顾,看起来很明显,他确实是错了某些东西 - 只是高估了当时已有的 Web 标准的能力。

十年后,移动 Web 标准现在支持很多在原生应用中才能找到的功能,而乔布斯对移动 Web 应用程序的最初愿景现在正被其他所有人认真地追求。苹果已经支持了 “apple-mobile-web-capable” Web 应用,几乎从使用这种 meta 标记帮助 iOS 设备找到像合适的图标等事情开始,你就可以把这种 Web 应用添加到主屏了。

其它厂商也随之效仿,每个都创建了自己的 meta 标记集合,来宣告具备移动 Web 应用的能力,但是直到最近,一个跨平台的规范才被引入。现在,跨平台移动 Web 应用才最终成为真事。

实现该标准的应用被称为渐进式 Web 应用,不要把它与足以导致混淆的相似术语混淆,比如渐进式增强或者响应式应用。

什么是渐进式 Web 应用?

渐进式 Web 应用只是被设计为对移动端友好的 Web 应用程序。如果浏览器看到用户想继续使用应用,它会提示用户将其安装到主屏幕上、dock 栏上,等等。但是,要有资格安装到这些地方,应用必须满足特定条件:

  • 必须是 HTTPS (参见 let’s encrypt)

  • 带有所需属性的有效 manifest(Web Manifest 校验器

  • 必须有 service worker

  • Manifest start_url 必须一直加载,即使在离线时(使用 service worker)

  • 必须自带导航

  • 对于不同屏幕大小和方向(横屏竖屏)必须是响应式的

当然,使用 HTTPS 以及针对离线用户的 Service Worker 对任何现代应用都是好的实践。

很多应用创建者看起来忘记的是,如果创建一个渐进式 Web 应用,必须能在没有浏览器边框以及浏览器导航手势的情况下,也能在应用程序中导航。移动设备假设你已经将自己的导航内置到应用了。

例如,如果有一个 about 页,该页必须有一个返回到应用 UI 的链接。否则为了回到应用的主界面,用户就不得不关闭应用,然后重新打开。

查看完整文章访问 这里

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值