1.OSDN:李宁先生您好,请您先做个自我介绍吧
东北大学 计算机专业硕士。CSDN博客专家、51CTO客座专家、中国移动开发者社区技术管理员、OPhone专家、 ophonesdn版主(Id:mobileguy)、eoeandroid版主(id:androidguy)。曾任东软股份项目经理。曾领导并参与开 发了十几个大中型项目。从2005年进入写作领域以来, 为程序员、电脑编程技巧与维护、电脑报、IT168、天极网等平面媒体和网络媒体撰写了一百多篇原创技术和评论文章。并在个人 blog(http://nokiaguy.blogjava.net)上发表了大量的原创技术文章。主要奖项:
2009年ophone原创技术征文大赛二等奖(奖品:dell mini 3i手机一部)
2010年获得ophonesdn季度优秀版主(奖品:LG GW800手机一部)
《OPhone2.0之初体验》博客征文最佳人气博文二等奖
2007年获得《电脑编程技巧与维护》优秀作者(奖品:微软无线鼠标)
首届.Net平台创新编程征文比赛三等奖(2008年)(奖品:MP5)
第二届微软.net平台应用程序开发征文大赛三等奖(2009年)(奖品:MP5)
MSN机器人大赛最佳人气奖(奖品:价值1000元的无线鼠标和键盘)
主要著作:
《Android/OPhone开发完全讲义》
《人人都玩开心网:ext js+android+ssh整合开发web与移动SNS》
《Java Web开发速学宝典》
2.OSDN:您是何时进入移动互联网应用的开发,能否谈谈你对这个行业的认识?
我原来主 要是从事Java EE开发的。两年前,一次偶然的机会看到了Google发到了Android系统。一开始并不太关注这个系统。只是了解了Android主要是主要用于手 机的操作系统。虽然以前也曾做过一些移动方法的程序,但并未正式进入这个领域。由于以前曾做过Symbian和Java ME方面的程序。对Symbian开发的复杂性深有体会。Java ME虽然较为简单,但Symbian和Java ME都需要购买签名才可以发布。而在Android推出后一年多,在美国发布了G1,世界上第一个基于Android的手机。这时Android开发备受 关注。我也是在这时开始关注Android,并开始学习Android的。Android以其强大的功能、开发的姿态吸引了大量的开发人员(当然,也包括 我)。
自从G1诞生以来,业界一直对Android的褒贬不一。有人说Android免费、开源,而且功能强大。足以和IPhone抗衡。也有人说Android的版本太多,兼容性较差。开发程序难并很大。
虽然这些 说法都有一定的道理。但这也是任何新生事物都要面对的。之所以Android的版本众多,主要是因为Android还不太稳定,还有很多需要改进的地方。 不过一位Android的版本发布放缓后,就说明Android已驱于成熟了。如果有使用过Android 2.1及以上版本的开发人员会发现,无论在稳定性还是功能上都有了很大的提高,也不再出现莫名其妙的错误了。
一个成功的移动操作系统可能由很多方面决定,但最主要是以下三点:
1. 用户的数量2.开发人员的数量
3.手机硬件厂商的数量
这三点 Android目前都具备。虽然用户的数据目前还无法和IPhone相比,但其增长速度已超过了IPHone。至于开发人员吗,随着用户数量的增加,就需 要开发大量的软件来满足这些用户的需求。而这些软件当然需要由开发人员来完成了。至于硬件厂商,Android目前比较知名的厂商已有数十家,如果再加上 一些所谓的“山寨”厂商,那就没数了。如果“山寨”机可以成功和Android联姻,那么Android完全可以毫无掩饰地说“智能手机之天下,舍我其 谁”。
3.OSDN:您是如何成为OPhone开发者社区用户并加入论坛作为版主的?
我知道 OPhone开发者社区比较早。当然,知道MM也比较早。具体是如何,从哪得知社区和MM的有些记不清了,但我经常在网上浏览各种信息。一般对于比较感兴 趣的网站、资源都会第一时间知道。 我原来是eoeandroid的版主。后来听说了OPHone开发者社区,而去年由于参加了OPhone征文大赛得了一部dell mini 3i手机。装的是ophone 1.0,后来升级成了ophone 1.5。感觉还不错。想研究下OPhone。正好这时OPhone开发者社区招聘版主,于是就自然水到渠成了。
4.OSDN:在参与OPhone的应用开发过程中,获得了哪些成绩和收益?
这个吗,在前面已经提到了。除了得了一些小奖品外(两部手机),还写了两本与Android相关的书。下一步则打算从Android和OPHone中直接获益。
5.OSDN:您认为OPhone SDN为OPhone开发者作提供了哪些帮助?哪些方面需要加强?
OPhone SDN主要是论坛,当然,还有很多优秀的文章发布。需要提一下的是OPhone SDN发布的文章由于是仔细筛选的,因此质量都比较高。听说最近ophone sdn要增加博客等功能。这是个好想法。如果可以将优秀的博文放到更容易被看到的地方就更好了。
6.OSDN:作为OPhone SDN的优秀版主获得者,你觉得OSDN现行的版主管理制度如何?有哪些方面需要完善?
首先,我对获得第一届OPhone SDN优秀版主感到非常荣幸,这也是社区对我的表现的一种肯定。现在论坛的斑主管理制度规定得比较详细了。关键是执行的问题。
7.OSDN:您觉得OPhone SND在内容和功能上有什么优点?同时,请提出你的改进建议!
个人认为,OPhone SDN论坛、文章发布外,还可增加一些其他的功能。例如,为社区的专家单独建立专栏、为社区的优秀软件开发者所开发的软件提供绿色通道进入MM等。
8.OSDN:做为版主,为提高SDN社区影响力,增加论坛活跃度,你有什么建议和行动?
网友上某个论坛一般都是带有一定的目的性的。如问问题、寻找有价值的文章。如果要提高SDN社区的影响力,就要比网友浏览网站的目的着手。如增加SDN有价值的内容,开设一些培训课程,提供一些认证、或邀请一些相关领域的专家做一些专题讲座。
9.OSDN:分享一下您对OPhone论坛的管理经验和使用心得
管理论坛 除了日常的管理工作外(删除、移动不合法的贴子等)。就主要剩下两个工作:回答会员提出的问题,以及发布一些有价值的文章。其中发布文章除了是自己原创 的,其他的基本就是力气活了。不过也鼓励广大斑竹和普通会员转载更多有价值的技术文章。对于回答问题,这基本就是一个技术活了。由于会员提出的问题五花八 门。谁也无法保证准确回答所有的问题。不过要学会通过internet搜索就容易得多了。在这里也希望广大会员首先能所何从网络自己获得答案(也包括英文 网站,实际上,我的大部分问题是从英文网站获得的答案)。
10.OSDN:你是否在基于OPhone2.0上开发新的应用,是否已在MM平台上线?
目前正在试用OPhone 2.0,还没有正式开发OPhone 2.0上的产品。不过现在开发基于Android 2.1的产品(一个超级酷的通用微博客户端),但这个版本实际上也是很容易移植到OPhone 2.0上的,只是有些布局等内容可能需要修改。
MM上目前还没有发布产品。这个微博客户端完成后,会考虑发布到MM上。以前听说MM不允许发布带网络功能的产品,不知现在是否有政策上的变化。
11.OSDN:你的创作灵感一般来自什么?也举个例子给SDN的开发者分享一下吧。
关于灵感的来源是很难说清楚的。有人说灵感来源于生活。但这只是表面现象。从本质上讲,灵感来源于不断地观察,不断对周围一切进行观察(不过在商场里最好少这么观察,否则便衣警察就会盯上你的,哈哈)。至于具体如何观察,观察什么,因人而异。
当然,获 得灵感的方法也是有一定的轨迹的。方法因人而异,但还是存在一些通用的方式的。例如,我开发的“微博客户端”是一个可以同时维护多个微博的系统。当这个功 能的实现并不复杂。但如果只有这个功能,那么这个软件相当于没做。因为现在这类软件太多了。会显得自己的系统没有任何特点。那么这就需要观察,不断地观 察。例如,为了编写这个系统。我在国内十几家知名的微博都有帐号(顺便在这里做下广告,我在新浪微博的名是“银河系的李宁”,欢迎大家关注我)。有了帐 号,就会不断地浏览微博的内容。看经常看到有微博上发的图片有的是多幅放到了一起(了解微博的都知道,一条微博只能发一个图片),这也许是使用第三方图像 软件处理过后再发上来的。那么这就显得比较麻烦。为什么不在发布微博时一次性完成这个功能呢,于是我们的第一个灵感产生了,这就是在微博客户端中加入图像 的合并功能。于是又开始联想,只加入合并功能是不是太单一了呢,于是就有了后来的图像后期处理功能。这也是“乐博Android客户端”(微博客户端的软 件名)的一大亮点。当然,还可以更广范围地观察和模仿,腾迅CEO马化腾说:模仿(抄袭比较文雅的称呼)是最稳妥的创新。
12.OSDN:为大家分享一下开发过程中的趣事吧!
对于一个喜欢技术的开发人开员来说,开发本身就是快乐的。至于趣事吗,同样,每一天都会有趣事发生。因为每一天都在为软件加入新的功能。就在我被采访之前一个小时,还为我的“乐博Android客户端”加了一个小功能。
13.OSDN:OPhone开发过程中是否遇到过难题,是怎样解决的?
刚才提到开发过程中的趣事。实际上,趣事和难题是并存的。一旦难题被解决了,就会感到很有趣。实际上,这个世界上并没有难题,只有问题。问题如果还没找到答案,那就是难题,如果找到了答案,就是世界上最容易的题,简直太容易了。
由于我开 发的“微博客户端”同时支持PC和Android,都采用了Java开发。这就会面临一个非常大的问题。这些不同平台的系统需要共享一些东西,否则,将面 临重复维护的问题。当然,最后找到一个合适的办法(最终也是凭着经验找到的,方法就是不断地尝试),使核心的库可以多个工程共享,并可以跨工程调试。
14.OSDN:对OPhone开发者社区的新人,有什么建议能够让他们迅速的进入与提高?
这里的新人也可分为两类:技术新人和Android/OPhone新人。
技术新人 是指刚接触编程,对一些编程的基础知识还不太了解。对于这类人,并不建议马上学习OPHone或Android。而是要打好编程的基础。就象根基不稳的习 武者,是无法学习上层武功的。首先要提升自己的内力(内功)。由于ophone和android都是以Java为其主要编程语言的,因此,建议花一定的时 间学习一下Java语言。以前有个搞HR的朋友想招聘Android开发人员,由于她并不了解Android,于是向我咨询。有个应聘者说自己不会 Java,但会Android。 问我这个人是否可以。于是我给她举个例子。如果一个人说自己不会开车,但有驾照,你敢坐他的车吗?
总之,第一类人要努力成为第二类人,才可往下进行。
当然,对于第二类人就好办多了,由于已经有多年的开发经验。OPhone和android对他们来说只是一种新的技术而已。对于这类人的入门可以找一些讲得比较全的Android/OPhone技术书籍来看,例如,我写的一本《Android/OPhone开发完全讲义》介 绍了Android及OPhone的大多数技术,可以完全作为初学者入门使用。除此之外,就是如何提高的问题。由于Android是开源的,这也为我们更 进一步地提供自身的水平开了一扇门,虽然最面的路并不好走,但可以好多宝藏哦。这就是Android的源代码(全部的源代码近2G)。我们可以将 Android的源代码看作是“真理宝盒”。任何书籍、文档都无法也源代码的权威性相提并论。它会为我们展示Android最真实的一面。如果了解了 Android的本质,那么OPhone还是问题吗?
通过Android颠峰的另一条路就是Linux。由于Android是基于Linux的,因此,学习Linux API以及其他一些操作是非常有必要的。
综上所述。Android源代码和Linux是通向Android宝藏的两扇大门。如果这两扇门一扇都没有打开。千万不要说自己精通Android或OPhone。
15.OSDN:您作为成功的OPhone开发者,有什么开发心得可以与大家分享?
不光是 OPhone,使用语言或技术开发人员也是一样。一定要喜欢自己的工作。否则就会感到很累。当然,光喜欢自己的工作还不够。人们工作的本质实际上并不只是 为了获得薪水,还有更高的精神追求,就是获得成就感和认同感。因此,在开发的过程中要不断寻找可能获得成就感和认同感的机会,例如,各种竞赛、撰写博客, 在论坛中回答问题,撰写技术书籍等。最后还有一句话要送给大家“一次努力并不一定会获得回报,但不断地努力一定会获得回报”。
16.OSDN:您对OPhone平台未来的发展有什么观点?
OPhone本身是一个不错的平台。会随着Android的成功在中国遍地开花。但现在OPhone和其他智能平台都面临一个现实的问题:价格。相信未来有一天OPhone手机真的能降到大多数用户都能接受的程度,也就是OPhone真正普及的时候。
17.OSDN:对即将和已经投身OPhone行业的人,有什么职业上的建议?
对于选择 OPHone和Android作为其主要开发平台的技术人员,你们很幸运。因为你们选择了一个前途光明的平台。但目前国内从事OPhone和 Android开发的企业还相对较少。对于那么想转行的人来说,可以先做一下技术上的储备,毕竟,机会只要照顾有准备的人。然后再伺机而动,所果时机未成 熟,就只有蛰伏待击了。
18.OSDN:李宁,这个名字大家都很熟悉,我们很希望和体育事业的“李宁”一样,您能成为OPhone软件产业中的杰出贡献者
李宁这个 名字很好,我很喜欢。不过凡事都有两面性。不好的一面是名字太常用,用的人太多,除非自己非常有名,否则无论是在google,还是在baidu,或是在 bing上输入“李宁”,一般前10页都不是自己。 如果哪一天在前几页查到的李宁就是我,那说明我已经很出名了。哈哈。期待这一天的到来。不过为了现在也可以查到我。暂时用我的网名“银河使者”吧,再次做 一下广告,我在新浪微博的名是“银河系的李宁”,欢迎关注我。
《Android/OPhone开发完全讲义》(本书版权已输出到台湾)
样章和目录下载
互动网 当当网 卓越亚马逊
《人人都玩开心网:Ext JS+Android+SSH整合开发Web与移动SNS》
样章下载
互动网
乐博Android手机客户端(新浪微博) 发布
var _gaq = _gaq || []; _gaq.push(['_setAccount', 'UA-16915591-1']); _gaq.push(['_trackPageview']); (function() { var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true; ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js'; var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s); })();