微信小程序为何重塑Web开发标准

微信小程序为什么不用HTML5、CSS,自己搞了个WXML、WXSS,很多框架用不了,好处一点不知道,以前项目根本没法移植,而且我们习惯的jquery、auicss、图标等完全用不了,也没见WXML、WXSS有什么好处,完全理解不了。

没有一点智力上的付出,不容易培养程序员的忠诚度。以腾讯目前的垄断地位和人员配置,不搞点自己的标准和框架就是浪费资源,下一步推行自己的语言,甚至开发自己的硬件也不是不可能。

用web做小程序的可能性和限制

为什么没有人问上面改过的问题,而小程序就有人问呢?只是因为小程序和web长得很像,所以就觉得要用web来做吗?那长得像的话是不是就能直接用web做呢?

答案是,大部分是可以的。比如文本、图片、输入框等等,都可以。
但是,也有一部分小程序的功能是web完全不具备的,例如扫码、获取设备信息、获取罗盘信息、等等。

此外,还有一小部分是web做起来很困难的。比如上面有人提到的地图、fixed的文本输入、视频相关、sticky定位等。

除了能力上的限制以外,还有相当一部分是来自于性能上的限制,也即虽然很多东西用web确实可以做,但是性能是很差的。

打补丁可以吗?

如上面提到的一些能力缺失(以及半缺失),如果使用web的话,是不是打补丁也可以解决呢?答案是肯定的。

但转念一想,如果要靠打补丁的方式去做,那为什么还要选择使用web呢?如果你深入使用过微信公众号的JS SDK就会发现,其实大部分你需要认真用JS SDK的时候(只做分享信息设置的不算),这个页面就已经没法在其它环境中复用了。也就是说,不管怎样,你已经是为微信专门写了一套代码。

抛弃标准

(这是一段政治不正确的文字)
对微信来说,如果使用web来做小程序,就意味着要照顾庞大的web标准体系。虽然对大部分的前端工程师来说,使用到的web能力并不是太多,但对浏览器来说,web标准是一套非常繁杂非常闹心的东西,要支持一套完整的web标准体系并不是一件容易的事情。

当然,你可以说腾讯不是有X5了吗?那好,我们抛开实现上的复杂不说,只说支持web标准和小程序的关系。

如果要在web标准的基础上来做,那么打补丁这件事情会变得不愉快。
例如fixed的输入框这件事情,假设客户端可以自行改变容器的高度和定位,在focus的时候做一些hack处理,那么大部分情况下体验是不错的。但是因为web标准在这里,你就不能随意更改一个元素的定位和尺寸。

再比如视频,X5中为了用(shang)户(ye)体(li)验(yi),重写了视频元素的行为,默认情况下全屏播放,且非全屏的情况下也只能是页面最高层元素,无法被别的元素覆盖。对于看视频、看电视剧、看电影的人来说,这本来是一个不错的用户体验,但是这一棒子却将用视频做页面效果、做直播(边看边聊)的人打死了,导致X5的这一行为至今被骂到死。

这样的例子非常多,如果你既要完整照顾web标准,同时还要在用户体验、性能上做优化,还要在此基础上打补丁,将是一件几乎不可能完成的事情。即使能费九牛二虎之力做得七七八八,也可能随时面临用户的投诉:“为什么这个行为和浏览器不一样?”

而反观小程序的现状,在完全不管web标准之后,想不支持CSS级联就可以不支持,想改canvas API就能改,想增加wx.showToast()就能直接加。

甚至在加载方面也完全不用考虑web的事,一股脑扔给微信,像app一样整体下载就可以了。

这对产品和开发团队来说完全是甩开膀子随便干的节奏。因此对小程序的产品和开发团队来说,放弃使用web来做是一件性价比非常高的事情。

重塑开发规则

因为没有了web标准的束缚,小程序团队可以从头制定开发规则,从而在源头上对质量进行一定的把控。

例如小程序可以强硬地要求,fixed的textarea必须添加一个特殊的class,这样小程序就能自己去解决这一场景下的技术难题,而不用绕很远的路去做各种兼容。

例如小程序可以要求textarea不可以出现在scroll-view中,从而避免一些技术难题。

此外,小程序还可以从框架上强制地要求必须不能动态操作页面元素。至于理由是什么,可能和运营规则有关。

总而言之,因为有了一个全新的开发体系,微信相当于直接伴演了上帝的角色,以前web开发中碰到的任何问题都可以有N多方法马上解决。

重塑运营规则

上面都是作为技术人员的一些废话。小程序之所有不选用web,个人认为最重要的原因是要重塑运营规则。

众所周知,web以开放互联著称,这意味着任何人可以在web上发布任何程序,并且每一个web都可以和其他web应用互相跳转。

此外,web页面的内容是可以随时通过后端或者前端进行控制从而动态显示的。当然,web因为这么多年的发展,标准庞大,能力众多,实在是不能胜举。

这些能力固然是非常棒的,也是web开发人员引以为豪的地方。但是对小程序来说,却未必是一件好事。

看看当前公众号的现状即可知道:刷流量、跳广告、伪造各种页面、发布违规页面等行为屡禁不止。这正是微信最不爽的地方。

因此,小程序的目标很明确,就是重塑一个微信规则下的web。这里的web只能提供服务,不能营销,不能引流,不能动态改内容逃避打击,不能跳转,不能违规。所以的事情只能按白名单能力(小程序开发文档)来做,白名单没有的,想都别想。而且即使白名单中有东西被坏人利用了,还有一道人工审核来进行把关。不按规则来的,对不起,全部打死。

对营销狗(网上取的词,无贬义)来说,小程序毫无用处,因为它几乎将营销的口子全部堵死了。而对用户来说,这才真正是该有的体验。

所以,个人以为,这才是小程序要重建一套开发体系最重大的意义。

链接:https://www.zhihu.com/question/51809406/answer/140747129
来源:知乎

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,591评论 6 501
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,448评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 162,823评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,204评论 1 292
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,228评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,190评论 1 299
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,078评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,923评论 0 274
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,334评论 1 310
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,550评论 2 333
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,727评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,428评论 5 343
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,022评论 3 326
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,672评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,826评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,734评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,619评论 2 354

推荐阅读更多精彩内容