订阅业界RSS CSDN首页> 业界

专访谭海燕:移动互联网开发的那些事

发表于2013-07-24 06:29| 次阅读| 来源CSDN| 0 条评论| 作者钱曙光

摘要:HTML5的发展越来越快,最终能否代替Flash现在无法盖棺定论,但HTML5对Web APP及独立移动应用开发的影响不容忽视。社区之星第30期采访了阿里云OS事业部的谭海燕,看看他眼中移动互联网开发的那些事。


谭海燕,目前就职于阿里巴巴云OS事业部,从事云OS核心系统研发相关工作,提供云OS Runtime HTML5等相关支持。专注于移动互联网产品的研发,并对WebKit, Google V8, Node.js甚至WebOS都有比较深入的研究。目前在CSDN Linux/Unix程序开发版担任版主。一直以来坚持以品质和技术立人。

  • 机会只会偏向有准备的人

CSDN请和大家介绍下你及所从事的工作。

谭海燕:我叫谭海燕,来自于湖北。目前就职于阿里巴巴云OS事业部,从事云OS核心系统研发。在加入阿里巴巴之前,曾在Teleca和搜狐工作过,在这两家公司都是从事Qt软件研发,在搜狐主要是负责搜狐微博MeeGo版的研发。

CSDN你是怎么进入IT行业并一路走到今天的?有什么特别的故事分享吗?

谭海燕:大学的时候,学的是计算机科学与技术,计算机工程方向。大一的时候算是迷茫了一年,因为当时学的第一门计算机语言是C语言,也不知道这门语言对我以后的工作有多大的用途,而且我们学院不像网络工程学院或者电子工程学院,都有自己比较专业的方向。有段时间就特别低沉,不知道自己以后能不能找到工作。在大二的时候,我遇到了一位对我IT职业生涯非常重要的老师,他教我们MFC编程,我就跟他讲了下让我迷茫了整个大一的一些困惑。当他听到我的困惑之后,就告诉我说,选什么语言并不重要,语言也有过时的时候,关键是要学会编程的一些思想,并能够在某一个点上做到很精通,就相当的了不得了。到后来,我逐渐清醒了,然后在学校尝试着业余时间带团队从事单片机开发,参加一些电子设计大赛。由于当时学习成绩很好,特别是专业技能,所以我很早就在外面的公司实习,一直到后来毕业真正的从事IT行业。另一方面,是我对技术的信仰。

CSDN2008年的时候,当你看到Google与全球很多电信运营商达成协议免费使用Android的时候,并就当时移动OS的市场来说,Android肯定会火,如今显然已经证明了你当时的观点,你当初是因为什么肯定Android会火呢?

谭海燕:首先,是市场需求。Google免费将Android提供给全球30多家专注于移动设备的厂商使用并开源,而当时市面上几乎所有的手机系统都是不开源的封闭开发,开源和免费势必会推动Android的发展。

其次是开发者。因为之前我也学习过symbian开发,语言比较晦涩难懂,而用Java开发,门槛低,2008年正是Java市场比较火爆的时候,开发者很容易就转到Android应用开发。那其实至于后来的Windows Phone、bada等等之所以没有成为主流,也就是这两点没有做的很好。

CSDN你由于对Java兴趣不是很高,也就与Android失之交臂,进入IT行业的新人究竟如何选择自己的发展方向呢?在遇到一些选择的时候该如何做决定?

谭海燕:做决定,对于每个人都很难。一路走到今天,我也放弃过在当时看来是很好的发展机会,但是每当有需要我做出一个重要的决定的时候,我都会做一个表格,列出各方的优势和劣势以及今后的发展前景,但是机会只会偏向有准备的人

对于IT行业来说,选择一个合适自己的技术方向是很重要的,至于使用什么语言倒是其次,而很多人往往把自己困在语言上。我一直都很喜欢一句话:Make your work easy!不是去偷懒,而是想办法让自己的工作变得轻松。

CSDN你曾有幸跟着团队参与MeeGo系统的研发,结果MeeGo夭折了,这对你有什么影响?对未来的你有哪些帮助?一个IT从业者在遇到挫折的时候该如何面对?

谭海燕:应该说,我是国内比较早接触到MeeGo的人。由于当时所在的公司跟Nokia合作,需要参与一些MeeGo的项目研发。当时自己也有一个业余小的创业团队,想开创一个国内最大的MeeGo论坛。那时候,干劲很足,每天翻译一些MeeGo的开发文档到很晚,经常写一些MeeGo的模拟器Demo到自己论坛上,而且论坛活跃度还算不错。可是,过完年,接到公司的通知,Nokia要放弃MeeGo。在我证实这个消息之后,低沉了好几天。但是,后来慢慢的我想明白了一件事情,我太过度的依赖于平台了。把所有的希望都寄托于某个平台而不是某一个方向的技术,这对于一个程序员来说特别致命。我误解了对开发工程师真正的定义。

在IT行业,真正创造价值的是那些在某一个点上很精通的技术专家,而不是什么都懂一点的技术全才。只有在某一点上做的很精通了,才能创造更多的价值,这样才能屏蔽平台和语言的差异化

CSDN我们知道,你之前在北京搜狐呆过一段时间,主要是参与搜狐微博客户端的研发,而且做得不错,后为何决定离开?而最终是什么让你离开首都选择下一站杭州的?

谭海燕:是的,在搜狐的时候主要从事搜狐微博MeeGo版的开发。其实,选择在一个公司继续呆下去,要么是你有一个好的Leader,让你觉得跟他走下去会让你工作得很开心,要么是你对公司和自己所做产品的认同。在当时来说,呆在搜狐还算是不错。我很欣赏我的领导,我也很认同搜狐这家公司,但是对于搜狐微博来说,不能让我看到有一个很广阔的前景。在当时,搜狐微博客户端相对于其他几家的微博客户端来说,无论从性能以及用户体验,都已经做的很好了。但是,对于任何一款产品特别是SNS来说,来自于内容的营养才是最重要的。想要让用户坚持持续使用它,需要靠内容去抓住用户,而不是看软件自身有多漂亮,多好用。而这恰恰是搜狐微博比较薄弱的一个环节。

最后选择离开北京选择去阿里杭州,加入云OS的开发,一部分是我对阿里价值观很认同,但是最重要的是我对云OS这件事的认同。记得我来阿里之前,去过面试过金山快盘,最后一面是金山快盘的CTO 杨刚,当时我提出了一个问题,我说跟金山快盘很类似的产品市面上已经很多了,而且大多都不能活很久,为什么金山还是要坚持去做快盘呢?当时他就跟我说,不同的公司去做同一件事情的结果会不一样。我很认同这一点,这一点对也使我坚定要来阿里这样一家公司参与云OS研发。

CSDN目前,你在阿里巴巴云OS事业部任职,有人说阿里云OS动了谷歌的奶酪,不做手机,只做操作系统,对此你怎么看?某些人认为阿里云OS是一款与Android等量的产品,在你看来,阿里云OS和Android以及Linux有着怎样的关系?

谭海燕:阿里云OS和Android都是基于Linux内核的操作系统。云OS有自己的虚拟机和Runtime。云OS跟Tizen以及Jolla MeeGo一样,都是兼容Android。

CSDN你在IT界沉沉浮浮的这几年,好像一直都是在寻找方向,你当时是怎样的一个心态?对这个行业有没有什么感想和大家分享一下?

谭海燕:在 IT行业这么些年,到现在,应该说,我是逐渐的找准了自己的方向。刚毕业的时候那会儿,薪水还是很低的,没有什么议价能力。那时候,我其实有很多机会留在待遇还不错的外企,而且工作很轻松。但是后来我还是离开了。我觉得对于一个程序员来说,刚毕业还很年轻的时候,不要过于太在乎当时的薪水,而应该去培养自己后期的竞争力。太安逸的工作,会消磨一个程序员的斗志和激情。

  • HTML5现在很不成熟

CSDNHTML5是一种新技术,开发者可以开发出通过标准浏览器在任何设备上运行的Web应用。许多人认为HTML5将拯救Web,使与平台有关的原生应用遭到淘汰。你怎么看HTML5与原生应用之间的关系?哪个更有优势?

谭海燕:按照目前HTML5的现状来看,的确有很多地方特别是性能方面,单纯HTML5应用还是达不到Native的效果,但是HTML5更具发展潜力,。可以看看目前市面上的新生OS,包括Firefox OS、Tizen等等,都是冲着HTML5来的,现在已经没有新的OS会去跟IOS以及Android在Native应用上竞争了,都是奔着HTML5,因为对于Native应用生态圈,IOS和Android已经做得很好了。

CSDNHTML5要发展到很成熟,有人说至少还需要10年,那就目前来说,押注HTML5是否还为时过早呢?

谭海燕:HTML5的确现在很不成熟,还有很多地方不够完善。但是不可否认,任何一项新技术在成为主流之前,都必须经历一段潜伏和积累期。随着Google等的推动下,HTML5的发展还算比较快。完全押注HTML5应用在现在看来还是没有必要,毕竟不成熟,不够商业化标准。但是如果打造支持HTML5的平台,必须的趁早。有条件的大公司,最好是能够参与HTML5标准的制定。

CSDN许多业内人士表示,HTML将会最终代替多媒体框架,如Adobe的Flash,对此你怎么看?

谭海燕:HTML5 最终替代Adobe的Flash完全有可能。就HTML5的发展现状和趋势来说,HTML5多媒体在逐渐标准化。可以看到,在移动设备上HTML5多媒体支持,从性能和流畅程度上将,很多浏览器例如chrome使用HTML5已经做得很好了。但是,对于短期来说,Adobe的Flash地位,还是不能被HTML5撼动。无论是从浏览器上来说,还是从技术上来说,都还达不到普及的程度。HTML5是新技术,但是还不成熟。还达不到商业化的要求。也不会有公司为不成熟的技术买单。

CSDN几乎所有人都热衷于开发独立的移动应用,但是HTML5很可能会是独立移动应用的终结者。由于HTML5将应用的功能直接加入其内核,这很可能引导移动技术潮流重新回到浏览器时代。关于这个观点你什么看法?

谭海燕:这 一点其实不存在。不一定要浏览器啊,完全可以自己包装一个WebKit然后装载自己的应用。而且对于一个真正的HTML5支持平台来说,必须屏蔽浏览器这个概念,应用的启动也不应该是从浏览器里面打开,开发者和用户应该感觉不到浏览器的存在,当我们点击一个Web App,就能像普通应用一样启动,而不是要到浏览器里面打开。他也不需要关心自己的应用究竟是运行在浏览器里还是在Native上。Palm WebOS上,所有的系统内置应用都是 Web App,包括一些基础的打电话、短信和音乐应用等,都是使用HTML和JS编写的Web App.

  • Native能做的,Web App也能做到

CSDN你的博客中有很多关于Google V8和Node.js的内容,Google V8和Node.js对于Web App有什么重大作用?

谭海燕:V8 JS引擎和Node.js,在PC端来说,现在已经发展的很不错了。V8打通js和C++,而且V8在内存管理,性能以及多线程上有很大的优势。能打通JS和C++的,除了V8以外,还有Qt。Qt的QML(类似于JS)其初衷是为了快速开发,可以直接使用脚本语言写UI,使用C++作为后端逻辑和数据Model,JS/C++混合调用。而Node.js则是擅长使用少量的JS编写服务程序。那么这些技术对于移动互联网,对于Web App来说,恰恰是补其短板。这些技术使得语言的界限变得越来越模糊,JS/C++打通之后,使得Web App具有调用Native API的能力。Native能做的,Web App也能做到

CSDN很多人将Cloud App或者Wew App和网页混为一谈,究竟什么是Web App?

谭海燕:经常会有人误解网页和Web App,很多人都觉得所谓的Web App就是通过某种技术将网页转换成应用的形式,在浏览器里运行。那么究竟什么是Web App? Web App是使用HTML,JS等技术编写的应用,可以在浏览器里运行。只是恰好使用了跟网页编程相同的技术而已。不能因为它使用了HTML和JS就认为Web App就是网页。

CSDN就目前来说,移动互联网领域,Web布局绝大多数是依赖于WebKit,包括Google 的blink也是从WebKit fork出来的,那么Web应用的发展,对于WebKit来说有什么样的挑战呢?

谭海燕:Web App对WebKit的挑战一方面来自于Native API的支持。Web App,作为一个应用,应该具备Native应用的能力,包括对硬件操作的API,这些都需要WebKit对其进行支持。这方面,W3C已经有了一些标准,但是还是需要WebKit在各个平台上提供支持和实现。另一方面就是启动和加载速度。对于Native应用来说,UI都是已经布局好了。而对于Web App来说,都有一个布局和渲染的过程。而且很多Web App都是不需要安装的,而是在线使用,这就需要有一个从服务器加载的过程。这对于WebKit来说,如何去缩短这些事件,而且要比Native启动速度快,是一个很大的挑战。必须处理好数据请求与Cache的关系。

CSDN网络应用开发工程师们在学习新技术的同时需要时刻记住网络安全。在这方面,你有什么经验可分享?

谭海燕:Web网络安全,更多的在于HTML引擎。目前安全机制做的最好的是Chrome的沙箱机制。所有的Web App都在独立的沙箱进程空间,有效的做到了应用进程以及资源访问的隔离。

CSDN目前你在CSDN Linux/Unix程序开发版担任版主,你的收获是什么?

谭海燕:担任版主,主要的收获是技术上,每隔一段时间我都会去论坛里逛逛,关注一些技术贴,然后去弄明白,并给与回复。对于不能回复的,也可以看看别人是怎么解决这个问题,对于自己的研发工作也有帮助。

CSDN:你对CSDN有什么建议?对未来有什么期待?

谭海燕:希望CSDN的博客能做的更符合IT技术人的口味,毕竟CSDN是国内最大的技术分享的论坛力量,对于博客的风格要稳重。另外一点就是希望CSDN能对论坛每月排名靠前的同学给予奖励,这样可以激发大家回帖的积极性。

若想获悉谭海燕更多动态,请关注:

个人博客:请点此进入    个人微博:请点击进入

社区之星访谈系列文章:

专访赵霏:应把握机会 HTML5游戏开发已臻成熟

专访成晓旭:云计算催生行业信息化新格局

更多精彩内容,请点击社区之星查看。

本文为CSDN原创文章,未经允许不得转载,如需转载请联系market#csdn.net(#换成@)

0
0