最初的 Java 理想已经死了吗?
我觉得虽然我喜欢 J2ME 和 Java,但它们为 Java 提供两个 API 是虚伪的。 Java 的设计初衷是“一种代码,多种平台”,而现在它更像是“一个 API 适用于每个操作系统,一个 API 适用于比上网本更小的所有设备”。 我看到很多 J2ME 模拟器等被移植到 PSP 和其他自制软件控制台上,我想知道为什么没有人用普通的 Java 来做到这一点。
我很想编写一个在我的 PC 上玩的游戏,而不是启动一个简单的模拟器并在 PSP 或 Dreamcast 上玩相同的游戏,但我做不到。 J2ME甚至不能在PC上运行,你需要一个模拟器来运行它,这大大减少了你的市场。 另外,大多数模拟器都很笨重,而且性能不佳。
随着像 iPhone 这样的超级手机问世,人们想要的不仅仅是小型 J2ME 游戏,因此,如果 Java 不能将其标准 JRE 移植到其中,他们可能会发现自己错失良机,就像微软在上网本热潮中所做的那样。
只是感觉 Sun 需要努力使标准 JRE 更小、更便携,或者使 J2ME 在 PC 上更容易使用。
I feel that while I love J2ME and Java it's hypocritical of them to have two APIs for Java. Java was designed with "One code, many platforms" in mind, and now it's more like "One API for every OS, and one API for everything smaller than a netbook." I see a lot of J2ME emulators and such being ported to things like the PSP, and other consoles for homebrew, and I wonder why no one is doing this with normal Java.
I'd love to write a game to play on my PC, than fire up a simple emulator and play the same game on the PSP, or the Dreamcast, but I can't. J2ME can't even run on a PC, you need an emulator for it, which reduces your market greatly. Plus most emulators are bulky, and not good.
With super-phones like the IPhone coming out people are going to want more than little J2ME games, so if Java can't port their standard JRE to it they might find themselves missing the boat like Microsoft did with the netbook boom.
It just feels like Sun needs to ether work on making the standard JRE smaller and more portable, or making J2ME available on the PC easily.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(5)
我认为这应该是一个社区 Wiki
但就这一点而言,我的观点是 J2ME 将惨死,留给我们的是普通的 Java。 当前的上网本趋势与功能更强大的智能手机趋势相结合,意味着今天的普通手机比运行 J2SE 刚推出时运行的机器要强大得多。
因此,我们可以放弃为古老的诺基亚设计的 J2ME,并在智能门把手(或智能手机)上享受标准 Java。
Java 面临的唯一问题是,智能手机应用程序中最大的参与者 - Apple - 在可预见的未来任何时候都不会允许 JVM。
I think this should be a community Wiki
But to the point, my view is that J2ME is going to die a horrible death and leave us with normal Java. The current Netbook trend combined with the more powerful smartphone trend means that your average cellphone today is much stronger than the machines that ran J2SE when it first came out.
Hence, we can do away with J2ME, which was designed for ancient Nokias, and enjoy the standard Java on a smart doorknob (or a smartphone).
The only problem that Java faces is that the biggest player in smartphone applications - Apple - isn't going to allow a JVM anytime in the foreseeable future.
即使您的显示器内有加速计,您也可能不想将其用于 iPhone 应用程序 - 所以我想说毕竟便携性是有限的。
如果“编写一次,随处运行”具有误导性,那是因为它是在手机普及之前构思的。 就 API 而言,我同意公共子集会更好,但再次强调,整个 J2ME 利基市场是全新的。 JVM 仍然很有用:Web 浏览器可以在 Windows、Linux 和 OS X 上运行,游戏可以在诺基亚和三星手机上运行。
最初的 Java 理想已经死了吗?
它仍然满足工作站之间可移植代码的原始需求,所以不会。 但听起来您为未来的平台设定了更高的标准。
Even if your monitor had an accelerometer in it, you probably wouldn't want to use it for an iPhone app - so I'd say there are limits to portability after all.
If "write once, run anywhere" is misleading, that's because it was conceived before cell phones became prevalent. As far as the API goes, I agree a common subset would be preferable, but once again, the entire J2ME niche is completely new. The JVM is still useful: a web browser can run on Windows, Linux, and OS X, and a game can run on both Nokia and Samsung phones.
Is the original Java ideal dead?
It still meets the original demands of portable code from workstation to workstation, so no. But it sounds like you've set an even higher bar for future platforms.
虚拟机可能会选择抽象掉很多东西。
操作系统通过向某些通用硬件提供标准接口(块 I/O、字符 I/O 等)来抽象化它们。
JVM 开始抽象出处理器和操作系统本身,这本身就是一个伟大的目标(当时)! 然而,抽象外围硬件过去是、将来仍然是一个难以实现的目标。
也许,当我们看到手持设备/笔记本电脑/台式机/服务器更加融合时,抽象硬件的需求将会减少。
There are many things that a Virtual Machine might chose to abstract away.
The OS abstracts away some of the common hardware, by providing standard interfaces to them (block i/o, character i/o, etc).
The JVM set out to abstract out the processor and the OS itself, a mighty goal by itself (at that time)! However, abstracting the peripheral hardware was, and will remain, a difficult goal to achieve.
Perhaps, when we see more convergence of hand-helds/laptops/desktops/servers, the need to abstract out the hardware will diminish.
随着 Windows Mobile 和 Symbian 等新的移动平台占据了市场份额,j2me 等由于不利用硬件等问题而退居次席。
With newer platforms for mobile like Windows Mobile and Symbian which have captured the market share j2me etc have taken a backseat due to issue like not taking advantage of hardware etc..
J2ME 很棒。 您可以使用简洁的 http://www.microemu.org/ 来打包和运行 J2ME 应用程序。 由于我一直在为 J2ME 编写代码,所以我是一名更好的程序员。 它迫使你提高记忆效率。 我喜欢小而干净的 API。将来我所有的客户端应用程序都将针对 J2ME 设计,然后移植到 J2SE/Android/IPhone。 困难的是构建足够灵活的内部 GUI 框架,使应用程序能够在任何屏幕尺寸上顺利运行。 这需要时间。
J2ME is great. You can package and run J2ME applications with the lean and clean http://www.microemu.org/. Since I have been writing code for J2ME, I'm a better programmer. It forces you to be efficient on memory. I love the small clean API.In the future all my client application will be designed for J2ME and then ported to J2SE/Android/IPhone. The difficult thing is to build your in-house GUI framework flexible enough for the application to run smoothly on any screen size. That takes time.