4

几年前,客户端 Java 不适合 Web 开发,因为很大一部分 Web 用户没有安装 Java。(我不记得确切的数字,超过 10%)。

现在我看到了一个大型网站的 Google Analytics 统计数据,它表明 >98% 的用户安装了 Java。

这些统计数据是否受到 Javascript 使用的严重影响?据我了解,谷歌分析只衡量拥有 Javascript 的用户。

其他大网站上的图片是否相似?

与 Flash 相比,客户端 Java 真的有“阻碍”的缺点吗?

编辑:我的意思主要是 java applet,java WebStart 似乎不适合普通用户。
我提到 Javascript 只是为了描述 Google Analytics 的工作方式。

4

6 回答 6

2

当我写我的文凭项目时,我不得不在 Flash 和 Java Applets 之间做出选择。以下是一些优点和缺点:

Java 小程序:

  • [加] 你用Java编程,成熟稳定
  • [plus] 你可以使用包含很多功能的 Java GUI 框架
  • [减号] 用户第一次使用小程序点击页面时,必须初始化 JVM,即使在速度很快的计算机上也可能需要几分钟
  • [减号] Applet 不打算用作动画媒体;当然,你可以做一些事情,但这就像用 C 语言编程 - 你从头开始做所有事情

示例:我需要显示一个数据包,因为它在两个路由器之间移动。数据包必须是某种控件,例如按钮或某种东西。此动画可以在 Flash 中的 1 行代码中定义,其中所有对象都派生自一些可以设置动画的基础对象。我在 Java 中找不到合适的解决方案。

闪光:

  • [plus] 真的很专注于动画;
  • [加] ActionScript 实际上是一种 OO 语言
  • [减号] ActionScript 邋遢、漏洞百出,支持者寥寥无几。如果您遇到困难,请准备好在晦涩难懂的日本论坛中搜索解决方案
  • [减号] ActionSCript 可能是面向对象的,但它缺少很多功能,例如枚举、完全成熟的接口、线程 (!!!!) 等。
  • [减号] Flash 旨在供非技术人员使用 - 他们只使用创作工具;我为所有东西编写了代码并且它有效,但这很痛苦。

我的结论:

我急切地等待动画和富客户端界面的编程范例。

ps:Silverlight 到目前为止似乎令人失望,也许微软会向它注入一些美元。

于 2008-11-15T11:20:45.737 回答
1

嗯,Java 似乎比我更受支持,我搜索了一些统计数据,发现 92% 到 96% 的浏览器支持 Java(即它已启用足以检测到它!虽然我猜很多 Java 检测算法使用 JavaScript 来检测&报告-正如您所指出的-但是无论如何,对JS的支持也非常好,在我们的Web 2.0时代甚至更多)。
Adobe 拥有更好的支持,但总体而言差异很小。无论如何,真正想查看/使用该应用程序的人将激活/升级/下载所需的引擎。

现在,我们必须看看支持哪些 JRE!唉,我没有找到任何统计数据。
在那里,Adobe 有优势:不是每个人都有 Flash 9 或 10,但升级速度非常快。虽然下载和安装新的 JRE 是一项相当艰巨的任务……当然,您可以针对历史上最低的公分母 Java 1.1,或者更实际的 Java 2(1.4),但不能全部使用仍然令人沮丧1.6 特点...

我见过一些人抱怨 Java 小程序会导致他们的浏览器崩溃(显然是在 Unix 系统上),但对于少数浏览器/系统来说,这比其他任何问题都多。

正如所指出的,Java 小程序的启动时间比 Flash 长得多(尽管一些大型 Flash 游戏加载速度也很慢)。
现在,我已经看到了一些处理小程序,比如臭名昭著的网页图形,它们中的大多数加载速度很快:很多功能已经在用户的硬盘上,在广泛的 Java 库中。处理会生成相当轻量级的 jar,而许多 Flash 小程序必须包含外部库……或者重新发明轮子!

于 2008-11-15T22:00:55.773 回答
1

关于 ActionScript 的评论,以前的一些帖子已过时。动作脚本 3。在 Flex 2 时间范围内可用,即 2007 年 1 月 Flex 2.0 和 Flash player 9 发布时。

AS3 是一种成熟的 OOP 编程语言,可与 Java 相媲美。它有类和接口、继承、类成员的访问保护关键字、构造函数、静态,还有一些 Java 没有的好东西:属性、事件、声明性数据绑定和闭包。

默认情况下,AS3 是静态编译的,因此需要声明成员和变量的类型。这可以放宽到 AS3 可以恢复为动态类型 ala JavaScript 的地方。但是,它在运行时效率较低。有时在处理动态数据时,选择性地使用动态类仍然很有用。(静态类型检查语言的一个好处是 Flex Builder IDE 中的代码完成。)

大部分 Flex 开发都是使用 MXML 完成的。这是用于 Flex 的声明性基于 XML 的 DSL。不过,MXML 会被编译成 ActionScript3 代码。因此,您在 MXML 中所做的工作等同于 AS3 命令式编码,但相对于它所代表的底层图形 Flex 形式,通常可以更简洁、更清晰、结构更恰当(即,MXML 有利于对 MVC 模式的视图进行编码) )。

最重要的是,Flex 的 ActionScript3 编程对于 Java 或 C# 程序员来说学习起来很容易和自然。语言根本不是问题。Flex 的强大之处在于与 Flex SDK 以及其中的无数功能密切相关。

于 2008-12-25T02:15:25.053 回答
0

不是一个确切的答案,因为它会非常自以为是,只是分享我的经验......

在最近的一个项目中,我们正在构建一个符合 WAI 的站点,我们被要求避免使用 flash 对象,因为可访问性是一个主要问题。对于大多数 Web 开发人员来说,不同的小程序并不适合;)。原因之一可能是 Rich UI 与 Web UI 的范式不同。

然而,当需要客户端监控时,我们发现小程序是不可替代的(不是针对 .NET 和 ActiveX 控件)。该应用程序使用基于智能卡的身份验证,并将小程序加载到浏览器中以侦听客户端事件(卡移除)并提醒服务器结束会话。

在这种情况下,我倾向于认为 Flash 是一种吸引眼球的东西(视图),因为小程序虽然设计为多功能,但在客户端扮演着模型的角色。需要注意的是,小程序和闪存都消耗客户端机器上的 CPU 周期,因此传统上适用于涉及冗长计算的任务。计算器、报告生成器、趋势插图画家、占星图生成器(是)和其他可以由用户提供数据并立即显示结果的任务利用这些。

一个主要问题是缺少客户端软件(Java、flash 插件)。在这种情况下,用户体验非常烦人。

于 2008-11-15T11:52:43.677 回答
0

注意到一些关于 java 不更新自身的评论。现在 1.6.0_10 已经发布,它比以前更容易和自动化地更新自身,您可以选择一种新的安装方法,即 java 内核安装方法。这会在您需要时自动安装 java 组件。

关于此的一些文字:http: //java.sun.com/javase/6/6u10faq.jsp

所以有一些变化,我认为 Sun 刚醒来就看到了新的 CEO。我知道这个新系统传播需要 1 到 2 年,但你可以开始你的项目并在它准备好时享受乐趣。:) 谁知道。

无论如何,也许你为简单的动画功能工作 +500% 比 Flash,但如果你的应用程序不是一个简单的动画,那么你用 Flash 工作 +500% 来进行一些简单的 3 行 java 代码替换 :) 取决于你的应用程序。

于 2008-11-15T22:48:54.833 回答
0

我在 Java 中工作了 7 年,然后我最近在我的最新项目(1.5 年及以后)中开始使用 AS3。我喜欢 AS3 和 Flash,原因如下:

  • 该语言本身与 Java 非常相似。Adobe 的文档与 JavaDocs 一样好或更好。
  • AS3 语言支持将 XML 作为本机类型。在 Java 中解析 XML 是一场噩梦。
  • Flash 有很好的动画和图形框架,例如 papervision 3D 和 tweener。
  • 如果您使用 Flex 3 框架和 Flex Builder 3,构建看起来与 Swing 一样好或更好的界面是微不足道的。我喜欢在 Swing 中编写 UI,但是在可视化 Flex Designer 中设计 UI 就像呼吸新鲜空气一样。
  • 我很确定有更多的浏览器支持 Flash。
  • 你见过加载 Flash 小程序吗?它的可用性真的很差,并且让您的用户在小程序启动之前单击两三个对话框。Flash 应用程序可以正常工作。

祝你的项目好运!

于 2009-01-07T02:23:40.913 回答