JavaScript为什么成了众多小程序的首选?

新闻 移动开发
从13年提出轻应用的概念以来,支付宝,微信等好多大流量App都借助自己的平台,推出了小程序。小程序的优势很明显:轻量、无需安装、随用随走、性能又可以媲美原生的应用,更重要的是可以充分发挥各自平台的优势,带来更精彩、更丰富的用户体验。

 [[256303]]

从13年百度率先提出轻应用的概念以来,支付宝,微信等好多大流量App都借助自己的平台,推出了小程序。小程序的优势很明显:轻量、无需安装、随用随走、性能又可以媲美原生的应用,更重要的是可以充分发挥各自平台的优势,带来更精彩、更丰富的用户体验。

而开发小程序,就不得不提JavaScript与Node.js。

JavaScript是什么?

[[256304]]

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开发小程序,就成了现有平台们的***。

小程序的基础架构

[[256306]]

探索各大平台的小程序开发,不难发现,基本上都是由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开始也是个不错的选择哦!

责任编辑:张燕妮 来源: 头条科技
相关推荐

2013-07-08 14:24:57

Windows Azu云计算创业企业

2015-06-02 14:07:21

2012-11-14 11:06:37

桌面虚拟化VDI

2015-11-02 09:19:10

程序员JavaScript

2017-09-04 16:43:08

Linux云原生环境开源

2019-09-17 15:25:34

WAN物联网技术

2015-05-28 15:31:14

开放架构互联网+

2018-05-18 15:25:32

人工智能Python语言

2019-08-30 14:58:47

JavaScript程序员编程语言

2018-11-05 10:10:38

Jupyter数据科学家web

2020-06-23 16:37:39

云计算多云企业

2020-09-22 15:06:51

JavaScript前端技术

2019-01-14 15:25:04

小程序互联网微信

2022-06-22 11:09:16

新华三

2021-09-17 22:58:27

区块链加密货币技术

2023-11-29 10:11:52

2015-08-19 13:32:04

2020-07-23 08:07:47

数组upData库函数

2017-04-18 18:00:22

2019-08-28 10:53:35

JavaScriptOptional Ch代码
点赞
收藏

51CTO技术栈公众号