文档章节

关于swing的一些看法

今幕明
 今幕明
发布于 2014/01/27 09:40
字数 1051
阅读 522
收藏 2

这半年在研究im,xmpp相关方面的东西,其中涉及到客户端(如spark)的一些开发问题,在技术群里,经常有人问swing的问题,看到就做了一些回答,由此想起了swing以前的一些开发经验,对其优劣做了一个简单分析。

java在gui方面一直饱受争议,甚至基本处于各大主流,甚至sun都放弃的地步,但对个人而言,作为普通的技术开发人员,swing在工作中基本用不到,还在生存温饱线上的我,只能一直将此作为爱好,不时研究一下。

类似spark这样的工具,也有不少,最牛的当属jbuilder,当然eclipse 的swt横行,又吸引了不少swing的关注,swing应用开发越发凋零。有谁多少知道jbuilder,netbean开发swing的强大功能,有谁还记得MS当年vj ++多牛,性能多强,直接生成.exe文件,当然更没人知道vj++与超级大神Anders Hejlsberg的渊源。其实swing可以做到很好,只是没人从商业角度去挖掘,或者有足够好的替代品。

在此,我简单分析一下swing的优劣:

劣势:

1,性能,java做ui性能肯定不如原生的,当然据说vj性能极佳,但地球人都知道ms跟sun的关系,即便今天sun完了,oracle跟ms的关系也好不到哪去。

2,应用少,在window桌面一桶天下的情况下,swing应用越发少,而且其他语言的开发性价比更具优势,比如c++,不说ms的vs系列,就是dephi那也是很多爱好者的。当年只有borland的jbuider独挡一面,现在,说起来,就是悲剧啊,我偶尔会想,要是当年Anders Hejlsberg不离开borland,而是来弄jbuilder,该是如何呢?当然只是猜想,更深层次的情况我也不懂。

3,开发工具的问题。其实这点我也说不清楚,因为我知道不少gui的开发。jbuilder 还有更新,基于eclipse的版本,我也在保留了jbuilder9的版本,当然有一些落后;netbean一直在更新,目前都8.0了,其它一些如jform design等更少为人所知。而且我认为这些开发工具并不落后,swing的ui设计层次和理念也相当先进,但从名次上讲,这些东西又有多少人知道呢,哪怕是开发java的,知道了又有多少人用过呢?这才是它最大的劣势。同样是java,在android ui开发应用直接让swing泪奔。

4,商业需求。没多少应用和ui需要swing来做,这才是最大的问题。这点没法说,swing苦逼感觉。

5,丑陋的界面?是有一些丑,但swing其实是有很强大的ui设计接口的,叫look and feel。可以自己设计skin,其实很漂亮的。开源的laf也有不少,这丑的缺点是有,但我认为不是不可解决的。

还是来说说,优势:

1,java跨平台的优势。可以在mac,linux和widnows多用,这点,当然前提还是有这多平台发布的需求。

2,强大的java社团和庞大的开发人员,这点是java语音最大的优势,

3,门槛低

4,先进的ui理念。这点是我个人看法,因为我只是简单用过ms的vc,vb以及vs工具,但从语言角度上讲,我觉得java完整的面向对象的特点,在swing设计上体现的 非常好,事件机制,回调机制,布局等都是很清晰的,mvc模式也广泛应用与swing设计中。这点相对android ui开发都不逊色。

当然呢,swing至今如此局面,我觉得可能更多的是技术之外的因素,那就是商业因素,没人来广泛支持,用的也就少,用的少,关注就越少,...,恶性循环。


以上都是我个人看法,一个swing爱好者的自语,不足之处,请随时拍砖。




© 著作权归作者所有

今幕明
粉丝 46
博文 229
码字总数 39350
作品 0
朝阳
程序员
私信 提问
加载中

评论(5)

Timco
Timco

引用来自“今幕明”的评论

引用来自“Timco”的评论

最让我头疼的是运行机制java -jar xxx.jar,一般人谁知道呢-.-

可以制作脚本,也可以在menifest中写的,这样jre就可以直接运行jar

前提是有jre啊
今幕明
今幕明 博主

引用来自“javaflex”的评论

对swing认识越深越觉得swing优秀!

是的,只是java本身特点限制了他的桌面发展,目前商业需求太少
今幕明
今幕明 博主

引用来自“Timco”的评论

最让我头疼的是运行机制java -jar xxx.jar,一般人谁知道呢-.-

可以制作脚本,也可以在menifest中写的,这样jre就可以直接运行jar
Timco
Timco
最让我头疼的是运行机制java -jar xxx.jar,一般人谁知道呢-.-
javasql
javasql
对swing认识越深越觉得swing优秀!
Ext(2)——container

感觉Ext好像和Swing好像啊,它的容器啊,布局啊,监听器什么的,也许当初开发Ext的时候就是参考了Swing的设计吧!看官方的api时,发现关于容器的操作有好多的属性可供选择的,一口气把它们看...

elim1
2011/05/26
0
0
java swing 组件技术(上)

第一次写自己的博客,明知道写得很水,还是努力去写了,希望踏出第一步之后,能有着更好的发展。这几天看了一些资料,总结了一下自己所学的关于java swing的知识。 一、 java swing 组件技术...

静心天涯
2013/06/14
0
6
这里有使用JIDE的吗?

大家好,我是Swing控件供应商JIDE软件公司的原作者。以前一直都在欧美发展业务,现在正准备在国内看看有没有机会,所以想借该论坛的人气问一下用JIDE的人多不多,以及国内的Swing应用如何?欢...

jidesoft
2012/01/17
2.1K
12
创建一个简单的Swing应用程序

先给出一段代码,这是一个很简单的Swing程序,然后在对程序内容作详细讲述。 A simple Swing program 1 import javax.swing.; 2 import java.awt.; 3 public class SwingDemo{ 4 public Swi...

isolated
2011/04/24
88
0
Swing第二集

Swing第二集 继Swing第一集播出以后,收视率创历史新高点,香蕉台,芒果台都相继上映,我好像也是玩Swing玩上瘾了,今天我们开播第二集。上一集是为了增强大家对Swing的性趣(im sorry,把兴趣...

一号男嘉宾
2011/08/18
1K
11

没有更多内容

加载失败,请刷新页面

加载更多

Flutter移动端实战手册

该文章属于<简书 — 刘小壮>原创,转载请注明: <简书 — 刘小壮> https://www.jianshu.com/p/d27c1f5ee3ff iOS接入Flutter 在进行iOS和Flutter的混编时,iOS比Android的接入方式略复杂,但也...

刘小壮
9分钟前
0
0
测试环境项目一键部署

git项目测试环境一键部署脚本 #!/bash/sh pid=`ps -ef | grep 'user_demo.jar' | grep -v grep | awk '{print $2}'` kill -9 $pid #跳转到git clone下目录 cd /home/apple/userdemo/ #拉取最......

ccman996
12分钟前
0
0
应用框架(spring-boot参数配置与使用)

这很耳东先生
19分钟前
0
0
使用SecureCRT从windows上传文件到Linux

点击File,然后选择SFTP,打开SFTP,然后进行下列操作。 1.指定文件所在路径 lcd E:\ 2.查看当前windows文件所在路径 lpwd 3.指定linux下文件上传路径 cd /usr/local 4.查询当前linux文件上传...

大雁南飞了
21分钟前
1
0
前后端分离-前端搭建(Vue)(3)加入Element和axios

继续上篇博客的Vue刚刚搭建完 , https://my.oschina.net/u/4116654/blog/3064431 这次我们来把Element 和axios弄好 首先先安装Element 下载好了之后 在src目录下的main.js里去添加Element的...

咸鱼-李y
32分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部