BT

你的观点很重要! 快来参与InfoQ调研吧!

陶钧谈淘宝客户端应用框架实践
录制于:

| 受访者 陶钧 关注 0 他的粉丝 作者 贾国清 关注 0 他的粉丝 发布于 2012年1月26日 | ArchSummit社交架构图谱:Facebook、Snapchat、Tumblr等背后的核心技术
10:18

个人简介 陶钧,淘宝网无线开发技术专家,摄影爱好者,技术强迫症,摩羯座。多年移动开发领域从业经验,专注无线 产品和中间件的开发。曾负责开发自有移动多媒体引擎,为全球TOP5 手机厂商提供完整的移动多媒体解决方案。在大型商业应用中,各个软件层次的实践(应用层,协议层,中间件层),为他积累了丰富的一线经验,和良好的全局观。2010年加入淘宝,现为淘宝无线客户端开发团队Team Leader。目前,专注于持续构建适合大型复杂应用的移动应用框架,同时关注新技术和新开发模式在移动互联网产品中的演进和落地。技术主张:完美的技术方案一定有简单的实现。

   

1. 大家好,我们现在是在淘宝技术嘉年华的会议现场,很荣幸邀请到淘宝无线事业部技术专家陶钧。陶钧您好,首先请您介绍一下自己及所在的团队?

我来自于淘宝无线事业部,目前团队有20多人,主要专注在淘宝无线客户端上的开发。我们团队主要负责三款产品,分别是Android淘宝主客户端、Symbian及KJava。团队从成立到现在已经走过了一年的历程,其中不乏年轻且富有经验的工程师,大家在一起很开心,今年一年以来取得了不错的成绩,我们自己也感到很欣慰。

   

2. 最近您主要在负责哪方面的工作?

最近主要专注在高端平台的开发上,主要是在Android端。目前已经发布了V2.1版本,接下来在七月份,我们计划将V2.2版本上线。

   

3. 您一直都很关注新技术和新的开发模式,您也自称是一个有技术强迫症的一个人,所以请您分析一下移动互联网产品中,开发模式有着怎样的一个变化趋势?您的团队目前用到的主要有哪些开发模式?

最重要的一点,移动互联网是将Web技术同客户端本身技术的一个融合,这是大趋势,上面我们可以看到WebKit在作为引擎,应用在Native Application里面其实很重要,我们在去年7月份的第一个版本中,用到的就是这项技术。现在大家也都在这个上面在进行尝试,我们也希望能够在业界看到更多的形式以及一些优化,这仅仅是一个开始,总体来讲,我觉得在Web App上是大有可为的。淘宝在这方面我们从一开始就采用了Web App加Native App这种模式,我们称之为Applicational web plus,的确看到了很多的好处。同时也面临了很多问题,很多困难,包括速度优化、缓存以及体验方面的问题,这三点也是我们团队急需解决的问题。

   

4. 那么移动开发框架同传统的客户端开发框架有哪些不同呢?

我之前是在比较传统的一个就是说传统的应用开发,但这方面确实有很大的区别,因为WEB是一个开放的形式,还有一点就是业务总是趋于多元化的发展。对于客户端来说,其实更多的移动框架都借鉴了WEB框架,比如缓存,还有一些我们称为Source和Cache的思想,很多东西并不是创新,都是来自于Web方面的思想。当前的移动互联网应用更加注重业务流程、体验以及交互。Web应用开发本身是很丰富的,所以当它成为一个轻量级的应用,被应用到移动领域中也是非常适用的。原有的移动框架,更像一个孤岛,只要能够完成应用的基本业务,这个框架就可以说是成功的。但正如同移动互联网很多业务一样,想要创新,就需要提供一个更开放和更具备灵活性的框架,而这样的框架就要面临更多的挑战。

   

5. 那么在构建适合大型复杂应用的这些移动框架时,有没有一些需要注意的问题?

我觉得最关键的一点,也是我们现在体会最深的一点就是,在客户端上开发是一个相对自由的开发过程,可以任意的引用一些东西来创造新的模块。但正是这样的一个带有多样性的东西,会将应用变得复杂、混乱,我们想做的就是,希望在大型的应用中使用简单的开发模式,所以我们需要在一个大的团队里面,应用这种简单的开发模式,所有人都按照这种开发模式来进行开发,这样才能使整个系统的结构变得稳定,而且新的业务也不会对系统造成较大的破坏和冲击,这是我们认为比较重要的,一定要有一个清晰、简单的开发模式,来指导客户端团队能在技术上不断地进步。

   

6. 能不能简单再介绍一下Component Model,还有Web Plus这个应用,现在的使用情况是如何?

Component 其实是我们为了使开发模式简单化的一种实践。我们相当于是通过Component 定制了一个业务孤岛,每个业务是在Component之内完成的。这个Component既包含了业务本身的数据同时也包含了UI部分。像淘宝这样大型的业务,尤其是业务非常多的时候,就可以在各自的孤岛里进行并行开发。最终通过Component这套机制将他们整合在一起,这个整合给我们带来了很大的益处,使原有的开发经验能够得以继承。Web Plus相当于是对Web App的一种尝试,Web App可以将WEB的服务直接引入到了客户端,然后在体验、性能以及数据层面上,对其进行相应的优化,我们正是利用这样的一个Web App来帮助我们去完成一些业务开发。

   

7. 在电子商务领域,移动客户端主要面临的挑战来自于哪些方面?

首先从技术角度上来说,就是图片,现在在图片上面,由于网速的限制,大部分人还处于2G的网络之中,甚至还有更差的网络条件下来使用这个客户端,对用户体验影响最大的就是图片加载问题,这应该是目前电子商务面临的最大的一个挑战;另外一个就是支付安全的问题,在电子商务上,你最后一关的支付,要保证支付的足够安全,实际上还有不少路要走,淘宝包括支付宝也在做一些这方面的安全控件。另外一个挑战就是来自于用户的碎片时间,因为手机目前的使用环境,主要还依赖于用户的碎片时间,如何让用户在碎片时间里面来使用淘宝的客户端,如何在这个时间给用户提供满足要求的服务,这其实也是个非常重要的问题。

   

8. 在开发淘宝的移动客户端时,刚才你也说到有些用户用到2G的网络,在图片加载这方面有一些挑战,那咱们这块是怎么应对的?有没有一些解决的办法或者建议?

我们一直在做这方面的尝试和创新,首先我们会基于手机屏幕大小使用相应尺寸的图片;第二我们会使用一些缓存技术,例如有些图片一旦被用户所下载,就无需下载第二次,主要通过这两种方式来提升用户的体验;另外还有很多其他技术值得尝试,比如在Wifi的网络下,去做一些图片的预加载,甚至还可以改变图片的压缩率,让用户能够在手机上能够更快速的,下的更小,这也是一种方法。这方面的尝试是不断的根据业务来调整。

   

9. 要满足淘宝线上业务变化快,在线可运营的这些要求,咱们的团队做了哪些努力呢?

首先要帮助我们的运营同事梳理他们真实的需求,我们的运营现在分两块,第一块是通过Web Plus,另外一块是通过Native化的一些运营工具来实现,现在大家在客户端里看到的那些专区,也就是促销,其实是一种界面也可被运营的一些产品,这些产品是由我们技术团队根据运营的需求来实现的产品。他们的运营需求,可能70%或80%能够通过这样的产品直接被展现出来,达到他的目的;另外一方面通过Web Plus,把一些创新的东西快速上线,一旦开发出来就可以立即上线,补充用户对这种运营活动的一个直接需求。

登陆InfoQ,与你最关心的话题互动。


找回密码....

Follow

关注你最喜爱的话题和作者

快速浏览网站内你所感兴趣话题的精选内容。

Like

内容自由定制

选择想要阅读的主题和喜爱的作者定制自己的新闻源。

Notifications

获取更新

设置通知机制以获取内容更新对您而言是否重要

BT