我连忙从书架上拿出三年前买的书,擦掉上面的污垢,平复了一下内心的震惊。
作为一个不是经验丰富的程序员的程序员。我们从程序员的角度来分析一下微信小程序。欢迎任何建议。
首先投诉
微信小程序只发出了200个邀请。正如我所料,张小龙并没有翻开我的底牌。雨露不能平等传播吗?
我们先来了解一下什么是微信小程序。转自知乎
微信可能重申“我们是一款约会应用”
微信还提供了很多接口和组件(抱歉,我说废话了)。
以下是禅叔的观点:
小程序的原理就是使用JS调用底层组件,和.只是证明了凡是能用JS开发的东西最终都会用JS开发。
证明:一切能用JS开发的东西最终都会用JS开发
解开:
根据我多年的经验,这句话是一个真命题。
语言设计者有两个派别。有些人认为程序员的语言应该防止程序员做愚蠢的事情,而另一些人则认为程序员应该能够用编程语言做任何他们想做的事情。 C/Java语言是前一阵营的代表,JS是后一阵营的代表。

第一阵营的语言往往强调性能,int就是int,而第二阵营则强调方便,int就是var,或者var。
当你选择一种语言时,你实际上是在做一道选择题。选择便利性或性能。
新的语言往往很方便,因为硬件性能提高了,所以可以为了方便而放弃性能要求。
编程语言之间的主要矛盾是程序开发的便利性与硬件水平之间的矛盾。
如果你能回到1970年代(先买一块中南海西边的地),那时候,当你坐在巨大的电脑前写代码时,你的小手不自觉地颤抖起来,你打字还有两个空格,然后程序就出来了。
不要以为上面的内容难以置信。那时候记忆力很低。每个角色都被严格定义,不允许浪费。能运行java虚拟机都是天方夜谭,哪有java语言。
节俭是一种美德,浪费不一定是坏事
随着硬件性能的提高,越来越多的编程语言应运而生。新语言往往在性能上有所浪费,而在便利性上有所提高。按照几十年前的标准,一些用新语言开发的最流行的应用程序对硬件资源的浪费令人震惊。
这种现象不仅限于编程语言。这实际上是一个普遍的历史趋势。随着技术的发展,每一代人都在做上一代人认为浪费的事情。你可以想象30年前打长途电话,但现在,别说打长途了,有些人还坐飞机去发生性关系。这在以前是很难想象的。
废物可分为良性废物和不良废物。用更多的浪费换取更简单的设计并不是一件坏事。
如何充分利用新硬件更强大的功能,最好地“浪费”它们?
这时候问题又回到了开头。证明:一切能用JS开发的东西最终都会用JS开发。
JS是一种可扩展性极强的语言,与其他语言相比,其性能只是平庸。但硬件速度会很快提高。
如果摩尔定律一直正确的话,保罗算了算。一百年后,计算机的运行速度将是今天的 74 倍 10 的 18 次方。 (准确地说是 73 786 976 294 838 206 464 次)
有一天,你在选择时会忽略性能而选择便利。
上学的时候,我经常去网吧玩大话西游和传奇。但现在任何网页游戏都可以产生这种游戏效果。 10 年前,很难想象你可以在网络上玩这种游戏。
现在你可以尝试想象一下,几年后,你可以打开网络并玩魔兽世界。这并非不可能实现。
强调性能的语言还能生存吗?
我们都知道C/C++是一门强调性能的语言。当我们做游戏或者视频播放的时候,对性能是有要求的。它们会被新语言取代吗?

我可以郑重地证明,不会。
虽然我上面提到的Java语言属于强调性能的语言第一阵营。但与C/C++相比,明显增强了便利性。
语言是不断发展和迭代的。随着硬件性能的提高,每个节点下基本上都会生成一种新的语言,相对于以前的语言来说,浪费了性能,但增强了便利性。
但很难取代以前的语言,对性能要求较高的程序仍然会出现。即使以后可以在网页上玩魔兽世界,也会出现很多新的诸如超级魔兽世界、泰坦世界、宇宙世界等等对性能要求较高的游戏。
微信小程序会取代其他应用吗?
问题又回到了我们微信小程序的话题。微信小程序会取代其他APP吗?
我的观点很明确,
现在不会被取代,但将来会,但未来会有微信无法取代的东西;未来的东西将来会被取代,但未来的东西是未来微信无法取代的……
其实也不难解释。 10 年前我们无法在网络上玩传奇,但现在我们可以了。但现在有了魔兽世界。也许10年后就能在网页上玩,但到那时肯定会有像超级魔兽世界这样的游戏不能在网页上玩。
作为程序员,我们需要学习什么?
有人担心,微信小程序出来后,做IOS开发的人会失业。
其实你大可放心,只要你能学,就永远不会失业。如果你不学习,微信小程序不上线你也会失业。
目前来看,小程序规模较小,场景有限。它不能完全取代APP,但也可以引导用户通过小程序下载APP。就像一本小书一样,仅仅因为你可以在网络上浏览它,并不意味着你不需要开发APP软件。
但你必须认识到大趋势。这段时间是用来学习的。
具体如何学习呢?
看文档学习,先了解JS语法基础,了解原理,学习JS、RN、H5、CSS、操作、测试、产品设计规范、平面设计、神经网络、...
总之,根据具体的文档,学什么用什么。
作为一名程序员,你可以忘记学习高等数学,你可以忘记学习英语,你可以忘记学习线性代数……但永远不要忘记学习。