首页 > 代码库 > 微信‘小程序’: web前端的春天 or 噩梦?
微信‘小程序’: web前端的春天 or 噩梦?
最近大家看到这张图是不是都快吐了?这两天一睁眼就被这张图刷屏了
喵了咪的,点到哪里都是这个报道和新闻
最近因为工作 和生活略忙,爱吹文章的我,更新频率也低了,在这里抱个歉,希望大家理解和包容,希望“粉丝们”(装逼完成、跑….),不要离开我这么帅的人!
此文观点声明先:
- 只通过技术角度分析讨论 【小程序】对程序员、web前端、后端人员技术路线的影响
- 不从产品角度 展望【小程序】以后的发展和方向– 这个都被媒体或专业市场分析人员分析烂了
「 微信应用号是什么?」
张小龙曾表示,用户关注一个应用号就如同安装一个App一样,而微信应用号就相当于另一个App Store,主要功能就是应用推广。
此图也被看烂了是吧?好吧,关于【小程序-应用号】 的概念和解释,我相信大家已经在各大头条网站了解的很清楚了,各种推送和刷眼球,真是腥风血雨!我就不多做解释了。
如果你还不知道 微信‘应用号’是啥意思,那么请你从山洞里出来好吗?赶紧回到这个残酷的商品信息时代吧!
「 微信应用号可以做什么」
简单说,微信“小程序”可以为开发者提供基于微信的表单、导航、地图、媒体和位置等开发组件,让他们在微信的网页里构建一个 HTML 5 应用。同时微信还开放了登录和微信支付等接口,让这个“小程序”可以和用户的微信账号打通。
简单地说,目前微信“钱包”中的“大众点评”、“京东商城”、“滴滴出行”等第三方服务就是应用号的一种雏形。
还有支付宝里的 “生活缴费”,“城市服务”等,都是这种范畴,只不过是直接集中在app里面。
根据参与本次内测的“小道消息”创始人 Fenng 提供的信息,微信小程序向开发者开放了下列 API 接口:我们再来刷一张图
1.微信的目的似乎很简单,就是希望把用户使用App的动作都集中在微信上。
2.从开放接口看,这不就是 web app?混合app么? 。
3.小程序就是一个依托微信,来开发网页APP的关系户。
4.html 、css3、js 又泥煤的更重要、更露脸了(笑 ?)
「 小程序对 原生APP 开发人员的影响」
1.Android 、IOS 开发者饭碗会丢吗?
呵呵,这个问题讨论了多少年了?HTML5 API第一版标准出来的时候,都在展望设想,现在呢?手机主流不还是原生APP 的天下,虽说一定程度上网页应用占了不少河山,原生app里面也嵌入了大量web app 页面程序。但归根结底还是原生APP的范畴。一谈到体验、性能问题,就是硬件在发达,还是会想到原生app
另外 App 天生的优势,和硬件直接打通、自由奔放,功能、体验更加友好。
微信是一个大平台,在怎么折腾还是小马哥 说了算,哪天说给你接口封了就封了,说给你下了就下了,你只不过是去上边尝了尝鲜。
所以,Android 、IOS 开发人员完全不必担心会丢饭碗(短时间内),小程序也不会取代原生APP。
2.原生app 人员应该学习 HTML5 、JavaScript吗?
我以前文章早就说过,以后会很长时间甚至可能一直都是 “前端年”,丝毫不夸张。如果身为技术人员不拥抱变化,不get新技能,可能工种不会淘汰你,时间就会淘汰了你,
而且现在 Hybrid App 开发方式如此流行和轻便,各种框架+语言 都可以无压力操作原生接口开发,比如 react native(火爆程度直逼安卓原生,甚至有超越趋势),而且体验也是极好的。
所以劝只会原生开发的小伙伴,有空学习 JavaScript吧!
「 小程序 对 web前端开发人员的影响」
身为 web前端开发里最帅的人,今天我从 专业前端开发者的角度,来分析下 【微信-小程序】会对我们有什么样的影响
首先,它的出现不会影响到我的颜值(放心了);
然后,我们前面说了,这基本上就是 我们现在总是接触到的 Hybrid App方式,你颤抖了吗?HTML+CSS+JavaScript 快要一统河山了?单单从这方面来讲的话,我们web 前端工程师 是应该高兴还是高兴,还是忧虑呢?
我们先简单分析一下 开发移动混合APP 的方式,根据此网络图分析:
左边一类(A)是继续坚持使用HTML+CSS进行界面布局,通过对页面渲染进行优化和对标准JS进行原生扩展来实现跨平台App开发。框架例如 MUI 、SUI、jquerymobile、ioinc
右边一类(B)是放弃使用HTML+CSS的界面布局,选择一种第三方的中间语言(如JS,C#等)来映射成Android和iOS的系统调用,从而实现跨平台。这种方式的界面布局需要通过中间语言组合系统UI组件来完成,渲染性能比HTML+CSS的方式要好,但这样也失去了HTML+CSS布局的标准性和灵活便捷。但为了性能一切都忍了,至少目前这种方式已经占据了市场和开发狗的心。 如 React Native
A类特点:简单 快速,模版布局现成,一般熟练 html5 css 的前端开发人员根据api都可以胜任、调用基本的原生接口 如相机、扫描、地理定位也够用。但渲染太耗内存、性能堪忧。
B类特点:完全映射底层接口。通过中间件打通视图 和底层借口,利用中间语言 JS 来开发应用程序。渲染性能比HTML+CSS的方式强悍许多,但布局和开发已经不是原生的 html+css+js了,这增加了难度和便捷性。
但此方式还是比原生app开发周期短很多,属于web开发范畴,只不过开发方式包装了一些技巧。性能直逼原生(原生小伙伴们,还不学前端?)
【小程序】是哪种开发方式和技术栈
那么分析完了,这2种方式原理,我们回到主角,【小程序】到底是通过什么方式来开发和渲染的呢?来跟着我来分析,没错的!
第一时间已有神人在github开源了 内测小程序的应用包,猜测估计是 内测200名额里面的某公司的开发人员,并且把他破解开源了(不得不说,国人手速是真快)
从上边一些截图 可以一目了然确定,前端开发的福利 稳了!控制台、dom结构、js文件、require包含模块
但当我看到这个文件的时候。。我tm 合不拢嘴了,这不就是 vuejs 、react吗这 MVVM家族的子孙吗。
完全组件化、自定义组件标签、数据双向绑定。
现在我根据以上代码结构分析,我可以确定 小程序 是属于 B类,也就是React Native 方式的开发模式,简直和现代的web前端技能无缝对接了。
微信‘小程序’: web前端的春天 or 噩梦?
前面喷了那么多,都是为我们这个问题来的。小程序的发布对 web前端的春天 or 噩梦呢?
不言而喻,上边经过我的分析,傻子也能看出来是满篇的好处和福利了 也就是春天。html+css+js +各种前端框架经验,你他喵的 小程序简直是web前端开发人员的定制福利。
值得担忧的问题:福利好自然压力大,以后前端开发又得多掌握一份技能 和 一套微信体系开发工具了,微信开发必须在微信提供的 宝宝箱 sdk里开发,而且也不是原生js语法 和react 、angular语法,它是 WXML 和 WXSS ,微信自体系。
进入全面 js时代,也不远了
Any application that can be written in JavaScript, will eventually be written in JavaScript.
‘ 能用js写的东西,就全部用js写 ’,所以 以后入门门槛 会更高,后端 、原生app开发人员也都要掌握一些 JavaScript 技能。
本身这些混合开发框架 就是用c++ /c 语言调用的硬件接口来映射给js 调用的,所以以后前端人员的竞争可能会变大,越来愈多的后端 或者原生APP开发人员会进入 JavaScript 的学习大军,那么本来普遍逻辑能力就强的他们,会不会侵蚀一部分前端开发的福利呢?
那么以前企业项目 可能需要 一个wap、wap app、企业号,以后 会 + 一个 ‘应用号’开发。 工作量大了,企业成本也增高了,那么涉及到我们个人, 工资会不会随着业务量、工作量的增长而增长,这个才是关键问题。
总结:
拥有5-8亿 用户的微信,无疑成为了世界数一数二的移动互联网最大入口。它的一举一动,堪比国家经济动荡,发布一个东西就是一个行业,滋生无数机会。
所以我们是无奈的,接受就好,让市场来考验,让用户来决定。
APP开发人员不必跟风媒体恐慌,你只要保持自我,不断学习,肯定是不会被淘汰的。
web开发人员高兴之余,也不要忘形,因为这意味着以后你会承担更多的压力和工作量,和更多其他行业进来的竞争者们,大家都准备好了吗?
末尾福利 : github 开源 【小程序】 链接奉上 里面有一切关于这个demo、工具和文档、新闻,谢谢最初收集者
小程序 - demo :https://github.com/xwartz/wechatApp-demo
开发工具破解:@zhujin
下载:https://pan.baidu.com/s/1geTeKNp 密码: 5nge
关注我微信号,给我留言 “小程序” 字眼的 我会发送更多 资源和工具连接。请大家排好队了!嘿嘿!
最后 ,容我说一件事:经过不懈努力,微信终于邀请我开通了 文章【赞赏】 功能;
所以原创很不易,每次写完文章,累得半死,所以大家有钱的出个喝水钱,没钱的点个赞 转个发 支持下都可以的,这样我更有动力 来和大家一起分享。
长按扫码,关注我的公众号额
微信‘小程序’: web前端的春天 or 噩梦?