9月23日-24日,由CSDN、创新工场联合主办的MDCC 2016中国移动开发者大会(Mobile Developer Conference China)在北京·国家会议中心隆重举行。本次大会以移动领域热点技术+典型应用案例实战为主的内容主旨,增设移动直播、VR开发等热点技术实战专场,满足移动开发者的最新需求,以促进移动开发领域的分享和交流。
9月24日,iOS开发峰会在小猿搜题产品负责人唐巧的主持下正式拉开帷幕,上午由LINE iOS开发工程师王巍、携程机票研发部技术专家祁一鸣、滴滴出行技术专家孙源、LeanCloud iOS工程师陈宜龙率先开讲;下午iOS开发峰会继续,由58 同城 iOS 客户端架构师彭飞、ENJOY iOS 负责人陈乘方、搜狗输入法iOS版负责人李腾杰、阿里巴巴技术专家杨志、腾讯微信支付高级安全工程师马松松做精彩技术分享。在iOS峰会现场,诸多技术大咖实战演示编码技巧和解析开发中所遇到的一些技术难题,满满的干货!
LINE iOS开发工程师王巍
LINE iOS开发工程师王巍发表《Swift面向协议编程与Cocoa框架的邂逅》主题演讲。主要分三个层面为开发者做了分享:第一,Swift协议的基本概念;第二,协议扩展和面向协议编程;最后,介绍了Model(Networking)和ViewController在日常开发中使用协议。王巍建议开发者朋友,优先考虑使用协议,因为高度协议化有助于解耦,测试以及扩展。现场实战的Code,为开发者带来了非常实用的开发干货。
LINE iOS开发工程师王巍
携程机票研发部技术专家祁一鸣
携程机票研发部技术专家祁一鸣发表《展望Isomorphic Swift》主题演讲。祁一鸣首先对Isomorphic Swift进行了阐述,之所以选择使用Isomorphic Swift,主要是基于语言的特性,再有就是其安全性以及速度。最后介绍了SOURCE SWIFT开源后的几个主要模块组件:①Compiler and Standard Library;②Package Manager;③Core Libraries;④REPL。
携程机票研发部技术专家祁一鸣
滴滴出行iOS技术专家孙源
滴滴出行iOS技术专家孙源发表《玩转编译器,Clang有意思》主题演讲。孙源在分享中主要分为三方面进行介绍,首先讲到了Apple编译器Clang-LLVM架构的初识;其二对源码如何成为可执行文件进行了详述;最后分享了开发者在Clang能做哪些有意思的事情,包括LibClang、ClangPlugin以及LibTooling的优劣做详细介绍。
滴滴出行iOS技术专家孙源
LeanCloud iOS工程师陈宜龙
LeanCloud iOS工程师陈宜龙发表《IM即时通讯技术在不同场景下的技术实现与性能调优》主题演讲。陈宜龙主要分为三个方面进行了分享,第一部分介绍了IM即时通讯应用场景,其中讲到了大规模即时通讯技术的难点,即电量、流量及长连接的健壮性;IM系统的整体安全;开发者集成门槛及iOS生态下的政策以及结合新技术。在谈到数据自动更新场景时,如打车应用场景(Uber、滴滴等APP移动小车)和朋友圈状态自动更新等,陈宜龙建议开发者使用MQTT实现最为经济。第二部分则分享了针对移动网络特点的性能调优,而使用ProtocolBuffer主要是基于省流量、高效、省电、成熟可靠、易于使用等原因。第三部分则分享了技术实现的细节,包括目前社区的现状,如Demo、闭源、部分开源、非原生、手撕Frame及自动以能力太弱等。
LeanCloud iOS工程师陈宜龙
58同城iOS客户端架构师彭飞
58同城iOS客户端架构师彭飞发表《58同城App在React Native上的开发实践-iOS视角》主题演讲。彭飞表示React Native有太多的事情需要Native处理,并且Native是占主导地位的。React Native是一项全新技术,但在应用到实际项目之前,必须进行充分的技术调研。随后,彭飞对React Native实践功能模块、React Native技术架构及集成进已有项目等做了详细介绍。通过区域商圈、协议制定、代码实现、冒烟测试代码等自定义API开发举例说明。并且通过大量API实现经验为现场的开发者做了诸多干货分享。
58同城iOS客户端架构师彭飞
ENJOY iOS客户端负责人陈乘方
ENJOY iOS客户端负责人陈乘方发表《Swift链式语法应用》主题演讲。陈乘方首先对链式语法做了定义,即可以连续不断地进行方法调用的一种语法形式。而应用链式语法有如下四点优势,其一是比较简洁;其二是高复用性;其三是高可读性;最后应用链式语法可以减少中间变量。在大会现场,陈乘方同样做了现场实战编码演示,实践解读链式UI代码和链式网络结果处理等,为现场开发者带来了诸多开发小技巧!最后介绍了Swifty的命名空间方式扩展,及在后续开发工作中如何实际应用链式语法以及如何让代码更加Swifty的思考。
ENJOY iOS客户端负责人陈乘方
搜狗输入法iOS版负责人李腾杰
搜狗输入法iOS版负责人李腾杰发表《搜狗输入法性能优化实践》主题演讲。其中,李腾杰对FastImageCache的优化做了详细介绍,大致可分为三个方面:首先,它使用内存文件映射的方式,将磁盘上的图像数据直接映射到用户空间,不占用内核缓存区空间,也避免了图像数据加载到内核缓冲区,再从内核缓冲区拷贝到用户空间的冗余消耗,效率上有提高;其次,FIC通过在子线程中对编码压缩的JPG/PNG图像数据进行解码成位图数据,并将这些解码后的数据缓存在映射文件中,提高了效率;第三,FIC会对图像数据进行字节对齐,介绍CoreAnimation绘制图像数据时,因为图像数据字节非对齐产生的冗余拷贝操作。
搜狗输入法iOS版负责人李腾杰
阿里巴巴技术专家杨志
阿里巴巴技术专家杨志发表《Deep in iOS Testing》主题演讲。杨志表示,对于iOS应用测试应该兼顾手工测试与自动化测试两种方式。而自动化测试根据自动化程度可以分为不同等级,根据需求可以整个流程完全自动化,并且用jenkins驱动起来;也可以选择部分流程上自动化,投入产出最优化。之所以选择Monkey,主要基于其通用性强、简单有效、维护成本低等优势。至于如何在iOS测试中使用Monkey,杨志表示通过UIAutomation脚本,并用Instruments驱动进行测试,并介绍了开源工具ui-auto-monkey的使用方法。
阿里巴巴技术专家杨志
腾讯微信支付高级安全工程师马松松
腾讯微信支付高级安全工程师马松松发表《安全那些事儿》主题演讲。马松松表示,网络时代的信息安全, 归根到底是人的安全意识和安全能力。对于开发者来说,提升安全意识和安全能力做到层层防御至关重要。安全结果只有0和1,不管前台还是后台。而根据国内外安全报告,已被发现的Accessibility滥用情况主要归类为三类情况:恶意安装、广告干扰和窃取信 息。并建议用户的密码及敏感信息(包括身份证号、信用卡卡号、CVV2码等)不能保存在客户端,建议大家进行加密存储,而**最好是跟用户ID有关联或者是设备ID,防止被猜到。
腾讯微信支付高级安全工程师马松松
在iOS开发峰会的现场,同样吸引了大批开发者的关注,并就开发中遇到的疑惑及技术问题向技术大牛请教,现场的实战Coding演示也让与会者学到了不少开发干货,并从专家们的分享中收获有价值的技术知识和经验。
更多精彩内容,请关注微博:@CSDN移动,图文直播专题:MDCC 2016移动开发者大会。