我们即将构建一个Blackberry应用程序,但是想知道是否使用J2ME(基于MIDlet)或Blackberry原生(UIApplication)实现.
我理解一些权衡.如果我们想将应用程序移植到其他设备,J2ME将更加灵活.RIM对Blackberry原生有更好的支持.
我仍然缺乏信息的地方是在UI方面.我们希望构建一个具有出色用户体验的应用程序,以及一个看起来像BB用户习惯的其他应用程序的应用程序.如果我们走J2ME路线,我们可以这样做吗?
对这个问题有点主观和技术性质的道歉.
我已经尝试过两种方式 - 构建一个纯粹的MIDP应用程序,在BlackBerry和非BLackBerry平台上运行,并构建一个单独的BlackBerry应用程序(通常使用与MIDP应用程序相同的业务逻辑和网络代码).绝对是黑莓原生路线.
这都是关于BB UI类的.它们将使您能够(除其他外)响应不同类型的菜单事件(轨迹球和菜单键),响应BB特定的键码,如果您对Storm感兴趣,可以利用方向传感器和触摸支持.此外,它们是一组更丰富的UI元素.你可以在纯MIDP中构建很多(但不是全部)它们所做的事情,但最终会为每个平台定制大量的内容,最终你不会保存任何东西.从BB UI开始,自定义可节省大量时间和精力.
即使在游戏应用程序或自定义绘制所有组件的应用程序中,您也可以更好地访问BlackBerry图形API,并在BlackBerry本机应用程序路径上获得更好的性能.而且你仍然有更好的输入事件细节.
最后,您可以使用BlackBerry本机应用程序执行一些不错的生命周期事务,例如推送到后台,或者在系统启动时自动运行,而MIDlet无法执行这些操作,这可能会对您的应用程序感兴趣.
还要考虑市场 - 如果你计划立即支持黑莓手机,然后可能会推出其他MIDP平台,那么在你的初始平台上执行最好的计划通常是一个更好的计划.如果您没先在BlackBerry上取得成功,那么稍后可能没有太多理由移植到MIDP.
黑莓是一个非常难以编程的平台.我走了原生路线,发现它的记录非常糟糕,整体而言只是一个可怜的设计.我确实认为这是必要的,因为如果你走J2ME路线,你将失去某些功能(滚轮?)的能力.这是一个权衡,您必须选择更适合您特定需求的那个.