有用java在deepin做桌面端开发的吗?你们桌面端开发用什么语...
Tofloor
poster avatar
Ligocut光剪视频剪辑软件
deepin
Backbone of ecological co-construction group
2017-09-18 07:40
Author
有用java在deepin做桌面端开发的吗?你们桌面端开发用什么语言或者工具软件?
Reply Favorite View the author
All Replies
2 / 3
To page
avatar
duanyao
deepin
2017-09-23 22:21
#21
https://bbs.deepin.org/post/145687
javaFX现在已经交给社区维护了,社区维护版本是OpenJFX。包括现在的java se的主版本也是基于openjdk一样 ...

好吧,“全靠 oracle 一家维持”不准确,但缺了 oracle 肯定是不行的,很多的“社区”,其实都是有个绝对核心的。之前 Mozilla 放弃 Firefox OS,说是交给社区了,可谁都知道它已经完了。
Reply View the author
avatar
Lotuso
deepin
2017-09-26 10:07
#22
java可以做桌面端开发,不过程序效率不高
Reply View the author
avatar
bnbvb
deepin
2017-09-26 18:35
#23
java9 模块化了,试了一下导出helloworld的运行环境最少需要45M空间,基本就是java.base的大小了,比以前几百兆好一些,就是不知道多了module metadata 以后会不会变超大。aot还没用,编译成二进制,又跟平台挂钩了。语言层面String 底层实现由char[] 换成 byte[]+encoder了,理论上会更省内存+更快的gc。javafx依然不是重点。
Reply View the author
avatar
ydelusion
deepin
2017-09-26 21:30
#24
只用过javafx在idea下开发。
Reply View the author
avatar
134******40
deepin
2017-09-29 19:59
#25
https://bbs.deepin.org/post/145687
java9 模块化了,试了一下导出helloworld的运行环境最少需要45M空间,基本就是java.base的大小了,比以前几 ...

java9模块化了,javafx9也模块化了,java9的模块化本身就更有利于javafx的发展和集成,本身Oracle集成javafx就是重视的体现,语言层面的改变不大,但是性能继续进行优化,api也扩展了不少。而swing和swt可以认为已经没什么前途了,至于javafx是否有前途,个人认为比学swing和swt要好。如果非要学一种跨平台的基于java的桌面开发技术,学javafx比学awt、swing这种古董要好。如果后续的JIT和AOT发展顺利,使用java开发界面就更有优势了。
Reply View the author
avatar
小兰米
deepin
2017-10-18 20:34
#26
早在Java7时候就高度关注JavaFX,它的推出是为了改变Java在桌面端的地位。当时的情况是HTML5和Flex这些在争取前端中的地位,JavaFX也有一争高下的趋势。但就现在来看,明显HTML5胜出了。

但JavaFX有它不可忽视的作用,首先它可以完全替代Applet,可以嵌入浏览器运行,这为一些高端应用提供了一个很好的解决方案。
另外,它有官方提供的可视化编辑器,开发起来非常便利。
至于应用的体积问题,如果不包含JDK的话其实也不大。

但这些依然撼动不了Html5在前端中的地位,毕竟html/cs*掌握的人多,而且发展时间长,标准化程度高。这个不是Oracle想超越就可以的。

因此,作为一名Javaer,在前端方面,并不推荐新人在这门技术上花太多的精力。如果要写桌面端,推荐Angular2+/Typescript/Electron框架,其跨平台特性及其性能都远远好于JavaFX,而且开发速度也很快。
Reply View the author
avatar
duanyao
deepin
2017-10-19 01:04
#27
https://bbs.deepin.org/post/145687
早在Java7时候就高度关注JavaFX,它的推出是为了改变Java在桌面端的地位。当时的情况是HTML5和Flex这些在争 ...

说的在理。
不过关于 Java Applet,目前只有 Safari 一家还在坚持支持,其它浏览器都已经或即将不能用了。
Reply View the author
avatar
duanyao
deepin
2017-10-19 01:14
#28
https://bbs.deepin.org/post/145687
java9模块化了,javafx9也模块化了,java9的模块化本身就更有利于javafx的发展和集成,本身Oracle集成jav ...

前段时间看了一下 JavaFX 的邮件列表,发现它还不能支持高性能的 3D 渲染,这样 JavaFX 自带的 WebView 也不能支持 WebGL ( http://mail.openjdk.java.net/pip ... -August/020735.html ) 。虽然可能只有一小部分应用会用到这些,但这无疑是一个现代化的 GUI 环境的重要卖点。
Reply View the author
avatar
134******40
deepin
2017-10-19 03:10
#29
本帖最后由 jdocker 于 2017-10-18 19:51 编辑
https://bbs.deepin.org/post/145687
前段时间看了一下 JavaFX 的邮件列表,发现它还不能支持高性能的 3D 渲染,这样 JavaFX 自带的 WebView  ...

JavaFX默认是有3D支持的,也可以做到支持OpenGL的(有兴趣可以研究一下javafx lwjgl or javafx jogl),所以,也就是支持高性能的3D渲染,但是暂时还不支持WebGL,但是JavaFX默认已经集成了webkit引擎,后续支持webgl简直顺理成章。
JavaFX渲染系统允许多管道操作,尽可能使用硬件加速。在Windows上,使用Direct3D。在大多数其他系统(Linux,Mac,iOS,Android,嵌入式ARM)上,使用OpenGL。由于这种硬件加速渲染,大量的工作从CPU转移到GPU。https://wiki.openjdk.java.net/display/OpenJFX/3D+Features
Reply View the author
avatar
duanyao
deepin
2017-10-19 03:50
#30
本帖最后由 duanyao 于 2017-10-18 20:02 编辑
https://bbs.deepin.org/post/145687
JavaFX是支持OpenGL的(说的是支持,并不是说原生集成,有兴趣可以研究一下javafx lwjgl or javafx jogl), ...

JavaFX 现有的 3D API 不够底层,所以还担不起“高性能”的称号。OpenGL 在 Windows 上表现不咋地,Direct3D 与 OpenGL 的 API 差异又很大,这是跨平台且高性能的3D渲染的困难所在。跨平台的浏览器(Chrome等)为了支持 WebGL 是花了很大功夫的,这也是 JavaFX 目前缺乏的。JavaFX 已经内置了基于 WebKit 的 WebView,我引用的那个链接也说 JavaFX 的计划是为 WebView + WegGL 和 JavaFX 开发统一的 3D 渲染系统,所以应该不存在体积增大很多的问题,当然前提是能开发出来。参考这个: http://mail.openjdk.java.net/pip ... ptember/020788.html

lwjgl 和 jogl 貌似都是要用原生窗口的,这样与 JavaFX 的轻量级控件不会融合得很好。

Reply View the author
avatar
sz******iy@vip.qq.com
deepin
2017-10-19 05:33
#31
https://bbs.deepin.org/post/145687
我就用JavaFX开发,从速度上来说,没什么问题,就是java程序需要java运行环境。 ...

javafx的教程太少了,虽然1.8放到了jdk里,但是怎么觉得官方还不重视。
感觉特别像出C#写窗体,但是没C#用着好
Reply View the author
avatar
134******40
deepin
2017-10-19 17:56
#32
https://bbs.deepin.org/post/145687
JavaFX 现有的 3D API 不够底层,所以还担不起“高性能”的称号。OpenGL 在 Windows 上表现不咋地,Direct ...

openGL本身就是c库,够底层就要更换c语言来开发了,java不可能为了3D api专门开发一套与自己语言不兼容的够底层的代码。以后随着AOT和JIT的成熟,可以先转换为机器码,执行速度就会好很多。java已经集成了webkit这种引擎,已经从环境上提供了webGL的支持,现有的仅仅是自身语言是否能够提供合适的API调用。希望下个版本提供吧。
Reply View the author
avatar
Feng Yu
deepin
2017-10-19 18:53
#33
java本身就不适合桌面级的开发,服务端这种无图形界面的开发用java很流行。
Reply View the author
avatar
Ligocut光剪视频剪辑软件
deepin
Backbone of ecological co-construction group
2017-10-19 20:39
#34
jdocker 发表于 2017-9-23 13:49
我就用JavaFX开发,从速度上来说,没什么问题,就是java程序需要java运行环境。 ...

有在deepin上面运行过吗?体验如何?
Reply View the author
avatar
duanyao
deepin
2017-10-19 22:58
#35
https://bbs.deepin.org/post/145687
openGL本身就是c库,够底层就要更换c语言来开发了,java不可能为了3D api专门开发一套与自己语言不兼容的 ...

并不是说 OpenGL 只能用 C 语言来实现,其它语言也完全可以,WebGL 差不多就是 JS 版的 Open GL ES( 参考 http://web.eecs.umich.edu/~sugih ... s/APITables-zhs.xml )。这里“底层”的意思是 API 语义上的底层,能比较直接地跟图形硬件打交道,而不是说不能用高级语言来实现。实际上 OpenGL 也不是光 C 语言就能实现的,GLSL ( http://www.cnblogs.com/zhiyishou/p/4592888.html )就是另一种语言了,在 GPU 而不是 CPU 上执行。

JavaFX 集成了Webkit 是很久以前的事了,但这并不意味着 WebGL 就很容易实现了,实际上近期内都不太可能实现。语言和 API 其实是小问题,底层的渲染引擎改动甚至重写才是主要障碍。
Reply View the author
avatar
134******40
deepin
2017-10-20 05:19
#36
https://bbs.deepin.org/post/145687
有在deepin上面运行过吗?体验如何?

只要有java,就可以运行。默认java7已经集成javafx。javafx的优势就是跨平台。
Reply View the author
avatar
shamine
deepin
2017-10-20 17:26
#37
在用AS开发安卓没什么问题
Reply View the author
avatar
Ligocut光剪视频剪辑软件
deepin
Backbone of ecological co-construction group
2017-10-20 20:49
#38
shamine 发表于 2017-10-20 09:26
在用AS开发安卓没什么问题

actionscript?我的天呐。。。。。
Reply View the author
avatar
yang
deepin
2017-10-21 01:44
#39
https://bbs.deepin.org/post/145687
actionscript?我的天呐。。。。。

AndroidStudio
Reply View the author
avatar
Ligocut光剪视频剪辑软件
deepin
Backbone of ecological co-construction group
2017-10-21 07:01
#40
yang 发表于 2017-10-20 17:44
AndroidStudio

那是运行在安卓系统上吧。。。我想要的是deepin原生软件
Reply View the author
2 / 3
To page