2016 年 9 月 23-24 日,由 CSDN 和创新工场联合主办的“MDCC 2016 移动开发者大会• 中国”(Mobile Developer Conference China)将在北京• 国家会议中心召开,来自iOS、Android、跨平台开发、产品设计、VR开发、移动直播、人工智能、物联网、硬件开发、信息无障碍10个领域的技术专家将分享他们在各自行业的真知灼见。
从8月8日起至9月4日,MDCC大会门票处于6.8折优惠票价阶段,五人以上团购更有特惠,限量供应(票务详情链接,6.8折优惠,欲购从速!)
自2010年第一届MDCC大会召开至今已连续举办了六届,马上第七届MDCC移动开发者大会(2016年9月23日-24日)也将如期举行。每一年的MDCC都紧随时势,探索新技术、新工具以及新的挑战,沉淀了无数极具价值的实践经验,而在不断探索的同时,人们也在不经意间遗忘。为此,我们特别为走在技术前沿的你奉上历届MDCC大会PPT精华,从国内外业界领袖与技术专家的精彩分享中进一步筛选出行业发展热点、实践深刻见解、最具技术含量的PPT。
涂勇策分享了Android开发性能、产品质量、产品迭代、多进程架构、其它典型问题五个方面内容。在性能方面,运行速度依赖于性能分析、优化UI布局,优化算法和数据结构和业务逻辑调整。另外还强调,防止内存泄露是一个需要特别注意的问题。
雷欣重点介绍独立研发五大核心技术:语音识别、语音合成、语义理解、垂直搜索、智能推送。有了这些技术便可以实现Ticwatch。语义分析有查询分类和语义标签识别。其中在智能手表里,语音交互是灵魂。Ticwatch软件方面采用的是Ticwear中文智能手表操作系统,在后端人工作智能服务定制上,由Ticwear收集数据然后通过蓝牙将数据传到手机再上传到Ticoud上,最后在云端将数据整合处理。
吴磊表示:友盟大数据平台的架构借鉴了Lambda架构,数据接入层让Kalfka集群承担,后面由Storm消费,存储在MongoDB里面,通过Kafka自带的Mirror功能同步,两个Kafka集群,可以分离负载;计算有离线和实时两部分,实时是Storm,离线是Hadoop,数据挖掘用Hive,分析任务,正在从Pig迁移到Spark平台,大量的数据通过计算之后,存储在HFDS上,最后存储在HBase里面,通过ES来提供多级索引,以弥补HBase二级索引的缺失。
作为一个从Symbian到Android专注移动工具App开发十多年的资深技术专家,冯森林用封闭的监狱与开放的丛林比喻iOS和Android,两者各有弊端,因此绿色守护就变得不可或缺。丛林的黎明,随着Android Marshmallow推出了Runtime Permission、Doze Mode、App Standby和Improved Battery/Memory Graph等强有力的工具。
胡凯介绍Android内存管理中的内存回收、内存泄露、内存分析等基础知识,其目标是更多的内存空间,和尽量减少GC行为。胡凯认为,可以通过5R法则来实现这两点。
董霖谈到在LBS场测过程中,要认识到远程日志调试的重要性并思考如何解决这个问题。一个合格的应用程序发版需要经历Demo内测、FA场测和灰度升级,最后才能在市场上架。在此过程中Trac或者Jira问题不断出现,紧接着董霖谈到需要此时手机的两点刚需:一是开Log,看Log;二是看屏幕,截屏。除此以外,也需要通过手机看“关于”信息,或者执行一些Shell命令。现有的日志管理工具如Logstash和Graylog2,虽然综合评估Graylog比较专业,但这些都是针对服务端日志管理,没有支持移动平台的工具。
吴更新介绍选择开源项目的三大优势,可以实现开速开发,站在巨人的肩膀上,和借助社区的智慧,以及选择开源项目时需要考虑的因素,包括:1.Star、PR、Issues、维护;2.文档;3.原理;4.业务场景。图片缓存目前的主要开源项目包括Imageloader,Picasso、Glide和Fresco,其中Fresco还是0.7版本。他分享了前面三个比较成熟的库的流程、设计和特性对比,涵盖 RequestManage、Engine、 GetDatainterface、Displayer、Decode、Encode、Processor等重要概念。
廖祜秋谈到了JavaScript,其中有:JSC(JavaScriptCore)、NPM(Node Package Management)、Module、JSX Synax。 然后谈到了React Native开发过程时–从H5/JS封装到Reactbride,再到React Native。快速启动时,非常简单,仅需一句操作命令就可。在服务器调制(Debug Server)时,APP和Server相互调度资源。
徐凯表示可以从触发页面、加载进度、HTTP-DNS、TCP(SPDY)、预加载、渲染、交互等方面做优化。首先他提到功能逻辑分为两个层面:加载的性能和包更新及时性。如果结构的加载性能不好,做一个复杂的结构是没有意义的。并且对于H5而言,任何缓存的引入将整个系统变得更加复杂、更新的及时性会下降。所以在引入预加载的同时,需要特别强调提高更新的及时性。
James Tsai介绍了何为Xamarin、如何运作、有着哪些优势。在移动开发风生水起的今天,为什么开发者需要使用像Xamarin这样的跨平台应用开发工具?对此,James讲道:透过良好的设计可共享约70%的代码,而任何原生可做的都可以用C#达成,还可以与iOS或Android同一日推出更新,支持直接编译为原生机器码等。
隋云怡(Youni)表示现在已有环信IM SDK 2.0和3.0的开源Demo,其支持的平台有Android、IOS、WEB,当前SDK的主要功能包括单聊、群聊、500到2000人的大型群组聊天室和实时音视频。其次ONE SDK的引入可以做到共享IM内核、共享IM业务模型、多平台快速切入、自动化测试质量保证。SDK使用C++/C作为跨平台设计语言。
张西涛简单介绍了HTML5移动应用多端开发框架的发展、使用原因、适合场景、架构原则,之后向开发者详细探讨了Cordova框架、Ionic框架和React Native框架,最后具体介绍了服务器接口架构实践、基于gulp的移动前端工程化实践。
李东表示移动互联网的观念对我们生活、办公、生产的影响都非常大。目前互联网观念能让消费者深切体会到VIP升级的服务,即服务围着消费者转;工作中人们的有效时间缩短,效率却大大提高;通过将ERP和MES连接起来,可以大大提高生产线的效率。
酆怡祖分享了可穿戴市场的表现和困境、以华为荣耀小k儿童手表为案例,分析那个了可穿戴产品设计商的经验。他表示,可穿戴产品有三个关键点:情感、时尚和技术。华为在智能终端的布局以手机为中心,将应用云、数据云与可穿戴、智能家居等产品连接起来。
朱继志表示:目前团队专注与成像引擎的开发,可应用与手机、VR,甚至相机。成像引擎主要通过高精度的硬件电路、大规模实时运算来实现,他们为了让产品可以在复杂光线环境下拍摄出接近人眼宽容度(照片能同时展示的最亮部分和最暗部分的范围),还重新调整了成像引擎,并设计一套新的成像原理。
王长津表示,曾经的医疗硬件上在我国是十分匮乏的,且没有任何标准,只要符合基础其他功能并不注重。在人力资源短缺的情况下,移动医疗可解决的发展中国家的医疗保健问题。医疗硬件和健康硬件相比虽然价格和获取难度上有着较大的难度,但却在认证与安全方面有着无可厚非的安全度。而每一件智能医疗硬件的产品设计实践过程都是非常精密,具有相应的认证标准。
高志兴认为传感器是集合于各个学科知识按工作原理、技术类型、应用领域分为三大类的超现代科技。而传感器在物联网的应用层、传输层、感知层均可有出色的发挥。对于传感器在使用前需要拥有很多详细的选型、标准与步骤。传感器的标定有静态标定法和动态标定法两种,其中静态标定法师气体相对于传感器是静止的,使用“密闭舱”。动态标定法为气体相对于传感器是流动的,使用“流通池”。温湿度传感器和空气胶囊的外置式温湿度模块均运用了此技术,提高了人们技术与生活前进的脚步。
陈鹏 - IoT挑战与AbleCloud应对之道(PPT下载)
陈鹏表示多品类设备需要智能化,市场与产品更新速度快,硬件商缺乏较强的互联网开发团队运用海量的数据,这都是现阶段不可忽视的难题。窃取伪造等安全隐患,可靠可扩展的连接管理,高性能可扩展的数据管理,简单、通用的云端智能服务开发与海量、通用、简单的大数据分析等都是IoT急于解决的技术挑战,陈鹏分享了新型的拥有安全握手协议、安全数据传输、设备安全绑定、认证访问请求功能的多重安全保证,分布式、高性能、高可用、防DOS攻击的多连接管理架构,设备管理方式和云服务引擎架构等,这些成功的解决了IoT这些技术上的难题。
陈乘方介绍了ENJOY采用Swift的发展经历,为现场观众简单说明了一下Swift的特点,为开发者带来一场关于Swift的视听盛宴。随后介绍了团队为何选择Swift及其强大的语言特性带来的效率提升,给予编程者更多样的编程思维和脚本支持。之后详细分析了Swift在企业级App上需要注意的一些地方。
姜琢介绍了去哪儿网Watch App产品的诞生过程,剖析Watch App和iPhone App数据和代码共享的技术架构,详解开发过程中遇到的各种问题和解决方法,包含UI的一些微创新,主要从使用场景相关的背景来加深代入感、使用明亮的颜色对比提升视觉感、尽量在一屏解决问题三个方面进行了详细的说明,最后提到在开发Watch App中需要注意的性能优化方向,涉及网络请求、图片显示性能、UI性能三方面。
李叶介绍了React Native,涉及React Native几个优点:Native 体验、 复用代码、提供平台无关的抽象层、良好的扩展性、开发时无需编译、自动刷新、方便支持 hot patch清晰、可维护的 View 层、 完善的开发工具和开放活跃的 Web 社区;但与此同时也会带来一些问题,例如:额外的学习成本、平台特性缺失、Async 通讯机制导致额外的复杂度、 JSC 不完善。
孙源分享了自己与团队在实践中总结的Interface Builder快速开发经验以及“Less Code, Less Bug”的看法。IB作为MVC的View,负责UI控件的创建、属性配置等,却难以复用View和继承,但在MVC架构上,IB比代码更有优势,也让MVC划分更加明确,而Apple也会逐渐强化IB。
芈峮对过时UI Testing Tools进行了总结点评,开发者需要正确理解UI Testing的用户,主要包括作用有限、维护成本的问题、脆弱三方面。并对新的UI自动化测试框架进行了详细阐述,深度剖析了UI Testing的进阶考察项,分别为Alert处理、WebView的支持程度、不可见UI控件的操作支持、中文输入支持和底层数据的可访问行。
郑旻全面分享了引发iOS安全恐慌的XcodeGhost事件。从最初的腾讯发现Bug、CNCERT预警、样本分析、百度发现UnitGhost到360发布感染App列表,XcodeGhost事件只是开始,未来的iOS安全需要开发者和安全公司们一起努力。
谭凯在主题演讲时分享了HTML5高性能游戏开发的诸多研发技巧,可总结为几个几点。(1)对策划进行透彻理解;(2)降低画面分辨率;(3)少缩放倾斜旋转;(4)不要在运行中创建对象;(5)3D游戏用低模加法线贴图;(6)顶点光照足以表现很细腻的环境光;(7)使用内存尽量不要超过100M游戏首次加载时间不要超过5秒;(8)把屏幕分区域计算碰撞逻辑;(9)能够反映前计算的尽量提前计算;(10)不要频繁播放音效合并成一段;(11)像素游戏可以极大的节省资源;(12)使用WEBGL或者运行时加速游戏。
张翰荣在演讲中表示动作制作流程中设计阶段是重心,并以游戏“隐龙传:影踪”为例,总结了该阶段所需把握的平衡原则及关键动作取舍的经验。
姚堃认为消费者因为有了喜欢的高品质内容,才有了购买游戏硬件设备的理由。而当硬件售量激增时,内容同样是它所最需要的。针对智能电视这一特定硬件,销量逐渐上升,那什么样的内容能更好地呈现硬件品质?即要有高精度的游戏画面品质。
赵新重点介绍了HTML5游戏极速开发框架Eger。针对大部分框架代码耦合太严重、开发效率太低、游戏品质不高等问题,Eger应运而生。针对耦合,Eger开发了PanelManager进行面板管理;GameScene进行场景管理;PopUpManager进行弹窗管理;针对效率低,推出TipsManager进行提示管理,EffectUtils进行特效管理;PanelManager进行面板管理。 针对游戏效果。有PopUpManager、TipsUtils、EffectUtils分别实现面板效果、提示效果、特效效果。
马赓宇认为VR+ AR 才是未来交互技术的主流。早期的手势识别算法只能识别指尖位置和特定手势,而现今的UI交互需简单的手势识别、3D触摸等,还要检测指尖速度和准确。基于三维手势、头部转动检测、位置跟踪、移动头盔+AR叠加的三维交互方案完美的体现了AR技术。
李今表示空间输入设备使用于VR的门槛非常高。VR对交互系统的性能也有范围、精度、延迟、成本等专业的性能要求,性能上的差别会造成使用体验上的差别进而造成交互设计上的差别。在位置跟踪上因为电磁与超声波的原因,都将会有一定的干扰来阻碍。体积较小,精度较准,不依赖载体,低延迟,成本低都是需要技术来解决的。
宋宝华从体系架构到设备驱动介绍了可以做哪些改善。驱动只管驱动,设备只管设备,总线则负责匹配设备和驱动,而驱动则以标准途径拿到板级信息,这样,驱动就可以放之四海而皆准了。同时可以提炼驱动核心层,将软件进行分层设计。
吴章金通过自己的亲身经历从魅族的M9讲到了Pro 5,分享了手机产品的底层优化。从可用、能用到好用,以魅族的产品为例,从产品最初的功能研发,这其中包括稳定性,比如系统的死机,安全性,到后来的手机技术,硬件工艺,温控,续航等做了详细的分享。
更多精彩尽在MDCC 2016,详情请查看大会官网:MDCC 2016移动开发者大会。
![]()