`
solonote
  • 浏览: 89972 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

Swing/JavaFX 的应用领域

阅读更多

之前写了一篇文章,谈了谈自己对Java的编程领域的看法.

这篇文章想专门说说Java桌面编程的应用领域.欢迎大家讨论

 

Java是一门适合于企业级应用的语言,它并不适合做个人桌面应用开发,如果你要开发一个游戏/音乐播发器/下载工具/浏览器..等等桌面应用.你最好不要选择Java,因为这样做你可能会遇到两种情况.

1.完全做不出来

2.做出来没人用

 

Java Swing适合 开发企业级应用的桌面程序.

 

企业级应用是一个工作环境,用户不会关心程序是如何安装的,不用关心是否占用了我过多的内存这些问题.只要在目标机器上能够稳定运行就可以.企业级应用的程序桌面不需要像游戏一样复杂的图像效果.

 

由于这样的假设条件,Java Swing做富客户端应用有以下好处:

a.Java程序员不用关心内存的释放问题,大大减少编程的复杂程度.

b.Java的跨平台性.

c.Java丰富的企业级应用支持.

...Java本身的其他优势

哇,看起来Java真是太美好了,但这是在用户接受了假设条件的前提下才可以获得的好处.

 

Java Swing还可以 做工具类软件

 

这些工具大多也是工作上使用的,比如IDE/一些分析工具.

如果使用Java做工具,那么我们需要安装JDK,即使软件自带了JRE,它也会比同类的软件体积要大,并且会占用更多的内存.

这些需要付出的代价对于一个非Java程序员来说,必然是会考虑的要素.

当然,工具类软件,我们更关心的是它的功能,即使部署成本和计算机资源占用高一些,只要功能完善我们还是会去选择.

在用Java做工具类软件时,比较重要的一点是Java的跨平台特性.

 

Java Swing不适合 做个人用户的桌面应用程序 也不适合做游戏

 

个人桌面应用与企业应用相比有很多不同:

 

a.个人桌面应用对于软件体积是十分关注的,这一点并不是因为我们的硬盘不够大,而是因为小的软件更容易被下载.一个1mb的软件和一个15mb的软件是对于个人用户来说是有明显区别的.有一个翻译软件叫灵格斯,其中一个非常重要的特性就是小.

Java的Jre6是15.5MB.如果是一个400mb的软件,或许这15mb并不多,但对于一个1-2mb的软件来说,这15mb就很多了.

 

b.安装的复杂程度,个人用户并不是专家,安装的复杂度,时间长短对于一个软件来说都非常重要.一个安装20秒的软件比一个需要安装1分钟的软件有更强的竞争力.

 

c.软件的执行速度和计算机资源的占用率,这一点在计算机不断增强的硬件性能上看来,被弱化了一些,但是在个人桌面应用中,往往会打开很多个其他应用,更少的计算机资源占用会使产品获得更强的竞争力.Java产品总是要占用大概80mb的内存.

 

d.Java对于复杂的高性能的图像编程来说,支持比C++少很多

有一些Java的图形游戏Demo,这些产品看起来更像是在表达一种"我也能"\"我也可以做游戏"这样的声音.而往往看到这些Demo的初学者就会产生错觉.如果你了解了osg,你或许就会觉得Java图形编程与c++的差距.

 

关于JavaFX

 

JavaFX前途未卜,Oracle以后是否会继续推行这是不可能从任何人发表的任何言论里得出结果的.

但就目前来看,JavaFX还存在很多问题,它支持的IDE很少,几乎只有NetBeans.

它的Eclipse插件就有很多bug.当然这里NetBeans的用户和text的用户不用来拍砖.

我想说的只是一个事实JavaFX如果连Eclipse插件都不能提供,那它必然会失去很多用户,而且Eclipse插件的issue已经提出了很长时间,却没有人在修正.

从对JavaFX当前的投入来看,JavaFX的前景明显要比Adobe的Flex和MS的silverlight要更加另人担心.MS的 Silverlight有一个很好的Eclipse插件.

 

关于Flex/JavaFX/Silverlight

我觉得RIA最大的问题还是安全性,因为安全性的要求比较高,所以它们还是比桌面应用多了很多限制,比如cross domain access.这一点对于P2P或者调用第三方组件来说就是很致命的弱点.不过这不是很多RIA应用都需要的特性.如果你的应用需要这样的特性,你就不能选择RIA.

 

分享到:
评论

相关推荐

    在swing界面中嵌入javaFX运行的视频

    在Java编程领域,Swing和JavaFX都是用于创建桌面应用程序的UI框架。Swing是Java AWT库的扩展,而JavaFX则是一个更现代、功能更丰富的图形用户界面(GUI)工具包,提供了丰富的动画效果和3D支持。这篇名为“在Swing...

    JavaFX Script 语言教程(面向Swing 程序员).rar

    - 应用程序打包和部署:了解如何将JavaFX应用程序打包成可执行文件或Web应用程序。 总的来说,JavaFX Script 是Java领域中一个强大的工具,特别是对于希望提升桌面应用程序体验的Swing开发者而言。这个教程将帮助...

    springboot_javaFX.zip

    在当今的软件开发领域,SpringBoot 和 JavaFX 的结合为构建现代化的桌面应用程序提供了一种强大的解决方案。本项目 "springboot_javaFX.zip" 是一个整合了 SpringBoot、JavaFX、Maven 和 MyBatis 的综合实例,它涵盖...

    Projetos-Java:Java版Java,Swing e JavaFX

    【标题】"Projetos-Java:Java版Java,Swing e JavaFX" 提供了三个关键编程领域的信息,即基础的Java编程、Swing GUI工具包和JavaFX图形用户界面框架。这些是Java开发中非常重要的部分,尤其是对于创建桌面应用程序而...

    javaweb

    JavaWeb是Java技术在Web应用开发中的一个关键领域,它涵盖了服务器端编程、网页交互以及客户端展示等多个层面。在这个主题中,"操作系统桌面处理的相关javaweb工具 3部分"可能指的是利用JavaWeb技术实现对桌面环境的...

    JavaFX手机编程

    随着移动设备的普及,JavaFX也着眼于移动应用开发领域。虽然文档中的部分内容并未详细说明JavaFX Mobile的具体功能和特性,但我们可以推测JavaFX Mobile可能会具备以下特点: - **跨平台支持**:JavaFX Mobile应该...

    javafx_script学习资料,非常稀缺的资源,我费了好大劲才找到

    JavaFX Script的目标是简化JavaFX应用程序的开发,提供一种与Swing和AWT不同的、更高级别的编程模型。它采用声明式语法,允许开发者专注于描述界面的外观和行为,而不是具体的实现细节。这种语言特性使得开发者能够...

    Pro JavaFX 9

    《Pro JavaFX 9》是JavaFX技术领域的权威指南,专为希望深入理解和掌握JavaFX平台的开发者设计。这本书详细介绍了JavaFX的各种特性和功能,帮助读者构建丰富的、交互式的桌面和Web应用程序。 JavaFX是一种用于创建...

    JavaFX官方文档

    JavaFX是一种用于创建丰富的互联网客户端应用的编程语言,尤其适合设计网页、Java Web Start软件以及传统的桌面应用程序。它由Sun公司开发,具有独特的特性和优势,使得开发者能更高效地构建图形用户界面(GUI)。 ...

    JavaFX 1.3.1 API

    JavaFX 1.3.1 API是该平台的一个早期版本,它包含了一系列用于开发JavaFX应用的类库和接口。在本文中,我们将深入探讨JavaFX 1.3.1 API的核心概念、关键组件以及如何与Java Swing、NetBeans等其他技术进行集成。 1....

    Pro JavaFX 8.pdf

    - 创建第一个JavaFX应用程序的步骤。 - 基础组件与布局管理器的介绍。 #### 第2章:Creating a User Interface in JavaFX - **目标读者**:希望掌握如何构建用户界面的开发者。 - **内容概览**: - 使用JavaFX ...

    java Swing深入

    在Java图形用户界面开发领域,Swing作为一套成熟且广泛使用的组件库,为开发者提供了丰富的功能和灵活的设计选择。Swing是基于AWT(Abstract Window Toolkit)构建的,但相较于AWT,Swing提供了更多现代化的组件和更...

    Java编程-中级界面篇

    Java提供了丰富的库和工具来创建美观且功能强大的用户界面,其中最常用的就是Java Swing和JavaFX。下面将详细介绍这两个库以及相关的知识点。 Java Swing是Java Foundation Classes (JFC)的一部分,它为开发者提供...

    swing autotest tools

    - **Jemmy**:Oracle的Java GUI测试框架,专门设计用于测试Swing和JavaFX应用。 - **FEST (Functional Java Testing)**:FEST提供了一套方便的API来简化Swing应用的测试,包括对GUI组件的访问和操作。 - **TestFX*...

    基于Java、JavaFX开发的下载工具.zip

    6. **Swing集成**:如果需要,JavaFX可以与传统的Java Swing组件无缝集成,利用已有的Swing资源。 7. **动态语言支持**:JavaFX 8引入了JRuby和Groovy等动态语言的集成,使开发更灵活多样。 下载工具可能包含以下...

    java+swing漂亮软件界面+超酷+以及javaswing教程.7z

    Java Swing 是Java平台上用于构建图形用户界面(GUI)的一个库,它是Java Foundation Classes (JFC)的一部分。...对于那些希望在Java桌面应用领域有所建树的人来说,这是一份非常有价值的学习材料。

    JavaFX在线音乐播放器,JavaFX online MusicPlayer,Graduation Project.

    8. **Graduation Project**: 毕业设计通常要求学生展示对课程内容的深入理解和综合应用,因此,这个项目可能涵盖了面向对象编程、网络编程、多媒体处理、GUI设计等多个Java编程领域的知识点。 9. **Gradle构建工具*...

    JavaFX in action ch1

    ### JavaFX:面向未来的图形编程 #### 引言 随着技术的发展,图形用户界面(GUI)的设计变得越来越重要。在过去的几十年里,多种语言...随着 JavaFX 不断发展和完善,我们可以期待它在未来图形编程领域的更广泛应用。

    javafx入门

    另外,开发JavaFX应用程序推荐使用集成开发环境(IDE),如最新的Eclipse IDE,这样可以更有效地编写和管理JavaFX代码。 JavaFX入门阶段,重点在于了解如何创建简单的应用程序。这些基础的应用程序通常会介绍布局、...

    包含javafx17 所有jar包

    - `javafx.web.jar`:提供了Web浏览器组件,允许在JavaFX应用中嵌入网页内容。 - `javafx.media.jar`:媒体模块,支持音频和视频的播放和处理。 - `javafx.fxml.jar`:FXML(JavaFX Markup Language)用于声明...

Global site tag (gtag.js) - Google Analytics