重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
微信小程序刚刚上线的时候,由于小程序使用类似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页面更快。
注意,微信小程序嵌入网页的功能,目前还不对个人开放,且对网页的域名有要求。