阿里、蚂蚁、晟腾、中科加禾精彩分享 AI 基础设施洞见,现购票可享受 9 折优惠 |AICon 了解详情
写点什么

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

  • 2017-08-13
  • 本文字数:1211 字

    阅读完需:约 4 分钟

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 )关注我们。

2017-08-13 19:002066
用户头像

发布了 322 篇内容, 共 134.2 次阅读, 收获喜欢 144 次。

关注

评论

发布
暂无评论
发现更多内容

Junit5 架构、新特性及基本使用(常用注解与套件执行)

霍格沃兹测试开发学社

MockServer 服务框架设计

霍格沃兹测试开发学社

成长计划校园极客秀 | 玩转OpenHarmony开发智能煤气检测系统

OpenHarmony开发者

OpenHarmony

UI设计培训班出来后找工作吗?

小谷哥

开源交流丨任务or实例 详解大数据DAG调度系统Taier任务调度

袋鼠云数栈

数字藏品系统开发:详细功能介绍

开源直播系统源码

NFT 数字藏品 数字藏品系统软件开发 NFT数字藏品系统

麦聪软件为云上客户提供DaaS服务,入驻国内Top3云市场

雨果

公有云私有云 DaaS数据即服务

开源新工具 Azure Developer CLI

Azure云科技

azure cli 应用程序 #开源

5 个 JavaScript 写法小技巧分享

掘金安东尼

JavaScript 前端 8月月更

如何选择靠谱的Java培训

小谷哥

同时将博客部署到github和conding

Five

前端 博客搭建 8月月更

开源公开课丨ChengYing安装原理剖析

袋鼠云数栈

Jenkins 踩坑(三)| Email 配置与任务邮件发送

霍格沃兹测试开发学社

深度解读|关于SBOM最基础元素,你需要知道的(Part III)

安势信息

漏洞 漏洞扫描 代码安全 SBOM SBOM最基础元素

大学毕业后如何选择大数据培训机构

小谷哥

PageObject(PO)设计模式在 UI 自动化中的实践总结(以 QQ 邮箱登陆为例)

霍格沃兹测试开发学社

Python 自动化测试(三): pytest 参数化测试用例构建

霍格沃兹测试开发学社

易观千帆 | 2022年7月苏州市手机银行应用活跃人数榜单

易观分析

金融 手机银行 榜单 苏州

开源治理:安全的关键

SEAL安全

开源 开源文化 开源安全 开源安全与治理

大数据培训机构学习后就业前景如何

小谷哥

【算法实践】他山之石,可以攻玉--利用完全二叉树快速实现堆排序

迷彩

Python 数据结构 算法 二叉堆排序 8月月更

Pb协议的接口测试

霍格沃兹测试开发学社

Python 自动化测试(五): Pytest 结合 Allure 生成测试报告

霍格沃兹测试开发学社

node在大前端中的应用场景

达摩

nodejs

Jenkins 踩坑 | job 创建、参数化、定时构建及时区偏差问题解决

霍格沃兹测试开发学社

前端高频面试题(三)(附答案)

helloworld1024fd

JavaScript 前端

前端高频面试题(四)(附答案)

helloworld1024fd

JavaScript 前端

Java培训需要多长时间

小谷哥

如何应对突发的流量激增和服务器过载问题

NGINX开源社区

nginx 流量控制 高速缓存

Jenkins 踩坑(四)|基于接口自动化测试完成 Jenkins+GitHub+Allure 的结合

霍格沃兹测试开发学社

软件测试 | 测试开发 | app自动化测试之Appium 原理 与 JsonWP 协议分析

测吧(北京)科技有限公司

json

无服务器架构是移动开发者的福音?_移动_Alexander Stigsen_InfoQ精选文章