写点什么

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:001582

评论

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

在 JavaScript 如何下载文件

devpoint

JavaScript Blob download

自动驾驶过冬,需要点燃“降本增效”的炉火

脑极体

自动驾驶

10w+训练标签?成本太高!PaddleNLP情感分析赋能消费“回暖”

飞桨PaddlePaddle

paddle nlp 飞桨

INFINI 产品更新啦 20230210

极限实验室

elasticsearch 极限实验室 极限网关 infini gateway INFINI Console

五分钟实现pdf分页

程序员架构进阶

PDF 2月春节不断更 源码搭建 2月日更 pdfbox

学习算法必备的《程序员代码面试指南》免费领取啦!!

小小怪下士

编程 程序员 算法 LeetCode 数据结构与算法

设计模式-组合模式和建筑者模式详解

C++后台开发

数据结构 设计模式 组合模式 后端开发 Linux服务器开发

架构实战 6 - 电商微服务拆分

架构实战营 「架构实战营」

状态机设计中的关键技术

timerring

FPGA

由ChatGPT引发的关于AI的一些思考

xiaoboey

AI ChatGPT

支撑MVP,架构师需要做什么

agnostic

MVP

ByteHouse:基于ClickHouse的实时数仓能力升级解读

字节跳动数据平台

数据库 大数据 数据分析 Clickhouse 企业号 2 月 PK 榜

一文读懂 Zebec Chain 的“先行网络” Nautilus 链

西柚子

Ruby on rails入门

阿呆

ruby-on-rails

Camtasia2023Mac/win电脑屏幕录制编辑软件

茶色酒

Camtasia2023

一文读懂 Zebec Chain 的“先行网络” Nautilus 链

鳄鱼视界

Kubernetes环境cert-manager部署与应用

Galen Suen

Kubernetes TLS cert-manager Certificate Let's Encrypt

泼辣修图2023最新版本修图工具功能介绍

茶色酒

泼辣修图2023

微信 API 中调用客服消息接口提示错误返回限制

HoneyMoose

微信客服接口的返回数据

HoneyMoose

状态机设计中的关键技术

timerring

FPGA

SpringBoot 三大开发工具,你都用过么?

程序员大彬

springboot

一文读懂 Zebec Chain 的“先行网络” Nautilus 链

股市老人

贝叶斯AB测试

俞凡

最佳实践 ab测试

状态机设计中的关键技术

timerring

FPGA

静态导航页设计与开发

AR7

团队管理 导航网站 vue next

热点面试题:协商缓存和强缓存的理解及区别?

沉浸式趣谈

JavaScript https 面试题 HTTP 前端面试题

CrossOver2023永久版虚拟机软件下载

茶色酒

CrossOver2023

DNS 原理及大规模高性能监测

郑州埃文科技

DNS

使用开源实时监控系统 HertzBeat 5分钟搞定对 Mysql 数据库监控告警

TanCloud探云

Java 数据库 GitHub 开源 数据库监控

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