从13年百度率先提出轻应用的概念以来,支付宝,微信等好多大流量App都借助自己的平台,推出了小程序。小程序的优势很明显:轻量、无需安装、随用随走、性能又可以媲美原生的应用,更重要的是可以充分发挥各自平台的优势,带来更精彩、更丰富的用户体验。
而开发小程序,就不得不提Javascript与Node.js。
Javascript是什么?
Javascript其实跟Java也没什么关系,它的官方名称为ECMAScript,是一种解释性的脚本语言,可以嵌入HTML,然后在浏览器中运行。HTML大家应该都知道,是一个网页的描述文件,它是静态的,而Javascript能够为这些静态的页面添加动态内容,所以在前端开发中必不可少。
早期的Javascript之所以流行,是因为其功能强大,在不需要服务器的情况下就能在客户端大有建树,使得浏览器中的网页不再呆板死寂!但也正因为Javascript的动态性,网站的安全性能无法得到有效的保障,所以也诟病不少!
2009年,随着封装了Chrome V8引擎的Node.js发布,使得Javascript又获得了新生,和PHP,Python等语言一样,成了服务器端开发的利器。时至今日,各种基于Javascript的框架层出不穷,不仅在前端开发中风采不减,而且在混合开发(Hybrid)领域大放异彩,涌现了React Native,Angular UI等优秀框架。
为什么是Javascript?
小程序开发,大家为什么不约而同的选择了Javascript?
首先,与它与生俱来的优势是分不开的,即跨平台、面向对象、事件驱动等。
其次,就是Node.js的带来强大的服务器环境支持。Node.js的单线程、异步I/O、事件驱动等特点可以解决应用的高并发,加上强大的V8引擎来解释Javascript,正好适合小程序的业务特点。
所以,在平台端搭建小巧的Node.js服务器,然后用Javascript开发小程序,就成了现有平台们的首选。
小程序的基础架构
探索各大平台的小程序开发,不难发现,基本上都是由4类文件组成:
一是用来描述页面信息的XML文件(相当于Web中的HTML文件);
二是用来美化页面的XCSS文件(CSS样式文件,X在不同平台可能有不一样的字母);
三是用来处理事件的Javascript文件(标准的JS文件);
四是用来声明配置(路径、信息等)的JSON文件(或其它的用来描述配置信息的文件,但以JSON居多,毕竟大家都熟悉,和Javascript最般配)。
其实小游戏和小程序的框架是类似的,只不过小程序中可能不需要太多的页面,所以有些会省去页面文件和CSS文件,主要是基于H5的Canvas(同时支持2D和3D WebGL)来开发。
为什么不用H5?
很多开发过H5应用的朋友也会纳闷,为什么平台的小程序不直接用H5,而是都自立门户,定义自己的规范呢?
首先,是各自平台的展现形式不一样,即所用的控件有很大的不同,H5并不能在不同的平台更好的适配,反而会降低用户体验满意度。
其次,每个平台都有自己的特有的API体系,H5开发也不能做到适配所有。
总之,平台的差异性,资源的差异性,决定了规范的差异性,与其适配折中,不如自定规矩,然后发挥更大的优势!
探索头条小程序
今日头条的小程序一直在秘密的进行着。这两天有点空闲,看了看API,跟其它平台相比,并没有特别的不同。
头条小程序充分结合了其场景:大流量入口(搜索、微头条、我的页面)、内容匹配(个人首页、文章详情页、小视频详情页)、广告投放(广告、频道、钱包)等。
但是在数据存储、文件存储、云端开发等环节还相对薄弱,毕竟头条的云端产品还不曾露面(不知道会不会做?),由于其还没有正式上线,在内测版体验还算不错,值得期待!
小程序的未来
小程序依托平台的魅力,已经展现了其特殊的优势。如何与自家平台的特色相关联,平台也是想尽了方法,用尽了策略。
现阶段,大家对小程序的接受还是有限,大家最担心的是小程序带来的平台臃肿和混乱。
不管担忧也罢,不习惯也罢,小程序都会成为一种发展趋势。借助云计算和5G的发展,小程序一定会带来突破性的发展。
想学编程的朋友们,不要一天到晚盯着大数据、人工智能了,从Javascript开始也是个不错的选择哦!