NVIDIA 初创加速计划,免费加速您的创业启动 了解详情
写点什么

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

  • 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:002070
用户头像

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

关注

评论

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

架构实战营 - 备选架构设计文档模板

华仔

Hex Tech,一个带编程协同能力的 BI 平台的“危”与“机”

CnosDB

数据库 时序数据库 开源社区 CnosDB

Three.js 进阶之旅:全景漫游-高阶版在线看房 🏡

dragonir

JavaScript 前端 three.js

首次公开!阿里巴巴内部Java 面试突击核心讲(1658 页),转载 40W+

Java你猿哥

Java 面试 ssm 面经 java核心知识

带你揭开神秘的javascript AST面纱之AST 基础与功能

京东科技开发者

JavaScript 前端 AST 京东云 企业号 4 月 PK 榜

Redis缓存高可用集群

京东科技开发者

redis 云计算 redis哨兵 京东云 企业号 4 月 PK 榜

如何成为一名数据分析师(一)——面试准备

Data 探险实验室

数据分析 数据 数据可视化 数据分析师

ZBC 荣登OKX涨幅榜前列,生态持续发力是关键

西柚子

百度高德地图行政区域边界GeoJSON数据获取并绘制行政区域

zhoulujun

百度地图 高德地图

gis经纬度坐标转换多格式兼容:支持字符串/数组/GeoJSON

zhoulujun

GIS GeoJSON 经纬度坐标转换

数据库原理及MySQL应用 | 数据库安全加固

TiAmo

MySQL 数据库 数据安全

开源7天Github斩获4.5万Stars!阿里2023版高并发设计实录鲨疯了

Java你猿哥

Java 面试 高并发 面经 春招

微前端项目部署方案

京东科技开发者

微前端 京东云 企业号 4 月 PK 榜

GitHub登顶的 Java 面试八股文(2023最新)附答案详解

采菊东篱下

Java 编程

GIS拓扑讲解点线面几何体的拓扑关系判断及运算分析_turf案例

zhoulujun

GIS Turf.js

聚焦弹性问题,杭州铭师堂的 Serverless 之路

阿里巴巴云原生

阿里云 云原生

Go 命令行参数解析工具 pflag 使用

江湖十年

后端 命令行 Go 语言

玩转Github:三分钟教你如何用 Github 快速找到优秀的开源项目

Java你猿哥

Java GitHub 开源 源码 ssm

MySQL中,SQL 查询总是先执行SELECT语句吗?

Java你猿哥

Java MySQL sql ssm

GIS常用npm包:GeoJSON文件合并与元素过滤\属性过滤\图形合并

zhoulujun

GIS GeoJSON

JWT 实现登录认证 + Token 自动续期方案,这才是正确的使用姿势!

Java你猿哥

Java ssm 架构师 Token JWT

一个前端大佬的十年回顾 | 漫画前端的前世今生

京东科技开发者

JavaScript html 前端 京东云 企业号 4 月 PK 榜

从Spring的AOP看Synchronized锁失效和事务失效的情况

Java你猿哥

spring ssm synchronized Java工程师

selenium源码通读·2 | common/exceptions.py异常类

Python 源码 测试 自动化测试 selenium

文本处理流程:Text Workflow 1.5.1直装版

真大的脸盆

文本处理 处理文本 文本管理工具

信息率失真函数与平均互信息

timerring

信息论

百度高德地图JS-API学习手记:地图基本设置与省市区数据加载

zhoulujun

百度地图 高德地图

三天吃透Redis八股文

程序员大彬

redis #java

ZBC 荣登OKX涨幅榜前列,月内涨幅逾六成

鳄鱼视界

从0到1构建基于自身业务的前端工具库

京东科技开发者

前端 京东云 企业号 4 月 PK 榜

selenium源码通读·3 | 从源码看引入webdriver包的原因

Python 源码 测试 自动化测试 selenium

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