微信应用号在前端开发圈火了,而 Docker 其实早已火遍后端 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Recommended Services
Amazon Web Services
LeanCloud
New Relic
ClearDB
Tenxcloud10
V2EX    云计算

微信应用号在前端开发圈火了,而 Docker 其实早已火遍后端

  •  
  •   Tenxcloud10 2016 年 9 月 23 日 4860 次点击
    这是一个创建于 3476 天前的主题,其中的信息可能已经有所发展或是发生改变。

    昨晚( 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 的开发成本,加快了产品的迭代。

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

    4 条回复    2016-09-23 16:39:39 +08:00
    source
        1
    source  
       2016 年 9 月 23 日 via Android   1
    总觉得是软文,强行类比一波
    Chrisplus
        2
    Chrisplus  
       2016 年 9 月 23 日
    "所以 Javascript 是世界上最好的语言"
    ~
    ~
    msputup
        3
    msputup  
       2016 年 9 月 23 日
    你把最后一句话去掉我还能好好看。
    wzlps
        4
    wzlps  
       2016 年 9 月 23 日
    软广有意义吗
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     3331 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 28ms UTC 13:29 PVG 21:29 LAX 06:29 JFK 09:29
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86