查看原文
其他

微信小程序内嵌网页能力开放意味着什么?

2017-11-04 CSDN

点击上方“CSDN”,选择“置顶公众号”

关键时刻,第一时间送达!


一句话总结就是,小程序的开发成本有了很大的下降。

昨夜近零点时,微信很是「文章越短事儿越大」地宣布了「为便于开发者灵活配置小程序,小程序现开放内嵌网页能力」,即 web-view 组件。一时间,朋友圈里形成了一波刷屏。

具体来看,开发者登陆小程序后台配置业务域名,即可实现小程序内嵌网页。此后,用户使用小程序时,可以从小程序直接进入到内嵌网页,同时也支持用户从内嵌网页返回小程序。

在小程序原有组件能力下,小程序排版要做得好看,是件挺繁琐的事情,而 web-view 组件可以说是一个能够用来承载网页的容器,会自动铺满整个小程序页面。同时,还支持使用 JSSDK 1.3.0 提供的接口返回小程序页面。不过需要开发者注意的是,内嵌网页也还是需要定制,另外,个人类型与海外类型的小程序暂不支持使用。

彼时,我问一位刚不久前造完小程序轮子的朋友这意味着什么?他说:「意味着好多人今晚要失眠了,小程序和线上 H5 打通了」。果然,在此能力开放后,不少团队都加班加点地捣鼓了小程序嵌入网页的实例。

而今天,在拿着同样的疑问请教了轻芒联合创始人范怀宇,然后晚上他便给我发来了他与 Junyu 写的文章,对微信的变化进行了一番解读,值得我们借鉴与学习,在此分享给大家:

在这之前,如果有人问我,在微信中做一个产品,是用小程序还是 Web 页面 (严谨,既不是 HTML5 更不是 H5…) 的时候,我会这么说:

  • 产品上,Web 上能做的,小程序中大部分都能做。小程序上能做的,Web 上不一定能做。

  • 营销上,Web 能用到的入口,除了朋友圈以外,小程序都可以用。小程序能用到的若干入口,Web 不能使用。

关于后一点,朋友圈分享现在普遍会用海报来做,在这点上 Web 和小程序的能力其实是一样的,都是只能帮你保存图片到相册,再请用户手动发送到朋友圈。而小程序独有的发现 - 小程序、搜索框快捷方式等对用户回访特别重要的入口,Web 页面是不能使用的。

那么,昨天的发布意味着什么?简单地说,小程序的开发成本有了很大的下降。

微信小程序刚刚上线的时候,由于小程序使用类似 HTML、CSS 和 JavaScript 等 Web 语言的方式进行开发,让一些媒体误以为小程序就是 Web 开发,欢呼将「迎来 Web 开发的春天」。

我自己的第一份工作就是 Web 开发工程师,Web 开发入门确实比较容易;可是尽管小程序使用了 Web 语言,那只是语法上的一致,整个开发模式完全不同,更接近于原生 App 的开发而不是 Web。

打个比方,对在看这篇文章的大多数人来说,读中文要比读英文更容易,但假如你看不懂英文版的《量子力学导论》,翻译成中文版你也不一定能看懂。开发小程序,需要有专门的、独立于 Web 团队之外的团队,按小程序的规范重新设计、重新开发,不能将已有的产品直接迁移过来。

可以理解微信当初做这个决定,是希望开发者按照微信的要求,为微信的用户重新去思考、设计一套全新的用户体验,而不是将已有的 Web 页面搬进来。

历史上,包括 Microsoft 的 Windows Phone 平台、Google 的 Chrome Packaged App 都冒过类似的险,而其实 Apple 也做过类似的决定 —— Steve Jobs 2010 年 4 月亲笔写过一篇文章,解释为何 iPhone 不支持 Flash (Thoughts on Flash),其中最重要的原因是,Apple 不希望第三方开发者将已有的产品直接搬过来,而是希望开发者能直接在 iOS (当年还叫 iPhone OS) 进行开发,为 iPhone 的用户提供最好的体验。

这些决定赌的是,新平台 (小程序或 iOS) 带来的商业上的好处,最终会让开发者们愿意付出这个成本。

那时候的 iPhone 还很弱小,但后来的历史证明 Steve Jobs 赌对了 —— Adobe 公司今年 7 月宣布,将在 2020 年最终停止 Flash 的更新和分发。

微信,则在昨天支持了开发者直接嵌入已有网页。

所以,如果你已经有一个网站,可以直接在小程序中套个壳,把网站中的 Web 页面摇身一变成一个小程序。至于这和直接分发 Web 页面有什么区别 ——

  • 产品上,Web 上能做的,小程序中大部分都能做。小程序上能做的,Web 上不一定能做。

  • 营销上,Web 能用到的入口,除了朋友圈以外,小程序都可以用。小程序能用到的若干入口,Web 不能使用。

细心的你可能已经注意到了,上面这两条并没有任何变化……对,在小程序的用法上其实没有任何变化,只是开发成本下降了。

那么,在今天之后,使用微信小程序框架开发的「原生」小程序,和嵌入已有的 Web 页面的「Web」小程序,在用户感受上会有什么区别呢?

  • 「原生」小程序,整个小程序是提前下载的,不会有 Web 页面打开时的页面加载感。我们过去的可用性研究表明,这是用户对一个界面是「Web」还是「原生」的最主要判断标准。对于偏工具型的小程序,「原生」的感受应该会更好。

  • 「原生」小程序对体验的控制更完整,自己要做的事情也更多。例如 Web 页面中用户可以选择页面上的文字复制,而在「原生」小程序界面中,这是需要单独添加的功能。

  • 「原生」小程序提供了一些专属的控件和 APIs(接口),如展示群信息、发送推送等,这些只有使用小程序框架开发才能使用。

所以,如果需要和微信生态整合得更紧密,可以使用「原生」方式开发;如果追求快速迁移已有 Web 产品,嵌入 Web 页面更快。

————— END —————

其实程序员的压力,也没那么大?


一不小心开发了款《王者荣耀》外挂,一不小心被刑拘了


开发者最讨厌的编程语言:Perl 名列第一,PHP、Objective-C 和 Ruby 都在其中


您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存