1

昨晚(9月21日)“微信应用号”萌萌哒的化身——“小程序”才刚开始宣布内测,今天朋友圈就刷屏了!真是一石激起千层浪,各种分析、预测文章铺天盖地而来,让人应接不暇。这让笔者依稀看到了当年Docker技术开源时的盛景。

有人说,微信小程序的横空出世,让前端开发开始热闹起来;而笔者想说,在后端开发中,Docker的地位可以与微信小程序一较高下,因为它早就已经火遍后端!

今天我们就来比比微信小程序和Docker究竟是如何在前端和后端开发中一统天下的!

1.Docker在后端开发的江湖地位

作为给容器领域提供了标准化“集装箱”的Docker技术,自开源以来,Docker类应用均以CloudNative云原生自居,在容器类创业者、国内外Docker技术大拿的不断推动下,真正让开发者、企业开始逐渐接受这种云原生应用,并通过Docker&k8s等技术推动互联网的不断进步。

那么,Docker是如何火遍后端的呢?先来看看下面这段火药味十足的对话:

测试:你提测的代码有BUG。看这个页面显示问题吧,点下这个链接跳转的不对吧,再多点几下,网站挂掉了吧!!!

开发:开什么玩笑,我这里怎么一点事没有。搞出网站挂掉这种BUG我还混不混了。你部署环境有问题吧???

测试:!##$&!#$%@#

开发:&@#$@#$&!#

开发:我上你的机器看下……

10分钟后,或者更长,或者更更长时间后……

开发:你配置文件没更新!

测试:你提测的文档里没说要更新!

开发:我昨天不是说过了么……

这里我们并不讨论谁是谁非,要知道是人就会出错,我们应该找到好的方法避免出错。那应该如何统一开发与测试环境呢?

Docker带来了很好的解决方案:把代码和依赖环境做成不可变的一个镜像,需要关注的事物越少遗漏机率越小,这是毫无疑问的。如此统一了开发、测试以及生产环境,你就能节省出更多的时间做更有意义的事情。

为了充分利用计算资源以及考虑到安全问题,我们会在高性能的服务器上使用虚拟机隔离资源为多租户提供服务,要知道虚拟机是重量级的解决方案,创建速度慢、本身占用资源高。

而Docker使用了cgroups/namespace等,是非常轻量的解决方案,占用资源少,启动速度快,可以秒级启动容器。这意味着相同的机器使用Docker能够提供更多的服务。

上面只是简单地举了两个例子,Docker实际解决的问题远不止这些,所以不火才怪。后端开发同行们,你认不认同!

2.微信小程序在前端开发中的潜在地位

微信小程序提供了丰富的框架组件和 API,极大降低了开发的难度,在这些组件和接口的帮助下,建立在微信上的小程序在运行能力和流畅度上便可以保持和Native App一样的体验。

尤其对于 web 前端开发者来说,开发 APP 不再需要学习 IOS、Android,也不需要搞懂 React Native,开发一个微信小程序就够了,所以 JavaScript 是世界上最好的语言。

微信小程序实现了千千万万前端工程师开发App的梦想,想不火都难。所以别再开发App了,请开发移动网页应用吧。

3.Docker与微信小程序的对比

◆ 技术角度

Docker (微服务)的开发技术:

为何要微服务?了解微服务架构、了解其优点与缺点;
微服务间如何通信?学习常见网络协议;

如何制作Docker镜像?学习Dockerfile;

如何管理各容器?了解常用编排系统,如Kubernetes、Mesos、Swarm 。

微信小程序的开发技术:

前端框架如何选择?微信小程序提供了丰富的UI控件,WeUI让小应用看起来更加微信原生化(react、vue、ionic是不是跃跃欲试了呢~)

如何调用系统接口?微信小程序提供的接口和框架异常丰富,包括:视图、内容、按钮、导航、多媒体、网络能力、罗盘、重力感应、画板等。

◆ 产品市场角度

Docker:加速了创业公司的Server端开发流程;
微信小程序:加速了创业公司的用户端开发流程。

4.最后

微信小程序的出现,可以说给开发者和创业者带来了无限的想象空间,最直接的好处就是降低了App开发成本,加快了互联网产品的迭代;而Docker技术的开源和普及,则让后端开发者们尝到了开发运维一体化的甜头,降低了App Server的开发成本,加快了产品的迭代。

本文由时速云翻译,如若转载,需注明转载自“时速云


时速云
180 声望59 粉丝

时速云是国内领先的容器云平台和解决方案提供商。基于Docker为代表的容器技术,为开发者和企业提供应用的镜像构建、发布、持续集成/交付、容器部署、运维管理的新一代云计算平台。其中包括标准化、高可用的镜像构...