|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
还有很多工具需要学iOS5的SDK已经支持ARC可以自动进行release但是对iOS4的支持还有一个小问题现在要开发应用可能还需要按照之前的MRC的方式allocreleaseretainautorelease之类的内存管理方法人人都晓得,Google推出了他的手机平台——Android,Google做甚么城市引来有数人的眼球,并总能制造出不凡的事业。信任此次他推出这个手机平台,应当会吸引到有数开辟职员的眼球,乃至会吸引良多有识之士转向手机开辟。由于相对现有的其他平台,手机但是一块还没有充实开辟的新年夜陆,Android又是新中之新,时机要多良多。仿佛是为了减速这个历程,Google还举行了“Android开辟者年夜赛”,奖金总额高达1000万美圆。
在此次BeijingOpenParty上,我们有幸熟悉了一名履历丰厚的手艺专家和两位db4o(注:出名对象数据库,次要使用在嵌进式设备平台)的中心开辟职员。InfoQ中文站特邀编纂仝健对三位举行了采访,请他们从开辟者角度谈一下对Android的熟悉和感到。
三位受访者的经历:
屠程远(以下简称屠):94年卒业,一向处置软件编程事情。把握汇编、C、C++、Delphi、.NET、Java等言语及架构,次要处置操纵体系底层和软件框架的编程事情。rcpandroid项目owner。
张黄瞩(以下简称张):自在职业者,ApacheHarmony的committer,db4o中心开辟职员,P-Unit项目作者,熟习java言语,使用程序架构计划,测试驱动开辟,和增量重构代码。
杨普(以下简称杨):ApahceHarmonyPMC(ProjectManagementCommittee)成员,committer,次要乐趣是编程言语,急迅办法,开源软件和社区。
InfoQ中文站:我们晓得,Android是基于Java的,那末今朝它支不撑持其他言语呢?
屠:今朝AndroidSDK只撑持Java。
张:实在我们不克不及说Android是基于java的。关于开辟者而言,Android撑持利用java言语语法编程,注重,不是撑持Java,而是Java言语语法,由于Android撑持的Java语法类库仅仅是J2SE5的子集,并没有经由过程任何java尺度认证。Android讲代码编译为Dalvik假造机字节码来运转。今朝Android官方仅撑持java编程语法。
杨:是的,Java是Sun的注册商标,只要经由过程了相干标准的兼容性测试才干叫做Java,Android的Dalvik假造机和相干类库也不答应恪守任何Java标准,有关这个成绩,ApacheBoard的成员,MIT的stefanomazzocchi有一篇十分出色的Blog:Dalvik:howGoogleroutedaroundSun"sIP-basedlicensingrestrictionsonJavaME
InfoQ中文站:那末,对Java语法编程的程序员而言,最年夜Java开辟群体是J2EE程序员,关于一个想转向挪动平台开辟的J2EE程序员来讲,转向Android平台是否是一个好选择?又会有哪些坚苦?
屠:我所编程打仗过的挪动平台撑持Java的有J2ME、BlackBerry、Android。J2ME的功效其实太无限,仅撑持J2SE很小的一个子集;Android所撑持J2SE的子集已很充实了,在Java编程方面和J2SE比拟几近没甚么限定。良多开源的Java类库仅仅必要很小的修正就可以在Android上运转。而在J2ME上要想使用那些类库几近不成能,只能从头造轮子。BlackBerry里的Java情况比J2ME要强,但强的无限,基础仍是没法使用现有浩瀚的J2SE的类库。以是对想转到挪动平台的J2EE程序员来讲,转向Android平台的价值最小,所能做的事变最多。
转向Android平台的坚苦次要在于这是个全新的平台,手机硬件还没公布,没有实践项目堆集和实践的运转情况。如今开辟基于Andoid的使用不免有些扑朔迷离的意味,没法经由实践运转情况的查验。也很少有客户乐意为半年一年后还不包管能运转的使用买单,以是对程序员来讲会有较长的投进期。
张:我团体以为这个转型会十分简单。只管Android撑持的不是尺度的JavaTM,可是已掩盖了年夜部分的Java的语法和类库。坚苦的地方,我以为大概在于开辟职员对挪动设备和服务器设备的了解。挪动设备的具有一些独占的特征,好比电源损耗成绩,屏幕巨细限定,和CPU的速率等。因而,在各个资本之间的均衡战略常常和传统的服务端编程纷歧样。
杨:另有两个缘故原由选择Android,
- Google答应Android将会是一个以ApacheLicense开源的项目(只管Google没有公然的开源工夫表),而ApacheLicense是一个对贸易使用和开源使用都十分宽松的License。
- Android能够说是一个为挪动互联网计划的手机体系,在下面内置了诸如json,location,gdata,browser,map等等良多API,因而关于J2EE程序员来讲,Android如许的终端设备不但供应了熟习的场景,并且又供应了完成良多idea的大概性。
Android今朝另有一个坚苦就是它的API和完成都还不长短常不乱,文档也不是很好,由于太新以是缺少乐成案例,固然它的社区十分活泼,几近一切成绩都能够在那边失掉敏捷回覆,而Google为此举行的Android编程年夜赛无望带来一些让人冲动的使用案例。
InfoQ中文站:从您团体的履历动身,Android手机与以往的手机平台开辟上有如何的分歧呢?
屠:以往手机平台感到是各个厂商各自一套关闭系统,J2me只能作为二等国民存在,一等国民是C、C++。在Android平台,Java是尺度言语,一等国民。在Android平台上编程感到受限定最小,乃至有在为PC机编程的感到。团体感到C、C++言语最好畏缩到其最善于的底层驱动范畴。在使用层,Java仍是最好的言语,资本丰厚、编程复杂、可移植性强,条件是硬件速率已快到了一个水平。Android平台所对应的硬件是半年一年后的,当时手机的硬件才能会有新的开展。记得十年前PC机的尺度设置是128M内存、300MhzCPU,跑WIndows98,已有很有丰厚的使用了。即便明天良多手机的硬件已凌驾这一程度,更别说半年一年以后了。
张:在Android上开辟会简单良多。Android是一个全新的开放的平台,其方针程序员为一般Java开辟职员。比拟J2ME,Symbian程序员,Android的进门门坎应当说十分低。
InfoQ中文站:能不克不及从开辟者的角度把J2ME和Android对照评价一下?
屠:J2ME的提出是由于现在手机硬件速率很低,Java假造机运转包袱较重,以是年夜幅裁剪了J2SE,推出了J2ME。年夜幅精简的成果就是开辟功效年夜年夜受限,和PC平台差异伟大。跟着硬件才能的进步,团体以为手机撑持J2SE是殊途同归。Android平台朝这个偏向迈出了年夜年夜的一步,年夜年夜减少了手机和PC平台上编程的差异。
InfoQ中文站:Android平台上有可使用的数据库吗,可不成以也许先容一下?
屠:今朝我懂得到的一个是SQLite,一个就是db4o。SQLite是Android内置的精简型干系型数据库,能完成尺度干系型数据库的年夜部分功效。db4o是对象数据库,在编程上更加复杂。团体对照看好对象数据库在手机上的利用。由于在手机上所要处置的数据究竟是大批的,对功能请求不象数据库服务器那末高。这时候对象数据库编程复杂、可天真顺应将来变更的长处就展现出来了。但由于db4o不是Android内置撑持的,今朝还做不到和Android独有的一些编程部件的无缝分离。
张:Android内嵌了SQLite数据库,这是一个轻量级的干系型数据库。与J2SE分歧,Android上界说了一套新的数据库操纵API,而不是利用JDBC。db4objects公布了其旗舰产物db4o能够无缝的运转在Android平台。db4o是一款面向对象的原生(native)数据库。我团体不是很喜好Android内置的这套数据库API,由于它其实不遵守JDBC标准。在我的了解,Android的一年夜亮点就是拥抱现有的手艺,博得了java开辟职员的喜好,而新的查询API意味着原本的基于JDBC的数据库相干的程序不克不及间接运转于Android。从这个角度来说,db4o在一切的API方面坚持了高度分歧,无需做任何修正,由于db4o是完整基于java的原生数据库。
开辟职员大概更习气利用面向干系型数据库,可是db4o在API计划方面十分合适挪动设备的开辟,十分简便。拿Android平台内置的接洽人数据布局来说,存储,读取接洽人,假如利用db4o,只需10行只要的代码,假如利用SQLite的话,则必要上百行代码。db4o间接面临对象,无需把对象转化为表布局字段,由于编程更不简单堕落。和服务端分歧,手机上的数据库更请求自顺应办理,而无需数据库办理员,这也是db4o的计划方针之一。
杨:db4o在Android上的部署不必要任何设置或修改,就看成一个一般的library就能够流利运转了。因为市场上还没有Android手机出卖以是没法给出切实的功能对照,可是在摹拟器上的对照证实db4o的综合功能涓滴不逊于SQLite,在一些情形下乃至无数量级的上风,好比已知数据的id来举行删/改/查等,关于手机使用这长短常广泛的利用场景。
Android上今朝没有成熟的O/RMapping框架,关于年夜多半习气了Hibernate,JDO,iBatis等各类框架的开辟职员来讲,面向对象数据库更切合他们的利用习气。并且面向对象数据库间接制止了O/RMapping的成绩,重构代码完整不必思索重构数据库大概设置,更不必修正SQL,因而加倍急迅。
作者简介:仝键,网名咖啡屋的鼠标,06年年夜学卒业,一般程序员,专注于Java、Flex方面的开辟、Agile等软件开辟办法论的进修。喜好列入社区举动。
来自:http://www.infoq.com/cn/articles/developer-remarked-android
当时要是有人告诉我这些估计少走不少弯路还有提醒各位初学者刚开始学的时候会有几个月的低谷期很容易放弃如果挺过最开始的几个月后来就越学越容易了 |
|