QCon 演讲火热征集中,快来分享技术实践与洞见! 了解详情
写点什么

Facebook 如何针对新兴市场设计安卓应用

  • 2016-03-22
  • 本文字数:591 字

    阅读完需:约 2 分钟

事实上,移动技术已经在新兴市场风生水起了,新兴和发达国家之间的移动领域有着巨大的差异。特别是 3G 和 4G 移动网络尚未在新兴国家得到广泛地应用,甚至即使有 3G 的连接,也是时断时续的。此外,3G 网络在很多情况下对于大多数人来说都太昂贵了。另一方面,Gautam Roy 曾写道,全球 96% 的人可以连接到 2G 网络,全球有一半以上的人口在使用它。Facebook 于是在此背景下定义了自己的目标,即:

  • 很小的应用足迹(在 1MB APK 以内);
  • 较低的数据使用率并支持 2G 网络;
  • 支持较老的、 2009 年代的设备

这个主要的架构决定 Facebook 引擎要用一个代理服务器,而安卓应用实现为瘦客户端,如下图所示:

这个架构的设计使得该服务器要承担繁重的工作,Roy 说,通过把来自于 Facebook 后端服务的数据抓取出来并打包给客户端使用。这个客户端应用本身设计成一种虚拟机,提供摄像头、SQL lite 和 UI 引擎之类 OS 资源的访问。此外,这个客户端依赖于本地缓存,以避免针对同一事项发起多次请求。有趣的是,Facebook 的工程师们为了取代 HTTPS 在 TLS 层上设计了它们自定义的信息协议,以便将来减少数据的使用以及削减建立安全连接所需的时间。

由于这些设计选择,Roy 总结说,Facebook 工程师们在登录、启动、摘取刷新和图像加载上实现了一流的性能,并且,即使在低性能和时断时续的网络上也能确保正确性。

查看英文原文: How Facebook Designed its Android App for Emerging Markets

2016-03-22 19:001504

评论

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

前端开发需不需要通过培训来学习

小谷哥

2022-12-13:游戏玩法分析 I。写一条 SQL 查询语句获取每位玩家 第一次登陆平台的日期。 +-----------+-------------+ | player_id | first_l

福大大架构师每日一题

数据库 福大大

深度分析React源码中的合成事件

flyzz177

React

秒云荣获2022爱分析·中国运维最佳实践案例大奖

MIAOYUN

运维 解决方案 容器云平台 云原生容器 IT解决方案

详述TLS握手流程

穿过生命散发芬芳

TLS 12月月更

架构实战营 模块2作业

西山薄凉

「架构实战营」

深入React源码揭开渲染更新流程的面纱

flyzz177

React

前端必会面试题汇总

loveX001

JavaScript

使用JMeter模拟设备通过MQTT发送数据

石云升

测试 Jmeter mqtt

工作中常用的设计模式--享元模式

lpe234

Java 设计模式 享元模式 spring-boot

面试官:说说Event Loop事件循环、微任务、宏任务

loveX001

JavaScript

容量保障落地四步走

老张

性能测试 服务治理 稳定性保障 容量测试 容量保障

react源码分析:组件的创建和更新

flyzz177

React

JavaScript刷LeetCode拿offer-树的遍历

js2030code

JavaScript LeetCode

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

loveX001

JavaScript

Zebec正在以流支付的方式,推动加密资产支付走上正轨

鳄鱼视界

架构实战营模块二作业

张贺

架构训练营

java开发哪家机构比较好?

小谷哥

react的useState源码分析

flyzz177

React

JavaScript刷LeetCode拿offer-栈相关题目

js2030code

JavaScript LeetCode

极客时间运维进阶训练营第八周作业

独钓寒江

【Alibaba微服务技术系列】「SpringCloud技术专题」基于SpringCloud-Alibaba的微服务2.0模式架构搭建实战指南(解析版本对应关系)

洛神灬殇

SpringCloud SpringCloud Alibaba 12 月 PK 榜 服务搭建

大数据开发培训机构该怎么选择?

小谷哥

手写一个react,看透react运行机制

flyzz177

React

银行普惠金融可持续发展能力建设——风控科技应用

易观分析

金融 银行

伙伴福利,100个项目彻底精通Java!【开源】

JavaPub

Java 源码 javaWeb

大数据培训课程哪里比较好?

小谷哥

在西安怎么选择java培训?

小谷哥

Verilog 过程赋值

芯动大师

Verilog Verilog语法 Verilog过程赋值

react源码分析:深度理解React.Context

flyzz177

React

22道js输出顺序问题,你能做出几道

loveX001

JavaScript

Facebook如何针对新兴市场设计安卓应用_移动_Sergio De Simone_InfoQ精选文章