|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
微软什么都提供了。你可以试想一下,如果你是新手,你是希望你点一下按钮程序就能运行那,还是想自己一点一点的组织结构,然后打包发部,调错再打包......2012年,在以色列呈现了一个名为Codenameone的公司,该公司旨在天生一种新的JavaSDK,该SDK将同意Java开辟职员经由过程一个单一的代码库就可以为包含iOS,Android,BlackBerry和WindowsPhone等一系列的挪动设备编写当地使用。关于iOS,Codenameone经由过程本人的云服务器先将Java代码转换成C大概ObjectiveC代码,然后再将转换后的源代码编译本钱地使用程序。这使得使用Java来编写iTunes兼容使用成为大概。
Codenameone的两年夜开创人分离是ChenFishbein和ShaiAlmog。Fishbein是JavaME尺度用户界面工具——LightweightUserInterfaceToolKit(LWUIT)的开创人和首席架构师,而且他还开辟了当下最乐成的JavaME开辟工具之一的SprintWirelessToolKit。
该平台现正处于Beta测试阶段,InfoQ下载落后行了测试。这个历程消费了很长的工夫。为了构建代码,必要将他们基于云服务的网址增加到代码库中。代码将被上传到该服务器并举行编译,然后天生一个二维码(QRcode),经由过程该二维码你能够下载并安装终极的程序到设备中。出于猎奇,为了更多的懂得该公司,我们采访到了该公司的团结开创人兼CEOShaiAlmog师长教师,扣问了一些关于他们最新公布对WindowsPhone供应撑持的事件。
InfoQ:你好Shai,这个设法由来已久了。这真的是一个全平台通用的Java情况吗?Almog:Java不单单是一个假造机,它也是一个一致的仓库,一系列的工具集,实践上更是一个完全的Java生态圈。Java的意义在于它的剑拔弩张。即使是Android,也必要一套分歧的流程,一套分歧的工具集和一个针对分歧设置的的摹拟器。如许以来,我们反而得到了“一处编译,各处运转(WORA,WriteOnceRunAnywhere)”的上风。 InfoQ:关于分歧的情况必要分歧的修正吗?Almog:不完整是,Codenameone为分歧的平台供应一致的API撑持,并将它们间接集成到Java情况中,经由过程一个一致的情况来办理一切分歧的细节成绩。 InfoQ:是不是为每个平台都设置了响应的JVM?Almog:不,这取决于平台。关于Android,我们次要仍是利用Dalvik假造机。可是关于没有Java情况的iOS平台,我们就将classes文件翻译成ObjectiveC的代码,而且利用Boehm的渣滓接纳器。该接纳器能运转Java代码,但他并非真正意义上的Java假造机。在RIM和其他平台上,我们经由过程平台上现有的无限Java子集特征来举行编译。如许就能够取得跟Java一样的WORA体验了。 InfoQ:你们试图在每一个版本的公布中都对一切平台的一切特征都举行撑持吗?Almog:我们在全力,但因为底层设备的变更,一般情形下很难到达。SQL就是一个很好的例子,开辟者都想利用它,可是一些低真个设备其实不撑持。开辟者能够检察每一个特定情况下的撑持情形。我们的战略是供应一个只管通用的汇合,并尽量地完美它。 InfoQ:我必要一些实在的设备来举行开辟吗?Almog:实际上是不必要,可是你不克不及仅仅经由过程鼠标来体验使用程序;你必要实在的拿着你的手机而且感觉它来取得正确而实在的功能和利用感觉。我们就由于一些版本上的渺小变更而利用分歧的iPad。 InfoQ:关于这么多分歧的Android版本,它完成起来应当对照坚苦吧?Almog:实践上iPhone更坚苦。Apple在不休的变更,在4.2上运转的体例大概在4.3上就是别的一种完整分歧的做法。此时你会发明统统都运转不起来了。Android固然有良多的版本,可是他们一般很少会有损坏性的改动,以是,差别并非很年夜。 InfoQ:使用程序的利用者必要安装甚么特定的程序吗?Almog:不必要,统统均包括在使用中。这能够匡助我们坚持不乱性我们坚持的很不乱的缘故原由是由于我们不撑持一些挪动的假造机方针。分歧版本的设备差别化很年夜,可是我们只存眷各个版本之间的兼容性成绩,云云一来,开辟者们也不必要往存眷它了。 InfoQ:关于Java开辟者来讲,进修曲线是如何的?Almog:这实在相称的复杂。关于年夜部分的Swing开辟者来讲,跟基于XML的Android比起来,他更像是Swing的开辟体例。你可使用内置的调试器,这里没有APK文件,你也不必要守候摹拟器启动,我们的摹拟器在每次运转的时分就可以立即启动起来。 InfoQ:有些人说Swing有点凝滞,并没有原生Windows使用的那种用户体验。你们的平台有甚么好的做法来使他们看起来跟时髦一些吗?Almog:Swing的界面是很难定制的,因为它是和JDK的版本举行绑定的,以是不克不及在表面和体验上跟操纵体系坚持分歧。CodenameOne同意在组件模子上做深度的作风和主题定制,并且由于我们是SaaS和OpenSource的成员,我们能够欠亨过Sun/Oracle迟缓的晋级流程,而单独在使用程序的体验上坚持不休更新。如许就可以包管一个时髦的用户体验。 InfoQ:对3D图象的撑持怎样?Almog:很遗憾,关于这一点,我们今朝还不撑持游戏类的开辟。可是信任在将来大概有所变动。 InfoQ:那关于那些设备特定特征的撑持呢,好比I/O,GPS,摄像头,音频等等?Almog:我们都撑持这些基础的API,我们正在开辟手势操纵,而且如今有些已能够撑持了,可是假如你必要一些我们其实不撑持的特征,那末我们能够给你供应当地集成。你能够界说接口,然后我们的插件会为你的设备天生当地代码,如许你就能够挪用那些当地功效了。 InfoQ:产物是怎样免费的?Almog:基础版是收费的,并且我们会一向这么做下往。报答社区长短常主要的。每月我们会为除iOS之外的其他平台供应100次的构建服务。假如你是当地构建的话,你能够随便构建,可是我们的构建服务器限定你只能举行100次构建。iOS平台被我们限定成一个月只能举行5次构建,由于关于我们来讲,每次的构建价值都是相称高贵的。你还能够每月消费9美圆,以取得不限次数的构建。我们还为一些分外的特征供应了更多的订价计划,好比宕机回护。 InfoQ:你们的文档和撑持做的怎样?Almog:《开辟指南》是我们约请社区协助编写的一个100多页的Google文档。我们也保护了一份具体的JavaDoc而且消费了大批的工夫在保护GoogleGroup邮件列表。 InfoQ:看起来你们仿佛在做一件巨大的事变啊。那你们下一步有甚么盘算呢?Almog:即刻就会有良多好动静了。到玄月下旬的时分,对Windows设备的撑持将会开放。届时我们将增加使用内的付出功效,和针对客户端和摹拟器开放更初级的API,供应给开辟者更多的模版。并且我们方才发布了同Vserv的合股企图,如许开辟者在不改动任何代码的情形就可以增加告白进本人的程序。 跟着撑持多挪动平台的公司愈来愈多,CodenameOne能够匡助那些开辟更多新使用的公司进步市场占据率和利润。该SDK能够在其官网长进行下载。
检察英文原文:ExSunDevelopersBringWORAJavaSupporttoAndroid,iOS,andOtherMobilePlatforms
自己的整个学习思路完全被老师的讲课思路所牵制,这样几节课听下来,恐怕自己的见解都应该是书里的知识点了,根本谈不上自身发现问题,分析问题,和解决问题能力的切实提高。 |
|