BT

如何利用碎片时间提升技术认知与能力? 点击获取答案

无服务器架构是移动开发者的福音?

| 作者 Alexander Stigsen 关注 0 他的粉丝 ,译者 薛命灯 关注 23 他的粉丝 发布于 2017年8月14日. 估计阅读时间: 3 分钟 | Google、Facebook、Pinterest、阿里、腾讯 等顶尖技术团队的上百个可供参考的架构实例!

realm.io的CEO兼联合创始人Alexander Stigsen简述了无服务器架构在移动开发领域的重要作用,将服务器栈抽离出去之后,移动开发会变得极其简单。

从第一部iPhone发布到现在已经有十年的时间了,但对于开发者来说,似乎还停留在2007年。如果你正在做移动开发相关的工作,就不得不面对一个残酷的事实:你的移动开发体验在很大程度上是由Web技术决定的。

我们所说的移动应用开发,一般是指构建与后端服务器发生交互的移动应用,而后端服务器是为桌面应用而设计的。随着小屏幕和无线应用的崛起,移动开发者开始肩负起交付良好用户体验的重任。

要开发出优秀的服务器端代码需要具备很多领域的知识和技能。开发者构建了一个移动应用,并把它连接到服务器上,但数据并不会就此源源不断地流进来。在开始接收第一个请求之前,你需要部署和管理这些服务器。DevOps让这个过程变得更加简单,但这着实需要耗费大量的时间。

接下来,服务器需要序列化各种请求数据,把它们保存到数据库里,然后基于这些数据执行业务逻辑,整个过程都是通过服务器端的编程语言来处理的。

不过,我们可以有更好的选择——无服务器开发。无服务器架构抽离了所有与基础设施和服务器框架相关的细节,你只需要编写代码实现你想要的业务逻辑,并在数据发生变更的时候进行响应。服务器依然存在,只是你不需要再去做任何与部署和管理服务器相关的工作。

那么,无服务开发与一般的服务器端开发有什么区别?作为移动开发者,你不需要再去掌握服务器端的开发知识。你不需要关心如何让服务器运行起来,也不需要关心如何让数据流向服务器。你也不需要DevOps,不需要去学习各种服务器端技术,如Postgre、Redis,等。

你不需要去学习一门完整的编程语言或框架(如Django或Rails),你只需要写一些JavaScript代码,剩下的事情由平台来帮你完成。平台会按照你所期望的格式来决定数据的流向,不需要中间件处理和URL路由。你可以直接处理流入的数据,而不需要暴露REST端点。

另一方面,移动应用端的代码量也大幅减少了。你不需要在应用里编写代码来处理网络和序列化问题,只要负责处理模型和数据。因为平台为你处理了大部分底层的问题,你可以专注在应用代码上,从而开发出更好的应用。

在采用了无服务器架构之后,你不再需要专门的DevOps和服务器团队。你不再需要去了解服务器端框架——可能只要懂一点JavaScript就够了。你甚至不需要编写与服务器端通信的代码,因为平台首先会帮你们把这些事情做掉。

移动应用的变化日新月异,有一些特性构建起来相当困难,比如协作、双向数据同步、端点计算和“Offline First”。而通过采用服务器架构,开发者可以利用平台所提供的功能来构建下一代应用。

查看英文原文: Why serverless was made for mobile development


感谢郭蕾对本文的审校。

给InfoQ中文站投稿或者参与内容翻译工作,请邮件至editors@cn.infoq.com。也欢迎大家通过新浪微博(@InfoQ@丁晓昀),微信(微信号:InfoQChina)关注我们。

评价本文

专业度
风格

您好,朋友!

您需要 注册一个InfoQ账号 或者 才能进行评论。在您完成注册后还需要进行一些设置。

获得来自InfoQ的更多体验。

告诉我们您的想法

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

无服务器架构 by 彭 巍

无服务器架构怎么实现呢

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

1 讨论

登陆InfoQ,与你最关心的话题互动。


找回密码....

Follow

关注你最喜爱的话题和作者

快速浏览网站内你所感兴趣话题的精选内容。

Like

内容自由定制

选择想要阅读的主题和喜爱的作者定制自己的新闻源。

Notifications

获取更新

设置通知机制以获取内容更新对您而言是否重要

BT