我刚刚发现了J2ME,我喜欢它呈现的可能性。我目前正在开发一个简单的应用程序,我希望将来可能会将它作为一个开源项目发布。
作为我对J2ME和移动设备的研究的一部分,我研究了applet签名。似乎那些想要免费创建applet的人被夹在摇滚和可怕的地方之间。 Applet签名非常昂贵且极其复杂 - 在免费编码时费用不合理。
有大量的J2ME兼容设备 - 我认为不得不忽略它们并且耐心等待下一波(例如Android)是一种耻辱。
我想知道其他人是否有任何关于如何解决这个问题的想法?
更新:我发现此博客文章总结了那些感兴趣的人的问题...... http://javablog.co.uk/2007/08/09/how-midlet-signing-is-killing-j2me/
我考虑为想要获得VeriSign证书的开源J2ME开发人员建立一个非营利组织(因为证书可以无限次地签署代码)。我的目标是筹集500美元,然后让小组成员分享购买的证书。与VeriSign代表快速聊天,他们认为这个想法可行(只要该组织注册为法人实体)。
然而,由于手机制造商现在似乎正在转向支持仅 UTI根证书(您只能通过“Java验证”程序) - 这可能没那么有用正如我想的那样......如果有人有任何想法,那么听听他们会很棒。
答案 0 :(得分:3)
我担心你正在打一场你无法获胜的战斗。使用受限制的API变得越来越难,这不是偶然的。正如您在博客文章中看到的那样,您提到的最大问题是网络运营商。即使您从Verisign或Thawte购买证书(这样便宜),您的应用程序也不会在网络运营商品牌手机中运行,因为它们有自己的CA规则。
首先,开发人员可以安装他/她自己的证书,但即使这样也不可能。这种严格的规则是由手机制造商(例如诺基亚)强制规定的,适用于所有手机(甚至没有品牌手机)。我认为这也不是偶然的,主要是因为网络运营商向设备制造商施压。
最后,尽管MIDP 3.0已经宣布多年,但实际上并没有真正发布。似乎即使Sun认为J2ME仅适用于游戏。
所有这些都已经在J2ME论坛中广泛讨论了很长时间。普遍的共识是,网络运营商不希望市场上的每部手机都可以作为智能手机运行,并且能够运行第三方应用程序。然后,每个人都可以很容易地使用更便宜,基于Web的替代方案而不是SMS消息传递作为示例。如果你是J2ME领域的新手,这可能听起来像一个阴谋论,但请记住,网络运营商销售的手机有自己的固件,甚至可以锁定基本功能(例如通过蓝牙传输照片或使用MP3作为铃声)来强制所有者使用付费服务!
我不知道智能手机(iPhone,Android,Windows Mobile)的势头是否会有所改变。请记住,限制也适用于这些平台(特别是Symbian,这对开源也非常不友好)。
答案 1 :(得分:1)
答案 2 :(得分:1)
我是J2ME应用程序开发人员,我完全赞同你的帖子。签署MIDlet的成本对于开源计划而言是无法承受的,除非您正在开发简单的游戏,否则您很快或稍后将使用受限制的API来访问套接字或位置API,只是为了命名其中两个。这是非常令人沮丧的,如果你认为权限政策并不总是在各种设备上相同,事情就会变得更糟:在某些手机上,你可以告诉操作系统信任entyre MIDlet并且从不打扰你,其他继续每次要求限制方法时都要求您许可。这很悲惨! 我重新感谢您的建议,我认为这对JavaME开发人员来说是一项了不起的成就。