QCon 北京 2015:移动开发最佳实践专题前瞻

  • 臧秀涛

2015 年 3 月 19 日

话题:移动QConAndroidDevOpsiOS语言 & 开发架构文化 & 方法

从社交到游戏,从电商到 O2O,移动互联网已经深入渗透到各行各业,而外卖和打车市场,更是正在经历着一些深刻的变化。巨额的融资和庞大的用户群当然是吸引眼球的,但是小团队背后的故事或许也能让你眼前一亮。不同的行业有其各自的特点,相应的,对于工程团队的要求也各不相同,有些项目要处理海量请求,有些项目则面临异常复杂的业务场景,大团队期望通过规范的流程和成熟的框架稳扎稳打,早期的小团队则更看重如何快速迭代,那么开源框架开发者又如何满足各种各样的需求呢?

QCon 北京 2015将于 4 月 23 日~25 日在北京国际会议中心举行,我们相应设置了“移动开发最佳实践”专题,邀请了国内一线的移动开发专家前来分享。

本专题的出品人是美团网的技术专家陈晓亮。他负责美团团购、猫眼电影的 iOS 研发团队。早期做过 Linux 后台的音视频应用,也做过测试开发工作,11 年转到 OS X 开发,12 年加入美团后开始 iOS 开发,经历了美团移动端交易额从 20% 到 90% 的转变,见证了用户在本地生活服务需求上翻天覆地的变化。随着美团平台的形成,也探索出了一条多团队、多业务线在同一平台上协同工作的路。如今主要负责团队的技术管理工作,并与团队一起在架构层面对美团的战略提供良好的支持,为用户提供更好的吃喝玩乐服务。译作有《实用负载均衡技术》、《深入理解 C 指针》、《iOS 6 编程实战》。

本专题都邀请了哪些技术专家呢?我们先睹为快。

微信已经成为人们日常生活的一部分,微信公共账号也成为公司和个人对外宣传、发布观点的重要窗口。我们邀请了腾讯微信开放平台基础部开发一组组长蔡润达来分享微信公众平台背后的故事。蔡润达 2009 年从华南师范大学计算机学院毕业后,加入腾讯\QQMail 团队,2011 年转入微信团队。2012 年转入微信公众平台团队至今,负责微信公众平台后台架构。期间带领团队多次重构系统架构,并发布了公众号 API、微信授权登陆、卡券与门店、公众号服务四方授权登陆等重大特性。工程管理上,对敏捷软件开发,项目管理感兴趣。认为在业务变化非常快的今天,如何既快速响应需求,满足业务发展,又保持横向扩展性,是一个极具挑战的工作,本身也享受挑战的过程。

他将分享的话题是《微信公众平台——移动轻应用之道》:

移动互联网时代,几乎每一家公司,每一个产品都有自己的 App,在用户的手机上占据一席之地,然而用户的手机承载能力有限,用户的聚焦力也有限,手机上不少 App,安装后就处于沉默状态了。在这样的背景下面,公众号应运而生,成为其中的一环,帮助企业融合进微信,以一个轻应用的形式存在。

如何在微信生态中提供一套建立轻应用的完整机制呢?本次演讲将围绕公众号提供的机制,解析接入的方法和方式,以及设计思想。

本次演讲将包括

1 公众号是什么

2 多平台融合账号体系

3 消息触达的机制与策略

4 H5 与 Native 的完美融合

5 公众号服务 (第三方托管平台) 的意义

Native 和 Web 的融合是很多应用都会涉及的问题,我们邀请了天猫技术专家徐凯(花名鬼道)分享一下这方面的话题。徐凯,2011 年毕业于同济大学计算机系,模式识别方向硕士。现为天猫前端委员会负责人,先后负责天猫前端通用组和天猫 Pad 客户端。编写过《跨终端 Web》一书。

他将带来的分享是《Native 和 Web 融合》:

“Native 和 Web 融合”已经在阿里生根发芽。以前提得较多的是 Hybrid,Hybrid 是融合的一面,更多是指 Web 融合 Native 能力,更窄一点指的就是 Hybrid API(类 Phonegap);另一面是 Native 融合 Web 的能力,尤其是 Web 的发布能力和大规模协作能力。徐凯尝试理清 Native 和 Web 的亮点和痛点,借鉴对方亮点来解决自身痛点,并给出淘系 App 在这些方面的实践。Native 的诸多亮点中,流畅体验和系统调用是最多被提及的。Native 的流畅体验体现在页面滚动和动画的流畅性,背后是更好的内存管理和更接近原生的性能;Web 痛点集中在资源首次下载、长页面内存溢出和滚动性能。Native 有丰富的系统 API 可供调用,灵活度较高,Web 痛点在于 W3C 标准太慢,有限的设备访问能力,API 兼容性问题较严重。

Web 最大的亮点是发布能力,合适的缓存机制下一天更新率可超过 99%,iOS 能达到一周更新率 60%-80%,Android 同样的更新率要一个月甚至更长。iOS Hotpatch 可用于修复紧急问题,受限商店政策难以走得更远,Android 自由度会更大。Mobile Web 的协作能力底层来自 Webkit,上层有 html/js/css 控制页面的结构 / 行为 / 样式,URI 连接不同的资源,这样的机制可以被 Native 借鉴,构建 Native 的分层架构。

携程无线开发总监陈浩然也将带来分享。陈浩然,计算机专业博士。2008 年 iOS SDK 发布后,随即投入移动互联网浪潮,分别在外企、创业型和国内 No.1 旅游公司从事无线 App 的开发工作,从企业级 App、独立 App 到亿级用户量级的 App 都有全程参与。

他将分享的话题是《移动开发网络性能优化实践》:

国内大多数无线 App 都会使用网络服务,面对国内移动无线网络的复杂环境,加上用户多样的硬件特性,因此会在开发 App 时面临比传统 PC 互联网更具挑战性的网络性能问题。携程客户端框架团队经过半年多的摸索,在 App 网络性能优化方面总结了一些实践经验,分享给国内无线 App 的开发者和架构师。

本主题包括以下内容:

  1. 国内外移动网络的数据统计分析。
  2. 分享携程 App 的网络服务架构。携程 App 并未使用目前 App 开发中常用的 HTTP Restful 网络服务接口,而是基于 TCP 连接搭建网络服务。
  3. 开发海量用户无线 App 时常见的网络性能问题,以及携程针对这些问题在 DNS 解析、网络连接成功率及耗时、服务成功率及耗时,网络服务失败等多方面的性能优化实践。
  4. 携程 App 为满足日常运维监控而设立的网络性能质量 KPI。
  5. 目前国内外无线 App 网络服务开发的新技术方向。

我们还邀请了开源移动开发框架BeeFramework的开发者郭虹宇。郭虹宇,Geek Zoo Studio 联合创始人,活跃于开源技术社区。2008 年加入腾讯,先后负责 QQ 音乐、QQ 影院、QQ 阅读、QQ 游戏 / 游戏大厅、QQ 空间等多个项目的管理、架构设计及主力研发工作。2012 年,加入 Geek Zoo Studio,致力于创造最有影响力的移动端开源团队,先后创造多款开源产品,包括 ECMobile,O2OMobile。2014 年,国内第一批研究 Semi-Hybrid 架构的框架作者,新的启程才刚刚开始。

他将分享的话题是《Semi-Hybrid App Framework——基于浏览器内核的 App 框架设计与实践》:

“Semi-Hybrid” 是 “Hybrid” 的一个分支,如果说 Hybrid 是处于 Native 和 Web 的中间,那么 Semi 处于 Native 和 Hybrid 的中间。“Semi-Hybrid” 更侧重于 Native 开发,可以赋予开发者使用“原生语言”(如 Obj-C)+ “模版语言”(如 HTML + CSS)开发 App 的能力。Facebook 发布了 React Native,应属于 Semi-Hybrid 具体实现的一种方式,那么国人关于这此技术有怎样的思考与实践呢?

本演讲将带大家回顾行业第一款 Semi-Hybrid 框架 BeeFramework 的研发历程,并介绍新框架 Samurai 的技术要点。

涉及技术点:

  1. Semi-Hybrid 架构介绍
  2. 浏览器内核相关技术研发经验
  3. 自定义模版语言
  4. SignalBus 与事件处理
  5. LiveLoad 技术分析(边写代码边刷新,ReactNative 效果)
  6. Demo 展示

移动互联网时代,如何高效诊断用户端问题也是个有趣的话题。我们邀请了腾讯社交网络运营部接入运维团队负责人马玉明就这方面做个分享。他于 2005 年加入腾讯,参与主导了拍拍网的店铺、商品交易、图片存储等前后台开发工作。后负责接入运维团队至今,在运维质量、效率、成本方面不断挖掘和优化,努力使琐碎的运维工作理论化、系统化、自动化、一键化。

他将带来的分享是《移动时代用户端问题高效诊断》:

用户反馈问题,我们常常需要和用户联系沟通配合做定位,往往非常耗时耗力,甚至于一些小白用户根本无法帮助定位,致使一些问题定位的周期非常长。移动时代,网络环境更加复杂,和用户直接沟通交流也更困难,配合定位问题基本不可能。在此,我们一起探讨和交流我们在移动侧的运维能力建设探索,从腾讯大数据挖掘和多年的技术积累,如何打造移动侧自动化、傻瓜化的一键沟通分析诊断能力,真正高效简单的对用户反馈的问题进行有效诊断定位。

移动应用的测试也是 App 质量中的重要一环,这方面我们邀请了蚂蚁金服资深无线测试开发工程师陈晔。他目前在支付宝负责无线应用的技术探索和具体落地工作。曾担任多家创业公司首任测试主管,并和华为,富士康,索尼爱立信等十几家公司有过项目合作并担任主要负责人,产品涉及 40 多个国家。工作期间创立了“移动测试会”免费公益沙龙,移动测试会目前和网易、Testerhome、支付宝等都有深入合作。同时兼任 Testerhome 等网站的合作网络讲师。对于移动互联网 Android/iOS 应用测试、测试流程改进、自动化测试、用户体验测试、测试用例设计有着独特的见解。编写出版了《大话移动 App 测试——移动互联网应用测试指南》一书。

他将分享的话题是《支付宝 hybrid 应用质量保证实践》:

在无线应用中,webview 往往因为展现效果不佳,体验不流畅等因素而被 Native 取代,而支付宝钱包随着产品的演变,为了更好的用户体验,产品中不仅仅合入了自主研发的 H5 容器,更使用了 AMR 的推包机制。与此同时,怎么从各方面保证 hybrid 应用的质量也是一个很大的难题。本次演讲将包括:

  1. hybrid 在钱包中的应用
  2. hybrid 非功能体验上的关注要点
  3. 如何从测试和开发两个方面分别去提升 hybrid 应用的质量
  4. hybrid 自动化测试的难点
  5. 分享目前解决 hybrid 自动化难点的方案,以及同时获取性能数据和用户体验数据的落地方案

随着 H5 的慢慢成熟,hybrid 其实优势会越来越明显,但对团队的挑战也会越来越大。对于大家而言,目前都在摸索中。

另外,出品人陈晓亮也将分享一下美团的一些移动开发经验。

更多精彩内容,尽在大会现场。3 月 29 日前报名,可享 9 折优惠。多人报名,还有其他优惠。

移动QConAndroidDevOpsiOS语言 & 开发架构文化 & 方法