微信小程序群应用和HTML5应用有什么区别

微信小程序和HTML5应用有什么区别? - 知乎160被浏览20483分享邀请回答9738 条评论分享收藏感谢收起124 条评论分享收藏感谢收起查看更多回答为什么我反对微信小程序?-互联网的一些事
您的位置:
为什么我反对微信小程序?
来源: 作者:SeedHeart
  观点如题。思前想后,越来越肯定:微信小程序这摊浑水真没什么好趟的。
  不是在很多人叫好的时候故意泼冷水,微信推出小程序对整个HTML5行业的发展是件乐事(后面会解释原因),但它自身的价值被夸大了。
  目前大多数文章都对微信小程序的弊端一笔带过,而大肆鼓励人们去追微信小程序这个热点。但我们需要警觉的是,有价值的究竟是微信小程序,还是微信?
  1、谁的红利期?
  微信公众平台的功能性开发跟小程序的区别是什么?比如公众号里面的微点餐,微商城,酒店预订,信息录入等等?——anyuanzhai(虎嗅网用户)
  微信小程序最被诟病的是整了套自成一派的wxml、wcss、js,虽然代码的编写非常简洁,但它只适用于微信。说白了,这种程序和微信是妥妥的寄生关系,没微信它什么都不是。而所谓的小程序开发者,和微信服务号开发者的性质差不了多少。
  然而前两天张小龙的朋友圈又火了:一台碎屏的安卓机,桌面图标多得让人看花眼,但这些图标表示的是小程序,而不是那些需要下载的APP。
  有人很高兴,微信要成为操作系统了!
  其实留意那张截图的25个小程序,基本是旅游、订票、股票、电台之类的轻量级应用。
  如果是一些生活服务,小程序能提高打开率吗?通过微信内检索,可以。但有两点需注意:(1)因为是偏中低频的需求,我们大概不会把它们放在桌面碍眼;(2)关注比安装简单,取关也比卸载容易。
  如果是休闲娱乐办公类服务,小程序能取代同类APP吗?很难,因为用户更重视丰富的内容、良好的体验,而非获取服务的便利性。而在体验上,微信限定的标准和API、提供的统一UI会是交互、视觉的两大壁垒。
  要真有什么突破,有两个选择:
  (1)微信冒苹果之大不韪做小程序市场(插一句,应用内检索已经带有“市场”性质)
  (2)张小龙允许小程序利用微信社交流动(但这样又可能把微信原有的生态玩坏)
  值得肯定的是,微信小程序的应用入口、离线数据、通知推送等特点,对提高应用流畅性、用户留存具有很大价值,但绝大部分价值源于微信。至于小程序换汤不换药能产生红利?亟待试验。
  2、我们反对的是什么?
  “作为一个拥护自由和开源的'GitHub 中国区首席Markdown程序员'。微信在微信小程序引导着Web开向封闭,我们再也不能愉快地分享我们的代码了。”——Phodal(ThoughtWorks前端)
  “微信小程序就是一个类似RN的轮子…从技术栈来说,我不喜欢!…并没有减少产品的开发成本,反倒是多了一个开发流水线。”——齐修(好奇心日报前端)
  上面两则评价很中肯(技术层面上)。微信小程序的生成使用微信自己写的网页标准,就意味所有开发者都得学微信这套语言,编写出来的网页不具可移植性。换句话说,你从零开始学微信小程序,不需要小程序了又得从零开始。
  所以当我了解到微信小程序的封闭性时,有种感觉:它像在招徕一批开发者为微信打工……
  真正开放的是HTML5。
  噢对了,你可能还不知道微信小程序压根不是我们一直称道的HTML5,只是搬用了HTML5的开发模式。wxml和HTML5相比,从Web开发能力上真的逊多了,而且有点扰乱了HTML5多年来建立起的通用、开源的Web生态平衡。
  这点因为诱导分享、诱导关注等被微信屏蔽过(讲真,黄赌毒还能理解),因为涉及阿里系(淘宝、虾米等)在微信被限制外链的人应该深有体会——规则完全由微信定义,对开发生态也没什么好处。
  所以对于微信小程序的开发,我身边很多有经验的开发者都没什么动力,反而有人对开发一个做小程序的可视化工具兴趣盎然。
  3、谁是真正的风口?
  “真正的小程序的形式只能是 H5。最轻(不用下载安装,用了就走)、最灵活(开发难度小,投放周期短,调整更容易)、最通用(标准的Web形态,有浏览器就能打开)。——孟智平(iH5互动大师创始人)”
  近两年,微信的发展其实和它对外链的支持密切相关。因为Twitter、Facebook这些国外知名网站对第三方链接的严格限制,可能导致国外在移动互联网上的发展比国内慢了一拍。
  这些外链是什么?
  让朋友圈一度热闹起来的,经过时间检验的互联网利器是H5。
  半年内有淘宝造物节的《ZAO》,720°全景加重力感应实在惊艳;有网易的《用你的洪荒之力画一个小人》,涂鸦互动的参与感极强;有Dopemine的《活口》,真人视频密室逃脱的模式让人拍案叫绝。
  这些效果都是封闭的小程序实现不了的,但HTML5可以。
  随着国内底层交互类型H5制作工具的出现,这类网页的开发可以被可视化为图形界面,生产效率远高于微信小程序。比如因为《ZAO》推出半个月后,iH5就把它的核心功能包装成一套全景组件,免费开放给所有人使用。
  这才是我们真正想要的Web环境,开放、互联。
  因此很多开发者更期待PWA(渐进式网页应用),因为它在保留应用入口、离线数据、通知推送等优点的同时,还支持HTML5。
  虽然我不怎么看好当前这种模式的微信小程序,但借由小程序概念的推广,国内外各大浏览器厂商发现有利可图。什么百度、360、UC等等很大可能会加快对PWA的支持,这才是真正值得期待的(QQ浏览器要靠这个抢份额也不是不可能的)。
  还不能和谷歌好好玩耍之前,就不期待Chrome了,但Safari还是很有希望的。相信乔帮主今日还在苹果公司的话,也会朝这个方向进军吧?
  最后用Chrome产品部门的Rahul的话收尾——
  Dicoverable(可探索)、Linkable(可链接)、Low Friction(少冲突)、Broad Reach (入口广泛)等等,这些都不是 Web 的本质。Web 的本质是 Open(开放)与 Decentralized (去中心化),这是万维网(WWW)的初衷,也是所有这些特性能成立的前提。
(转载请保留)
互联网的一些事,已超50万小伙伴关注!标签:至少1个,最多5个
作为前端工程师,从前端的视角,为大家分析下微信小程序和HTML5与之间的主要区别
第一条是运行环境的不同。
传统的HTML5的运行环境是浏览器,包括webview,而微信小程序的运行环境并非完整的浏览器,大家注意,我这里写的是“非完整的浏览器”,有以下几个原因
小程序的开发过程中会用到HTML5相关的技术(并非全部)
小程序最后的发布上线需要微信审核,微信在不更新自身软件的情况下可以将小程序更新到自身软件内,这就联想到了React Native框架,并且已经有开发者在微信小程序的开发工具源码中发现使用了React和NodeWebkit库
官方文档中着重强调了脚本内是无法使用浏览器中常用的window对象和document对象(基于这一点,像zepto/jquery这种操作dom的库就被完全抛弃了)
所以我个人认为,小程序的运行环境很有可能是微信开发团队基于浏览器内核完全重构的一个内置解析器,针对小程序专门做了优化,配合自己定义的开发语言标准,提升了小程序的性能。
不过由于微信给开发者提供了开发工具,而开发工具中也内置了编程、调试、开发环境、发布于一身,我们也不用再探讨它的最终运行环境了,只要按照官方文档进行开发就可以了。并且从微信团队给开发者提供开发工具这一举动,让我联想到了苹果给开发者提供的X-CODE开发工具,可以想象微信的“野心”可见一斑
第二条是开发成本的不同。
这里我提出了一个问题,当我们面对一个HTML5 web开发需求时,我们需要考虑什么呢?抛去开发工具(vscode、sublimtext、Atom等)不谈,大到前端框架(Angular、react、vue、backbone等)、模块管理工具(Webpack 、Browserify 等)、任务管理工具(Grunt、Gulp等),小到UI库选择、接口调用工具(ajax、Fetch Api等)、浏览器兼容性等都要我们一一考略,再不济用jqery插件写H5,也要在开发过程中去寻找合适的jquery插件来配合项目。尽管这些工具可定制化非常高,并且提高了开发者的开发效率,但我相信项目开发的配置工作已经消耗了不少精力,尽管大部分开发者都有自己的配置模板,但长久以来对于项目中使用的各种外部库的版本迭代、版本升级所产生的成本应该也不低。
而当我们面对一个微信小程序的开发需求时,我们需要考虑什么呢?微信团队提供了开发者工具,并且规范了开发标准,前端常见的HTML、CSS变成了微信自定义的WXML、WXSS,WXML中尽管全部是自定义标签,但官方文档中都有明确的使用介绍,相信上手应该是非常容易的;WXSS、JSON和JS文件中的写法稍有限制,但整体相差不多。在统一了这些标准之后,作为一个开发者,你会发现,自己只要专注写程序就可以了:
当需要调用后端接口时,调用发起请求API
当需要上传下载时,调用上传下载API
当需要数据缓存时,调用本地存储API
引入地图、使用罗盘、调用支付、调用扫码等等功能都可以直接使用
UI库方面,框架自然带有自家weui库加成
并且在使用这些API时,你不用再去顾虑浏览器兼容性,不用担心生产环境中出现不可预料的奇妙BUG,可见微信小程序的开发成本确实相比以往的web开发低很多。
第三条是获取系统级权限的不同。
微信小程序相对于HTML5 web应用能获得更多的系统权限,比如网络通信状态、数据缓存能力等,这些系统级权限都可以和微信小程序无缝衔接,也就是官方宣称的拥有Native App的流畅性能,而这一点恰巧是HTML5 web应用经常被诟病的地方,这也是HTML5的大多应用场景被定位在业务逻辑简单、功能单一的原因。
第四条便是应用在生产环境的运行流畅度。
这条无论对于用户还是开发者来说,都是最直观的感受。长久以来,当HTML5应用面对复杂的业务逻辑或者丰富的页面交互时,它的体验总是不尽人意,需要不断的对项目优化来提升用户体验。但是由于微信小程序运行环境独立,尽管同样用html+css+js去开发,但配合微信的解析器最终渲染出来的是原生组件的效果,自然体验上将会更进一步。
「H5程序俱乐部」是一个专注微信小程序学习交流,相关外包/招聘需求信息发布的微信公众号。
「H5程序俱乐部」微信号:wxappclub 或者 微信扫一扫关注
1 收藏&&|&&8
你可能感兴趣的文章
46 收藏,4.8k
3 收藏,1.5k
7 收藏,751
你好!我们是爱范儿旗下专注于小程序生态的公众号知晓程序(微信号 zxcx0101)。我们很赞赏你的文章,希望能获得转载授权。授权后,你的文章将会在知晓程序社区()、爱范儿、AppSo 等渠道发布,我们会注明来源和作者姓名。
非常感谢~~~
你好!我们是爱范儿旗下专注于小程序生态的公众号知晓程序(微信号 zxcx0101)。我们很赞赏你的文章,希望能获得转载授权。授权后,你的文章将会在知晓程序社区()、爱范儿、AppSo 等渠道发布,我们会注明来源和作者姓名。
非常感谢~~~
分享到微博?
技术专栏,帮你记录编程中的点滴,提升你对技术的理解收藏感兴趣的文章,丰富自己的知识库
明天提醒我
我要该,理由是:

我要回帖

更多关于 微信小程序的应用场景 的文章

 

随机推荐