写点什么

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

评论

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

对话中国人寿:DevOps实践经验分享

龙智—DevSecOps解决方案

DevOps 中国人寿

华云大咖说 | 华云校园信创云解决方案

华云数据

华云数据

2021年财经中国年会暨第十九届中国财经风云榜

大咖说

直播 财经 财经峰会

字节码引用检测原理与实战

vivo互联网技术

编程语言 字节码编程 引用

Android C++系列:Linux线程(四)线程同步

轻口味

android 28天写作 12月日更

鸿蒙智联设备开发,这五大法宝你应该拥有|HDC2021技术分论坛

HarmonyOS开发者

HarmonyOS

企业管理升级,如何加速信息化转型?

雯雯写代码

企业管理 信息化

一劳永逸,使用 PicGo + GitHub 搭建个人图床工具

AlwaysBeta

GitHub 工具 PicGo 图床

Java开发框架Struts相关知识分享

@零度

struts JAVA开发

元气部落盲盒芒趣一番赏盲盒app开发搭建

风行无疆

百度文库新一代文档阅读器!核心技术点全解析!

百度Geek说

大前端 文档 百度文库

全网最全-混合精度训练原理

科技热闻

聊聊Java底层那些事

码农参上

内容合集 签约计划第二季 技术专题合集 技术专区合集

高并发线下沙龙不容错过!

Qunar技术沙龙

高并发

信息网络向价值网络演进过程中产品形态的思考

拍乐云Pano

更好用的Web端H265播放技术架构

百度开发者中心

智能视频

kubernetes系列随笔03:kubernetes的发展和设计思想

Geek_cd6rkj

Docker Kubernetes 声明式

Flink是如何支持批流一体的

编程江湖

大数据 flink

详解布隆过滤器的原理和实现

万俊峰Kevin

golang 微服务 微服务架构 布隆过滤器 go-zero

WebView秒开方案探索

得物技术

CSS JavaScript html webview 大前端

ios技术分享| iOS 发布 framework 到 Cocoapods 以及常见问题

anyRTC开发者

ios 音视频 WebRTC CocoaPods Framework

测试 —— DevOps 快速交付的最大瓶颈

SoFlu软件机器人

直播预告丨“Hello Ability:从页面跳转开始”周三晚不见不散

HarmonyOS开发者

HarmonyOS

Tapdata Cloud 版本上新!新增ClickHouse,ADB MySQL等5个数据源支持

tapdata

MySQL oracle

提高儿童被拐意识

Tiger

28天写作

给弟弟的信第5封|从高中到大学的体会

大菠萝

28天写作

大数据开发之Kafka 存储选型

@零度

大数据 kafka

数据库事务与事务隔离级别

编程江湖

数据库 java编程

关于RocketMQ事务方面Demo

前端开发JS框架之jQuery的基础知识分享

@零度

大前端 ​jQuery

【Promise 源码学习】第十四篇 - 实现工具方法 promisify

Brave

源码 Promise 12月日更

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