代码之家  ›  专栏  ›  技术社区  ›  ForYourOwnGood

你对JavaFX有什么感觉?

  •  10
  • ForYourOwnGood  · 技术社区  · 17 年前

    我目前在ActionScript3.0中做了很多工作,我也喜欢用Java编程。JavaFX对我来说完美吗?JavaFX的普遍感觉是什么,它会成为一个发电站,还是会走上与javaapplet相同的道路?与我一起工作的设计人员是否能够像熟悉ActionScript和JavaScript一样熟悉JavaFX?

    10 回复  |  直到 17 年前
        1
  •  10
  •   David Koelle    16 年前

    只是想加上我的0.02美元。。。在过去的4天里,我一直在JavaFX中工作,这是我第一个使用它的小项目。作为一个背景,我从C开始已经专业编程9年了,在过去的6年里我一直在做Java和C#/.NET。

    在IMO,JavaFX应该更令人沮丧。以下是一些抱怨:

    1. 语法有时很奇怪。它很容易变得更像Java,因为 外汇。但是语法并不是一个简单的Java转换。

    2. 秩序

    3. 随机的事情是行不通的。Swing控件上的操作/事件并不总是有效,例如SwingSliderBar的onKeyPressed/released似乎没有被调用。

    4. 错误处理只是 坏的 . 如果发生了一个未处理的异常,除了Java控制台之外,没有其他真正的方法可以告诉您,UI元素开始做出有趣的反应。例如,创建一个SwingText框并将其值绑定到变量。现在尝试编辑文本框中的值将引发异常,因为您无法编辑绑定变量。然而在UI中,文本框只是开始发生有趣的事情。有些字符只有1/2的油漆,有时退格什么也不做,有时它删除一个字符,有时你可以按两个键在eh键盘上,如“1”和“2”,文本框将结束有“21”输入,而不是“12”等。。。

    上网本 可怕的 ,对于Sun这样的公司来说是不可接受的。

    总的来说,我给JFX的分数是4/10。我 希望 喜欢它,但JFX 1.1只是没有削减它。。。这绝对不是我认为的“生产就绪”。

        2
  •  3
  •   joeforker    17 年前

    响亮的“喵”。

    一年前我看到它时,他们有一个单向的SVG到JavaFx转换工具。很好,所以你可以创作一次你的视觉内容,用很多行为来标记它,然后下次你想让它看起来很好,然后呢?

    this tutorial 你能明白我的意思。我们是通过将形状从调色板拖到源代码中来绘制的。天哪。我不会把它展示给我的图形部门。

        3
  •  3
  •   Joe Erickson    17 年前

    我离开了上一份工作,从Java转到了.NET开发。

    做出这一举动有很多原因,但最大的一个原因是我厌倦了用Java&Swing构建一流的UI软件。已经六年了,我很高兴我能继续前进。我认为没有理由相信Sun最终理解了JavaFX的UI开发。

    我确信微软终于在给我们提供一个平台,让我们在浏览器中构建丰富的交互式应用程序。我说,在构建了13年前作为Netscape插件提供的商用软件,随后是ActiveX控件和Java小程序之后,看到所有这些平台由于某种原因都无法在企业中普及。

    我意识到Silverlight 2仍然缺乏深度和成熟度,但微软在这一点上已经向我展示了足够的承诺,我相信它将在短短几年内成为主要的RIA平台——至少对于需要“真正”编程语言的项目来说是这样。我确信Flash等人。不会很快消失,但Flash不适合我公司开发的软件。

    对我来说,锦上添花的是,我仍然能够使用Visual Studio、C和大部分当前代码(核心引擎完全独立于UI)。当然,如果你来自ActionScript,这对你没有帮助。

    更重要的一点是Silverlight和WPF有很多共同点。我们的计划是在Silverlight和WPF版本的软件之间共享大量实现。WPF成为Windows应用程序的标准只是时间问题,我不知道这是几年还是十年,但随着时间的推移显然会发生。能够将最流行的浏览器/OSs与Silverlight和Windows放在同一个代码库中是IMO的一个巨大优势。

    如果你知道Java,那么迁移到C是小菜一碟。除非您使用的是一个不错的(不是免费的)javaide,否则即使是免费版本的Visual Studio也会比以前有所改进。障碍在于学习使用XAML的新方法,但它是一些非常酷的东西,因此您可能会真正喜欢它。

        4
  •  2
  •   Randolpho    17 年前

    尽管它在功能上看起来相当强大,但由于它的结构和实现,我对JavaFX有点不太了解。这似乎是一个真正的半心半意的尝试进入闪光灯/银光市场。太照本宣科了。

    我会主张采用Silverlight2路线,但我主要是一个C开发人员,所以我在这方面有点偏见。如果您出于任何原因不喜欢这种方式,但仍然希望为您的用户提供更丰富的用户体验,我建议使用Flex;在我看来,它比JavaFX更有条理。

    就我的两分钱。

        5
  •  2
  •   Mark Wilcox    17 年前

    如果你了解Java,但是想做你认为只有在Flash中才可行的事情——那么是的,JavaFX对你会有好处。

    毫无疑问,将Java知识与设计结合起来会更容易。

    我相信工具只会变得更好,这会使它更易于使用。

        6
  •  2
  •   Jared    17 年前

    除非你正在开发一个内部应用程序,否则我会远离它。用户通常不想处理另一个程序来完成与Flash相同的任务。我认为它的安装基数还不够大,不足以方便终端用户。

        7
  •  2
  •   Chepech    16 年前

    这是对Flash的一次攻击(没有广泛的移动支持)。

    老实说,JavaFX给我留下了深刻的印象(非常糟糕)。

    • 这个脚本非常糟糕;它是JSON和R之间奇怪的混合,有一种似曾相识的Java deja感觉。
    • 我花了三天时间画多边形,用代码做梯度。。。世界跆拳道联盟!!
    • 我试图说服我的图形部门去尝试它,他们根本不了解生产套件应该如何工作,他们一直抱怨Flex蒙皮很容易,最后看起来更好(这是绝对正确的)。
    • 一般来说,为RIA前端提供选择的尝试是平庸的。

    我只能想几件好事:

    • 它可以在IPhone/IPad和几乎所有的移动设备上运行。
    • 您可以访问所需的所有Java代码,考虑到ActionScript的局限性(没有重载、没有私有构造函数等),这非常好。这对我们程序员来说是件好事,但让我们记住这是一种前端/演示技术。。。这意味着用户将不得不真正看到这个东西,所以如果它看起来不好,有很酷的动画/效果,他们不会挖它。
    • 这个脚本比MXML文件要简单得多(代价是无法理解)。
    • 它有一个很酷的特性,你可以把applet拖到Web浏览器之外。

    最后,我很高兴我可以选择使用移动设备,但这是Flex/Flash在RIA应用方面的成熟之路。Flex/Flash作为一种广泛分布的网络技术的未来还不明朗(它可能最终只被用于烦人的横幅和在线游戏),没有人愿意像Flash播放器那样依赖于一种紧密的技术,这就是为什么整个网络社区都在努力让Flash从画面中消失(HTML5视频支持,没有苹果设备的Flash播放器等)。因此,尝试一个开放的版本总是受到欢迎的,只是JavaFX感觉像一个不完整的匆忙的beta版本,Sun觉得有义务在一个糟糕的宿醉中在周末推出这个版本。

    我希望这对某些人有用(并且对Sun/Oracle=p的人来说是冒犯)。

        8
  •  0
  •   Steve    17 年前

    我整个周末都在玩。我看没有什么有用的。这是swing/awt的迭代。我想这对移动设备来说是件好事,但除此之外,它毫无用处。

    理想情况下,我想使用flash,但发现与任何类型的后端集成都很痛苦。

        9
  •  0
  •   helpermethod    16 年前

    好吧,ActionScript和JavaFX的语法似乎有很多相似之处,所以也许“是”。

    我现在正在学习JavaFX脚本,实际上我很喜欢它。但我不喜欢的是,这可能是最大的缺点,它是糟糕的文档,往往不是最新的或不完整的。

        10
  •  0
  •   Praeus    15 年前

    我已经开发JavaFX应用程序几个月了。就我个人而言,我喜欢这门语言。在我看来,他们在选择语法和语言结构时做出了一些非常明智的决定(如果你愿意,我可以给你一个列表)。我已经用它编程几个月了,它看起来是一种非常高效甚至令人愉快的语言。

    我认为它现在最好的用途是用于桌面应用程序和/或通过webstart部署的应用程序。在桌面上,它有一组丰富的特性,仍然可以利用Swing和Java的其他特性。据我所知,applet在某些系统上的速度仍然很慢,如果没有Android的支持,移动功能就不是什么特性了。在我看来,applet/mobile/TV/web支持对于桌面开发人员来说更像是一种奖励,然后是一些关键功能,可以让您使用这项技术。

    所以这完全取决于你打算用它做什么。如果您正在构建桌面应用程序,希望在Java VM上运行这些应用程序,它们可以利用简单的多媒体和丰富的ui控件,那么我认为有充分的理由来研究这种语言。WebStart有了很大的改进,成为了一个很好的部署工具。如果您希望构建web应用程序,那么它可能会很有趣,但目前我认为HTML5/ajax更为相关(在本例中,您可能希望查看ZK)。然而,即使使用HTML5 ajax也有其局限性,如果您发现自己遇到了这些限制,JavaFX可能会为您提供选项。对于移动平台来说,在有稳定的Android支持之前,这是不相关的——在这种情况下,我现在只需要坚持Android平台本身。

    推荐文章