关于java中的Swing框架,我先说下如下的观点。
1 只要是用java开发的商业项目,就指着来挣钱的项目,都不会用Swing框架。
2 所以对java初学者来说,根本没必要学swing,甚至连类似的GUI,即java界面编程的相关技能,都没必要知道。
3 为什么很多java初学者会知道,甚至会学习Swing这类GUI开发技能呢?因为学校里会教。为什么学校里还在教这种用不到的技术?大家可以思考下这个问题。
在业内,如果要做界面编程,一般是用.NET架构,比如c#.net,http://asp.net,以前还有http://vb.net。这些编程工具的开发模式时,通过拖拉控件展示人机交互界面,即GUI界面,然后编写后台处理函数,比如点了这个按钮会干嘛,点了那个菜单又该跳转到什么窗口。
.NET是微软的开发工具,而windows也是微软的产品,所以.NET能驾轻就熟地调用windows各种底层,实现界面和各种事件。
而java一般是用来做后端,比如在ssm或spring boot里的控制器里,接受到前端的请求后继续处理。在业内Java主要能体现出两大优势。
1 能简化web开发流程。
通过spring boot和SSM框架,之前是ssh框架,是封装各种网络跳转等动作等框架,用了这套框架后,程序员能在不用了解传输参数或页面渲染等细节的前提下轻松地开发业务。
比如现在很多小型公司,在投入少量成本后,再招些初级开发,可以在不用太多技术积累的前提下就能做web端的业务,这就是java中spring boot等框架的优势。
2 能处理高并发需求。
现在如果要开发应对类似双十一的高并发需求,会引入redis,dubbo或netty等组件,这些组件虽然说和语言无关,但在实际项目中,大多都是和java整合,当然和.net整合的也有,但没Java多。
讲到现在大家可以理解,java的擅长点不是做Gui界面开发,或者说根本没打算在支持界面开发上走远,毕竟这方面有比较成熟的.net框架。所以如果大家学了java的swing或awt等界面开发组件技术,其实在之后的工作中是用不到的。
所以说swing被淘汰也不正确,所谓淘汰就之前用过但现在不用了,而swing等界面开发技术,根本没大规模流行过,因为java本来就没打算在Gui方面发展。
按理说Java GUI之类的组件和技术不该让初学者知道,因为一般用时间去学,就是白学,学了也没用,那么为什么有学校还教呢?我姑妄猜下原因,大家也就姑妄听之。
1 这个能出界面,讲起来总会出现结果。
2 比较好运行,比较好理解。一些spring boot框架还得通过maven,gradle引包,还要写配置参数,总之跑起来不容易,或者在讲课前老师要花时间理解下。而swing只要通过import引些包就能跑,而且技术相对简单好讲。
但不管怎么样,如果大家在学java时,如果是照着书学的,看到swing或awt之类的界面开发技术,可以直接跳过,如果上课还遇到swing,就应付下考试吧。这个技术真没学习的必要。