通信人家园

 找回密码
 注册
搜索
热搜: 家园 活动
恒扬科技

军衔等级:

  二级通信军士

注册时间:
2016-11-17
发表于 2017-1-9 09:32:05 |显示全部楼层
本帖最后由 Ciara 于 2017-1-9 09:38 编辑

我一句话总结小程序到底是啥。很多同学都在问这个问题,那简单,从技术上来说,小程序就是ReactNative Atom插件系统

三贱客是啥
要想说清楚小程序和APP的区别,就必须明白APP是啥?以iPhone的Objective-C举例,iPhone APP是需要编译再执行的,具体就是从源代码编译成中间代码,然后链接成可执行的二进制程序。

iPhone的APP即便能够放到Mac上面也是无法运行的,虽然iPhone和Mac都是来自于苹果公司。明白这个梗很重要。

在很久以前的Web 1.0时代,其实也不是很久了,工程师们(说的不就是我们嘛)希望有一个东东能够运行在任何一台电脑上面,因为联网了嘛。

可是电脑的CPU都是五花八门啊,所以中间层Runtime出现了,搞的神神叨叨的,其实他就是一个翻译罢了,这个新语言就叫HTML。为了满足到处都能运行的目的,HTML 1.0只有最简单的功能,所以那个时候的网页都是不能动的!!

后来,Web技术不停的往前发展,于是出现了HTML+ CSS + Javascript这个前端三贱客组合,Web技术也发展到HTML 5,简称H5。我们这里忽略Flash这个二货和非常软同学(微软),就是因为他们,Web技术一直都被带歪了,H5迟迟出不来。

三贱客里面,HTML负责框架和数据,CSS样式表指导这个应该如何显示,Javascript就是一个跳大神的,响应用户的点击等动作。

花开两朵,各表一枝。互联网让电脑、手机都能够连接起来了,那么就出现了网络计算的概念,搞出BS结构、CS结构。其实就是谁干的活多,谁干的活少。举个例子,场景是这样的:按一个按钮,按钮变暗,发出叮的一声,并且通知服务器。

如果是APP——按钮图案、声音文件早就在APP里面了,网络上传递的无非就是“按”这个动作而已,对网络依赖度一颗星,用户体验五颗星,速度快。

如果是浏览器——那么你要先从网络上面下载按钮图案、声音文件,以及三贱客程序,让翻译来翻译(记得之前的Runtime嘛),然后才显示。所以对网络依赖度五颗星,用户体验一颗星,速度慢。好处就是手机不用安装任何程序。

那网络速度一直在发展,手机性能也越来越强悍了,是不是就能够用H5替代APP了呢?答案是难!H5有一个致命的问题就是性能。其中非常难优化的是DOM和界面动画,所以H5在手机上面只能做简单的界面,复杂的就没戏了。

为啥H5就那么弱呢?因为有很多猪一样的队友。为了让大家都能够在一块快乐的玩耍,那只能按照最猪队友的表现来设计了。

三只小猪是啥
好了,下面我们来说,小程序是啥,其实很简单,小程序就是三贱客的同胞兄弟——三只小猪!

老大叫WXML,和HTML做的事情一样,但是长的完全不一样。WXML大幅度删掉HTML里面影响性能的地方,比方说那个DOM以及图标如何排列,长的跟Android界面描述语言很类似。

老二叫WXSS,基本语法跟CSS样式表一致,用来控制如何显示(字体大小啊,字号啊啥的)

老三叫JS,语法也跟Javascript基本一致,用来响应用户的请求,比方说滚动。

我们之前不是说H5最大的问题是性能嘛,这里如何解决的呢?答案就是WXML做了很多减法,然后JS下面添加了一个Native库。

所以同样是滚动屏幕,H5里面的Javascript是调用浏览器的滚动功能,而小程序是调用微信提供的Native库里面的滚动模块,当然快多了。然后,再配合本地存储使得文件不用重复传来传去。

经过这么一改造,是不是小程序速度就很快了呢?

答案是不知道。因为微信还在不停地发布新的API,小程序今天才正式发布。不过从内测就开始试用小程序的鄙人来看,小程序仍然适合轻应用。原来,说用完即仍是这个梗啊,因为用完不扔的东西,小程序搞不定啊!

小扎的Facebook前段时间推出的ReactNative就是这么玩的。实际逻辑用Javascript来写,通过Native组件来屏蔽IOS和Android的区别,使得ReactNative程序能够在IOS和Android上面运行而不用改一行代码,小扎我很看好你哦。

Atom是啥
开头我们提到小程序就是ReactNative + Atom插件系统。那Atom又是啥呢?Atom是一个牛掰的公司叫Github搞出来的编辑器,所有牛掰公司都有一个特点就是被我朝墙过。

在我朝铁路还不发达的时候,广大人民为了过年能抢到票,不得不用抢票软件。但是有一个二货抢票软件,将他的代码放在Github上面,结果导致大量流量都去访问Github。于是我朝从此将Github列入黑名单,时不时的搞它一下。这个好像说远了,反正你知道Github就是窦娥就行了。

Github搞了一个编辑器,其实编辑器有很多了,但是Github觉得这些都太土,要搞一个与时俱进的编辑器。但是当时军阀很多啊,怎么办呢?于是Github决定发动群众,搞群众运动,他就编了一个外壳,额外的功能你都可以通过插件来添加。为了尽可能团结更多的群众,于是他决定使用三贱客来作为插件的语言。

有微信的强推,小程序一定会大获成功,小程序可能能抢占部分简单界面APP的市场,但是小程序仍然定位于轻应用。我们之前说过,小程序的另一个创新就是不用安装,即可使用,那么这个下载过程就很关键了。




已有 1 人评分家园币 收起 理由
TYMING + 1 似懂非懂,还是谢谢

总评分: 家园币 + 1   查看全部评分

使用道具 举报

军衔等级:

  中士

注册时间:
2016-6-15
发表于 2017-1-9 09:59:15 |显示全部楼层
好东西根本不用解释,反之。。。。

使用道具 举报

军衔等级:

  上士

注册时间:
2014-11-27
发表于 2017-1-18 14:15:13 |显示全部楼层
学习学习

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

Archiver|手机版|C114 ( 沪ICP备12002291号 )|联系我们 |网站地图  

GMT+8, 2017-4-30 13:04 , Processed in 0.047408 second(s), 15 queries , Gzip On.

Copyright © 1999-2017 C114 All Rights Reserved

Discuz Licensed

回顶部