从程序员的角度分析微信小程序

昨天朋友圈被微信小程序刷爆了。

我赶快在书架上拿出三年前买的书,把上面的土擦干净,压压惊。

作为一个并不是资深的程序员。 从程序员的角度分析一下微信小程序,欢迎指点。

首先吐槽

微信小程序只发了200个邀请号,和我预想的一样,张小龙并没有翻我牌,难道就不能雨露均沾吗?

先来了解下什么是微信小程序。 转自知乎

微信也许重申了”我们是一款约炮软件”

微信还提供了一大堆接口和组件(不好意思,说了句废话)。

下面是禅叔的观点:

小程序原理就是用JS调用底层native组件,和React Native非常类似。恰恰又证明了,凡是能用JS开发的最终都会用JS开发。

证明:凡是能用JS开发的最终都会用JS开发

解:
据我多年经验,这句话是一个真命题。

语言的设计者是有两个派系的,有些人认为程序员语言应该防止程序员干蠢事,另一些认为程序员应该可以用编程语言干一切他们想干的事。 C/Java语言是前一个阵营的代表, JS是后一个阵营的代表。

往往第一个阵营的语言强调性能, int就是int,double就是double 还第二个阵营就是强调便利性 ,int是var , double还是var。

选择语言的时候,其实就是在做选择题。是选择便利还是选择性能。

往往新出的语言便利性都很强,是因为硬件性能提高了,从而可以为了便利性放弃性能要求。

编程语言的主要矛盾就是程序开发的便利性和硬件水平的矛盾。

如果能够穿越回到70年代(首先在中南海西面买块地), 那时候你坐在庞大的计算机面前写代码的时候,无意间小手一抖,多敲俩空格,然后程序oom。
不要感觉上面的事情不可思议,那时候内存低的可怜,每一个字符都是严格定义的,不允许任何浪费。能运行java虚拟机都是天方夜谭,怎么可能会有java语言。

节俭是一种美德,浪费不一定是坏事情

随着硬件性能的提高,出现了越来越多的编程语言,新出的语言往往性能上浪费,便利性上提高。要是按照几十年前的标准衡量,有一些使用新语言开发的热门应用程序对硬件资源浪费非常惊人。

不仅编程语言有这种现象,这实际是一种普遍的历史趋势, 随着技术的发展,每一代人都在做上一代人觉得浪费的事情。你可以想象下30年前打个长途电话,而现在,别说长途电话了, 有的人都就坐飞机去约炮了,这个在以前很难想象。

浪费可以分成好的浪费和坏的浪费。用更多的浪费换来简单的设计,并不是什么坏事。

如何才能充分利用新硬件更强大的性能最有利地“浪费”他们?

这时候问题就回到了开始, 证明:凡是能用JS开发的最终都会用JS开发

JS这种语言扩展性极强, 性能比起其它语言只能呵呵了。 但是硬件速度会提高很快。
Paul Graham算过,如果摩尔定律一直成立。一百年后计算机的运行速度是现在的74乘以10的18次方倍。(准确地说是73 786 976 294 838 206 464倍)

终有一天,你会在选择的时候忽略性能,选择便利性。

以前上学的时候,经常去网吧玩大话西游和传奇。而现在随便一个页游就能做出这种游戏效果。10年前你很难想象在网页上能玩这种游戏。

你现在就可以尝试想象一下若干年后,打开网页能玩魔兽世界。这并不是不可能实现的。

强调性能的语言还能否生存

我们都知道C/C++ 就是强调性能的语言, 我们做游戏或者视频播放的都是要求性能的。他们会不会被新的语言取代呢?

我可以郑重证明,不会的。

虽然上面我说的Java语言属于强调性能的第一阵营的语言。但是相对于C/C++ 它显然是增强了便利性。
语言是发展的,是迭代的, 随着硬件性能提高,基本上每个节点下都会产生新的语言,相对于之前的语言浪费性能,增强便利性。

但是很难取代之前的语言,对性能要求高的程序依然会出现的, 即使以后可以在网页上玩魔兽世界,但是还会出现 超级魔兽世界,泰坦世界, 宇宙世界 等等一大堆新的对性能要求较高的游戏。

微信小程序会取代其它APP吗?

问题回到我们的主题微信小程序上,微信小程序会取代其它APP吗?

我的观点很明确,
现在不会取代,以后会,但是以后会出现以后的微信取代不了的;以后的以后会取代以后的,但是以后的以后会出现以后的以后的微信取代不了的 …..

其实也不难解释,10年前我们不能在网页上玩传奇, 但是现在可以。但是现在又有了魔兽世界,也许10年后网页上就能玩了,但那时候肯定还会出现 超级魔兽世界之类的游戏不能在网页上玩。

作为一个程序员,我们需要学什么?

有的人会担心,微信小程序出来了, 做Android、IOS开发的会不会失业啊。

其实你大可放心,只要你会学习,永远不会失业,你不学习,就算微信小程序没有推出你也会失业。

就目前而言,小程序始终是小,场景有限。还不能完全取代APP , 还可以通过小程序引导用户下载APP。就像简书一样,网页端能浏览不代表不开发APP软件。

但是要认清大的趋势, 这段时间就是用来给你学习的。

具体怎么学啊?

看文档学习呗, 首先了解JS语法基础, 了解React Native原理,学习JS , RN,H5,CSS,运营,测试,产品设计规范,图形设计,神经网络,OpenGL………

总之,根据具体文档,用到什么学什么。

作为一个程序员,你可以忘了学习的高数,可以忘了学习的英语,可以忘了学习的线性代数…. 但是千万别忘了学习。

微信小程序出书了

当然你可以看书学习

购买链接

亚马逊
京东
当当



更多精彩请关注微信公众账号likeDev

时间: 2024-09-29 07:21:41

从程序员的角度分析微信小程序的相关文章

微信小程序初使心得【微信小程序快速入门】

摘要: 2016年推出微信小程序,时至今日,历经几个版本的更新,已形成了相对实用和稳定的服务平台.本文简单的介绍了微信小程序的入门用法,今后会继续关注和实践.           2016年推出微信小程序,时至今日,历经几个版本的更新,已形成了相对实用和稳定的服务平台.本文简单的介绍了微信小程序的入门用法,今后会继续关注和实践.      2017年,春节刚过,想来,已经过了三四个工作日.接下来,期待的莫过于,十五的元宵. 近日,在工作闲暇之余,阅读了一些关于微信小程序的文章,忍不住,想动手试他

【转】微信小程序给程序员带来的可能是一个赚钱的机遇

自上周被微信小程序刷屏之后,这周大家都在谈微信小程序能够带来哪些红利的话题,其实我想从程序员的角度来谈谈,带给我们程序员来的红利,或许是我们程序员创业或者赚钱的机遇. 其实我从<作为移动开发程序员,你是否患有微信应用号"恐惧症"?>文章中已经说过了,微信小程序可能是原生的机遇,在程序员面对微信小程序的恐惧中说其实也是我们程序员创业的春天或者挣外快的一个机遇. 我们想想,像微信服务号是面对企业的一种宣传,对企业有利,而微信公众号是自媒体人的天下,打开了自媒体人的春天,自媒体时

程序员测试微信小程序后,发现这群人才能赚到钱

11月4日晚,小程序开放公测消息刷爆开发者的朋友圈,众多程序猿摩拳擦掌准备搭上小程序红利之车,圈里圈外喊着小程序创业的比比皆是,甚至有美女加入程序猿微信群求男友. 为何会有这么大吸引力?小程序是什么?它推出目的是什么?主要影响哪些领域?又会有哪些人将从中获利?小程序会成功吗? 我是一名程序员,也申请了小程序的开发,有一些心得感受.与磐石之心一起讨论小程序,并把心得写出来提供给各位读者. 1.小程序是什么? 官方说法:"微信之父"张小龙描述:"小程序是一个不需要下载安装就可使用

微信小程序刚出,小程序分析服务就出来了

2017年1月9日,张小龙兑现了曾许诺的一年之约.微信小程序正式进入人们视野,媒体争相报道,朋友圈刷屏,微信每一次大的革新都会用特有的方式改变国人现有的生活方式,与此同时也刺激着创业者的神经.小程序的出现进一步打通了内容和服务之间的通道,使品牌和用户建立更简洁高效的互动.基于亿万级的海量微信用户,可以预见小程序即将成为又一重要的用户运营平台,引爆新一轮的流量红利. 如何在小程序这波想象空间有限的红利中夺得头筹,如何通过数据统计分析提升运营效果和应用效率成了微信小程序的开发者.运营人员和市场营销人

微信 小程序前端源码详解及实例分析_其它综合

微信小程序前端源码逻辑和工作流 看完微信小程序的前端代码真的让我热血沸腾啊,代码逻辑和设计一目了然,没有多余的东西,真的是大道至简. 废话不多说,直接分析前端代码.个人观点,难免有疏漏,仅供参考. 文件基本结构: 先看入口app.js,app(obj)注册一个小程序.接受一个 object 参数,其指定小程序的生命周期函数等.其他文件可以通过全局方法getApp()获取app实例,进而直接调用它的属性或方法,例如(getApp().globalData) //app.js App({ onLau

移动开发之微信小程序——资料集合

本文转载自:知乎 有需要下载的客官可可以点击知乎去下载相关资料 一:官方地址集合:1:官方工具:https://mp.weixin.qq.com/debug/wxadoc/dev/devtools/download.html?t=14764346784612:简易教程:https://mp.weixin.qq.com/debug/wxadoc/dev/?t=14764346775993:设计指南:https://mp.weixin.qq.com/debug/wxadoc/design/index

微信小程序引起热议,但谁还记得企业微信呢?

这几天,微信小程序再次刷爆了朋友圈并收获众多好评,很多人期待着微信小程序将带来一场革命,有人说有了小程序手机上很多APP都能卸载了.难以否认的是,腾讯确实非常擅长产品,张小龙也是顶级的产品经理,但是产品的成功必然是站在战略正确之上的,而微信小程序就是一款战略产品. 但是,我认为目前来看,微信小程序并没有发挥微信的优势,有可能是雷声大雨点小.目前的乐观只是对腾讯产品能力的信任,而可能只是一时新鲜,就像之前也引起热议的企业微信一样. 微信想成为什么样的工具?技术工具 很明显,按照张小龙的说法:"微信

详解微信小程序开发之下拉刷新 上拉加载_javascript技巧

微信小程序中的下拉刷新,上拉加载的功能很常见,目前我知道的有两种可行的方法,一是scroll-view,二是整个页面刷新.今天说说第一种,自己造轮子,难免有些瑕疵,日后慢慢完善. 上gif: 原理: scroll-view中有监听滑动的方法,这个跟Android类似.其中用到了滑动到顶部,滑动到底部的方法. 1.下拉刷新,在滑动到顶部时,bindscrolltoupper被调用,根据自己的业务逻辑请求即可.我的demo只是随机换了个关键字. 2.上拉加载,在滑动到底部时,bindscrollto

微信小程序开发实战教程之手势解锁_javascript技巧

代码:https://github.com/jsongo/wx-gesture-lock 这个手势解锁的demo使用了https://github.com/lvming6816077/H5lock 这个项目的算法和主逻辑,整合到微信小程序来,修改了很多地方的语法来适配小程序,去掉了window.document等函数,同时也添加了新的机制来解耦界面的操作和第三方库,这个下面会介绍到. 不过可惜的是,这个demo也只能在开发工具上玩玩,到真机上测试的时候,手指一滑动,页面会跟着滚动,手势没法使用.