写点什么

从基于 Web 的应用到原生应用的迁移看 Facebook 的发布流程

  • 2014-01-05
  • 本文字数:1011 字

    阅读完需:约 3 分钟

来自 Facebook 的 Chaitanya Mishra 在上月的 Velocity Conf London 上发表了演讲,描述了Facebook 将其Android 应用从Web View 视图转换为全面原生应用的方法。为了达成该目标,各个产品团队只负责自己特性。为了使分布开发模型能够正常工作,由一个核心团队负责回归测试并专注于整体应用的优化而不是某个特性的优化。

因为对于用户来说,升级到应用的新版本(包括修复)决定于第三方的审核以及用户想升级的想法,所以需要对适用于 Web 开发持续交付模型做一些调整,使其适用于快速迭代的 Android 开发。当构建失败时快速反映给开发人员,内部试用新发布版本(在发布到应用商店的 4 周之前先内部发布给员工试用)并监测其使用情况(碰到功能错误或性能问题时及时反馈给开发人员),该措施提升了对外发布的信心。在这 4 周时间里,在一个发布分支中修复问题,该分支与主分支(在主分支中不断加入并测试新功能,作为将来的发布功能)是并行的。

除了功能和性能测试(使用 Selendroid 通过界面进行)外,其他在构建过程中针对 Android 应用的检查还包括:应用的大小(是否有变更会意外增加应用的大小),内存使用率以及电源消耗(实际的电池使用)。Chaitanya 举了一个例子,团队发现一个很明显的电源消耗增大却又无法解释的问题,最终证明是一个微不足道的变更导致的,该变更是为了阻止应用进入休眠模式而采用的轮询机制。

应用发布出去之后,Facebook 使用 Analytics Logger 监控应用的性能和问题。反馈的数据使用一种叫做 Scuba 的工具进行分析。Chaitanya 又举了个例子,他们发现数据库崩溃的次数越来越多。他们怀疑是用户设备的可用空间过低导致的,所以他们就增加了剩余空间检测功能,结果发现确实是应用占用了过多的空间,这都是应用分配甚至复制整个数据库,超大缓存,还有一些不必要的文件导致的。问题经过修复后,数据库崩溃的频率明显降低。

尽管应用已经成功转换为完全本地化应用,但是让 Chaitanya 担心的是,向本地化转化后不稳定现象会偶尔出现,尤其是一些不常用的功能还是基于 Web 实现的。根据 Chaitanya 的说法,依赖 Web 的缺点是需要尽可能保持与网站 API 的向后兼容。

查看英文原文: Facebook’s Release Process Behind the Move from Web-based to Native App


感谢张龙对本文的审校。

给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ )或者腾讯微博( @InfoQ )关注我们,并与我们的编辑和其他读者朋友交流。

2014-01-05 06:042591
用户头像

发布了 28 篇内容, 共 12.3 次阅读, 收获喜欢 0 次。

关注

评论

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

助力金融信创!索信达携手麒麟软件、GBASE南大通用发布联合解决方案

索信达控股

从规划、预算和预测中实现企业未来价值

智达方通

财务分析 预测模型 业财融合 全面预算管理

【Netty】「源码解析」(一)ByteBuf 的动态扩容策略与实现原理

sidiot

Java 后端 Netty 6 月 优质更文活动

Maya软件是做什么的?Maya软件优缺点分析!

Finovy Cloud

maya

【Netty】「优化进阶」(一)粘包半包问题及解决方案

sidiot

Java 后端 Netty 6 月 优质更文活动

Java 网络编程 —— RMI 框架

不在线第一只蜗牛

Java

盘点那些IT技术面试官常用的10个挂人套路

程序员小毕

程序员 程序人生 java面试 后端架构师 技术面

千万不能小瞧的PCB半孔板

华秋PCB

科普 电路 PCB PCB设计 涨知识

究竟是什么让山东航空人力资源数智化转型如虎添翼?

用友BIP

数智人力

NFTScan 与 Wagmi Labs 达成合作伙伴,双方在多链 NFT 数据方面展开合作!

NFT Research

NFT\

IoTLink版本更新V1.29.0

山东云则信息科技

ABAQUS 模拟过盈配合解决材料选择及公差带设计等问题

思茂信息

仿真软件 仿真技术 abaqus abaqus软件 abaqus有限元仿真

企业数智化转型数智员工到底能做什么?

用友BIP

数智底座 Pass平台

汇聚漫天星光,点燃HarmonyOS之火,2023HSD校园行·清华大学站圆满收官

最新动态

滴滴开源的深度与温度——滴滴开源委员会秘书长吴国斌专访

开源雨林

开源 滴滴 滴滴夜莺 开源治理

以梦为码 自主创新 | 华为云开发者日成都站圆满举行!

华为云开发者联盟

云计算 华为云 华为云开发者联盟 企业号 6 月 PK 榜

华为云GaussDB为MetaERP“成本核算”产品“保驾护航”

华为云开发者联盟

数据库 后端 华为云 华为云开发者联盟 企业号 6 月 PK 榜

重磅国赛来了!2023中国高校计算机大赛-人工智能创意赛启动报名

飞桨PaddlePaddle

人工智能 百度 paddle 飞桨

【Netty】「源码解析」(二)HeapBuffer 创建过程详解:高效可靠的内存管理技巧

sidiot

Java 后端 Netty 6 月 优质更文活动

.NET源码解读kestrel服务器及创建HttpContext对象流程

不在线第一只蜗牛

.net 开发语言

基于OpenHarmony开发的玻璃拟态天气应用(2)构建当前天气组件

路北路陈

前端 HarmonyOS OpenHarmony应用开发 6 月 优质更文活动

基于多尺度图神经网络的流场预测,实现精度与速度的平衡

飞桨PaddlePaddle

人工智能 百度飞桨 开发者说

从基于Web的应用到原生应用的迁移看Facebook的发布流程_Meta_Manuel Pais_InfoQ精选文章