51CTO WOT 2015移动互联网开发者大会即将于2015年7月24-25日在北京富力万丽酒店隆重召开。本次大会共设八大技术分论坛,分别从产品与设计、平台与技术、创新与创业、移动游戏、算法分析、HTML5、运维安全、新浪微博技术等方面,为广大移动开发者解开技术迷思。
为使大家进一步了解本次大会,有针对性地选择课程内容,51CTO记者对即将参加大会演讲的技术专家分别进行专访,为您进行各场演讲精华的新鲜速递。本次大会详细议程见:http://wot.51cto.com/.
今天带来“剧透”的是乐蜂网技术总监曲毅。从事互联网研发工作11年。曾在高阳,空中网,乐蜂网等互联网公司担任构架师,高级技术经理,技术总监等职位。近4年专注移动互联网。是国内资深 HTML5专家和研究者,对HTML5技术有非常深刻的认识和理解,有着丰富的实践经验,是HTML5引擎Crow5的创造者。
【讲师简介】
曲毅:乐蜂网技术总监曾在高阳,空中网,乐蜂网等互联网公司担任构架师,高级技术经理,技术总监等职位。近4年专注移动互联网。是国内资深 HTML5专家和研究者,对HTML5技术有非常深刻的认识和理解,有着丰富的实践经验,是HTML5引擎Crow5的创造者。
以下是对曲毅老师的采访实录:
51cto:请您介绍一下乐蜂网的技术团队
曲毅:乐蜂的技术团队随着高速发展的移动互联网也走了许多弯路。目前移动技术团队包括Android,IOS,HTML5/PHP,移动后端,运维,测试团队。正如很多B2C电商一样,移动后于PC发展,所以除了移动独有的,能够相应各种变化同时还要配合PC打组合拳。经过了一年多的摸索,反复,调优产生了一只专属移动技术的团队。
51CTO:作为乐蜂网的技术总监,请您分享一下您的个人经历,包括,是什么原因让您从事IT技术行业?以及如何从一名普通程序员成为一线电商网站的技术总监?
曲毅:如果说个人经历我算是科班出身,大学学的就是计算机,不过不是软件编程,从事编程工作其主要原因是毕业设计计算机系要做项目。为了能顺利的毕业自己用了两年时间自学的编程技术,而且还拿了优秀毕业设计奖。之后还当过老师,主要教J2EE 和.NET 。
曲毅:做程序员是我非常快乐的时光,每天都很忙而且很充实,永远也学不完的技术,永远也想探索不完的解决方案。敲敲代码,踢踢球。就这样一天天的积累。说到如果作为技术总监除了专业的技术功底外,需要对所在的行业知识有探索和学习的欲望,还拓宽自己的技术宽度,移动技术飞速发展必须要强迫自己把学习变成乐趣,这样就不会累了。因为平时有很好的阅读习惯,无论有多忙我都会每天阅读。一年阅读的技术书籍超过100本。
51CTO:您在日常开发的时候会使用哪些工具来提高开发效率?
曲毅 :常用的开发工具我就不详说了,但是我有一个特别的编好,也算是自己强迫自己去这样做。在编写一些前端脚本的时候例如JavaScript我现在还依然保持着使用记事本编写代码。而且还会有抄书背代码的习惯。记得一位老师对我说,背不是笨。是的用记事本写代码都很快,如果随便用个编辑工具真的感觉写代码和飞一样,坚持用记事本写代码十年。你说你的技术功底有多扎实?
51CTO:乐蜂网在移动端为什么会采用Native+H5的方式?这种方式的优点在哪?
曲毅:因为乐蜂网是电商公司,如果采用纯原生去开发,就会面临很多很多问题。反应速度慢,很明显客户端有很多事件营销,不可能别人家的客户端变了模样我们这边还要发包。而且在运营层面上,当然是越灵活越好。所以我们采用的是Native+H5的方式。但实际上H5有很多性能上的问题,我们采用了Native+引擎技术。
51CTO:H5的性能一直被人诟病,在做移动端的开发时,如何避免H5的短处而更加充分的利用H5自身的优势?
曲毅:这个问题问的太到位了,我们都知道H5有很多好吃和有点,但是他却有很多缺点,我们采用native+H5 的方式开发其目的就是利用原生的有点和H5 的有点,这样互为补充做到***的体验和灵活性。但是事情哪里是我们想的这样啊,H5的优点你使用了就同时也要接受它的很多缺点。对H5进行了很多深入的研究和总结,我们自己实现了一个基于H5的引擎Crow5,这个引擎是用Js编写的。在用它的时候可以坚固H5的优点,同时那么多的缺点通过优良的设计规避掉。从而达到双优的效果。
51CTO:为什么选用Crow5引擎?
曲毅:选用Crow5引擎是因为才用纯的webview+html5页面的方式加载速度慢,耗费流量等问题。Crow5引擎是我们自主研发出来的,所以对很多东西我们使用起来很方便,也很容易扩展。但是如果使用其他的引擎维护成本很高,还有就是其他的类库都太大了。手机下载资源就比较慢,如果资源库又大,非常影响体验。
51CTO:Crow5引擎由哪些部分组成?乐蜂的移动端有哪些应用了Crow5?
曲毅 :Crow5引擎由40多个插件和模块组成,其中比较重要的模块有,HTML代码约定模块,交互抽离模块,数据封装模块,数据驱动模块,加密混淆模块,插件管理器,加速器,URL拦截器,动画控制器,缓存控制器,超时监听器,模版控制器,请求发送管理模块,按需加载管理器。
处理机制主要有,约定编程机制,数据驱动机制,模版引擎飘移机制,心跳保持机制等数十种处理机制。
乐蜂移动端Android,Iphone,Ipad和m.lefeng.com都有crow5的影子
51CTO:Crow5的引擎在实际使用中为乐峰的业务带来了哪些帮助?
曲毅:技术层面上,以前需要各自独立开发的android和iphone还有webapp需要三种语言,三个团队去开发。采用引擎技术以后只需要按照引擎的方式编写一个webapp的方式。引擎会自动去适配android和iphone开发人员无需过度去考虑语言的问题,降低了开发的人力投入,而且在维护上,只需要维护一个版本全平台覆盖同步更新,还可以不用发包。由于引擎是采用约定的设计模式,所以编写代码都不需要太多的手敲,只需要按照约定写配置文件,代码由引擎自动生成。这样大大的简化了开发。而且也不用考虑编写风格问题。
运营层面上,才用H5的解决方案,可以尽情的使用这个技术的灵活性。
51CTO:您觉得Crow5引擎还需要在哪些地方加强。
曲毅:Crow5目前还没有大规模的开源出来,而且文档和学习社区缺失,希望未来能把这块座起来,让更多的爱好者一起去编写引擎。
51CTO:随着H5的标准落地,苹果支持H5似乎H5已经步入正轨,然而H5的标准并没有得到广泛使用,您怎么看待这种现象?如何看待H5今后的发展?
曲毅:任何事物的产生一般都会经历肯定,然后是否定和迟疑,我们能做的就是否定之否定。手机的性能越来越强,价格越来越便宜,而且网络资费也越来越便宜。我不同意navtive会消亡,但是份额会被web技术所侵占。而且未来的生活更是网路无处不在,所以web技术的应用场景会爆炸式的产生。能预见的是手机的屏幕就那么大,手机能安装的应用也就那么多,那么问题来了,还有千千万的应用应该在哪里体现和使用呢?也许会是web方式吧。
毫无疑问H5会需求量越来越大,要求也会越来越高。
来自谷歌、腾讯、京东、360、新浪微博、乐蜂网、魅族等企业的技术专家汇聚一堂,只为助你打开实现梦想的那一扇窗。盛会虚位以待,只等你快马加鞭!