长大了Java! 提出Java桌面版

不,这不是另一个“ Java已死”的咆哮。 Java非常活跃。 它是可用的最佳开发和运行时平台之一。 迄今为止,最稳定的平台。 那可能只是它最大的祸根。 荒谬! 稳定性如何? 你可能会问。 好吧,由于它,您可以看到突破创新的缓慢进展。 请参阅有关闭包的辩论以及模块系统/ OSGI的进展。

每年,Java平台仅通过一些API和小的语言更改/添加而增长。 没有重大的重大创新活动在发生。 所有正在发生的重大变化都在其外部。 无论是依赖注入,持久性API,脚本API,桌面API,应用程序框架API,它们只是随后添加到平台中。 但是它们只是API。 我们需要的东西很大。 比今天先进了十年。

我感觉Java正在以自下而上的方式前进。 一次微小而缓慢的变化。 我们需要一种自上而下的方法。 考虑未来,设计它,然后仅以自下而上的方法实施它。

以新的Swing应用程序框架为例(现已从标准中删除)。 我认为这个新框架是一个设想不周的想法。 看一下吉恩军的糟糕状况。 如果不支持多媒体,则台式机无法取得实质性进展。 是的,JavaFX即将推出(超过3年?)。 这是向前迈出的一大步,但还不是标准(但是,会永远吗?)。

我们拥有JavaSE,并且JavaEE是基于JavaSE构建的。 为什么我们不能在台式机上做同样的事情? 为什么我们不能拥有Java Desktop Edition或JavaDE之类的东西? 把所有大东西放在这里。 这样,我们可以使JavaSE保持简单。 语言和VM更改已纳入JavaSE。 SE和适用于EE和'DE'的通用API。 但是桌面添加的内容,例如应用程序框架,多媒体,浏览功能,小工具栏,JavaFX等,都包含在“ DE”中。 当然,还需要考虑JavaME,但是由于业界希望将SE引入ME,因此在本博客中可以将它们视为相同。

有人可能会认为,桌面与Web应用程序和功能强大的浏览器(带有HTML 5)的流行无关。 但是,正如任何公正的报告所言,台式机的无关紧要不会在短期内发生。 毕竟,浏览器需要在桌面上运行!

基本上,Java Desktop Edition成为新的操作系统。 它应该与基础操作系统透明集成。 具有OSGI上的服务和模块形式的功能。 因此,一切都是服务:打印服务,文档服务,文件服务,图形服务,数据库服务,<在此处添加您喜欢的服务>。 因此,高级功能可以作为服务公开给系统中的任何模块或应用程序(模块集合)。 想象一下,将Eclipse插件作为服务公开给所有应用程序。

考虑一下Java桌面的创新可能性(以前听过吗?):

  • Java浏览器,内置对applet,JavaFX的支持–我们可以有applet插件
  • 浏览器可以嵌入任何应用程序中
  • GIMP之类的编辑器-JIMP?
  • 适用于所有应用程序的标准安装程序–没有特定于操作系统的Eclipse或Netbeans版本(Java WAS应该编写一次,随处运行)
  • 最后,一个Java媒体播放器
  • 桌面小工具栏
  • Java办公室
  • <您最喜欢的应用程序在这里>

现在是Java成长并发挥其作用的时候了。

参考: 成长Java! 在My Java Experiences中,由我们的JCG合作伙伴 Sheikh Mohammad Sajid 提出Java桌面版
快乐编码
拜伦
相关文章 :
  • 选择一种新的编程语言来学习
  • 每个程序员都应该知道的事情
  • 生存在狂野西部开发过程中的9条提示
  • 软件设计法则
  • 讨厌Java吗? 你在打错仗

翻译自: https://www.javacodegeeks.com/2011/06/grow-up-java-proposing-java-desktop.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/374829.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

[算法练习]Excel Sheet Column Title

题目&#xff1a; Given a positive integer, return its corresponding column title as appear in an Excel sheet. For example: 1 -> A 2 -> B 3 -> C ... 26 -> Z 27 -> AA 28 -> AB 代码&#xff1a; class Solution { public: string convertToTitle(…

7-16 求符合给定条件的整数集 (15 分)

给定不超过6的正整数A&#xff0c;考虑从A开始的连续4个数字。请输出所有由它们组成的无重复数字的3位数。 输入格式&#xff1a; 输入在一行中给出A。 输出格式&#xff1a; 输出满足条件的的3位数&#xff0c;要求从小到大&#xff0c;每行6个整数。整数间以空格分隔&#…

JUnit学习之hamcrest、testSuite介绍及测试原则

[转自] http://huihai.iteye.com/blog/1994270 上一节说了junit的一些基本概念&#xff0c;主要使用assert做一些基本的判断。但很多时候使用assert做判断&#xff0c;并不方便&#xff0c;如果要判断某几个值是否为true或false&#xff0c;这时使用hamcrest来判断就会方便许多…

Java最佳实践– Vector vs ArrayList vs HashSet

在使用Java编程语言时&#xff0c;我们将继续讨论与建议的实践有关的系列文章&#xff0c;我们将在三个最常用的Collection实现类之间进行性能比较。 为了使事情变得更现实&#xff0c;我们将在多线程环境下进行测试&#xff0c;以讨论和演示如何将Vector &#xff0c; ArrayLi…

iOS:图片上传时两种图片压缩方式的比较

上传图片不全面的想法&#xff1a;把图片保存到本地,然后把图片的路径上传到服务器&#xff0c;最后又由服务器把路径返回&#xff0c;这种方式不具有扩展性&#xff0c;如果用户换了手机&#xff0c;那么新手机的沙盒中就没有服务器返回的图片路径了&#xff0c;此时就无法获取…

7-17 爬动的蠕虫 (15 分)

一条蠕虫长1寸&#xff0c;在一口深为N寸的井的底部。已知蠕虫每1分钟可以向上爬U寸&#xff0c;但必须休息1分钟才能接着往上爬。在休息的过程中&#xff0c;蠕虫又下滑了D寸。就这样&#xff0c;上爬和下滑重复进行。请问&#xff0c;蠕虫需要多长时间才能爬出井&#xff1f;…

浅谈泛型之泛型方法

实际不用多说只举2个例子就行: //例1 static void fromArrayToCollection(Object[] a, Collection<?> c) {for (Object o : a) { c.add(o); // 编译错误,错误原因也很简单,<?>是无上下界的通配符泛型,所以编译器根本无法确认类型} } //例2 static <T> void…

Android特效 五种Toast详解

Toast是Android中用来显示显示信息的一种机制&#xff0c;和Dialog不一样的是&#xff0c;Toast是没有焦点的&#xff0c;而且Toast显示的时间有限&#xff0c;过一定的时间就会自动消失。而且Toast主要用于向用户显示提示消息&#xff0c;接下来巴士为大家总结了Android五种To…

Java最佳实践–高性能序列化

在使用Java编程语言时&#xff0c;我们将继续讨论与建议的实践有关的系列文章&#xff0c;我们将讨论并演示如何将对象序列化用于高性能应用程序。 所有讨论的主题均基于用例&#xff0c;这些用例来自于电信行业的关键任务超高性能生产系统的开发。 在阅读本文的每个部分之前…

7-18 二分法求多项式单根 (20 分)

二分法求函数根的原理为&#xff1a;如果连续函数f(x)在区间[a,b]的两个端点取值异号&#xff0c;即f(a)f(b)<0&#xff0c;则它在这个区间内至少存在1个根r&#xff0c;即f0。 二分法的步骤为&#xff1a; 检查区间长度&#xff0c;如果小于给定阈值&#xff0c;则停止&a…

java只使用try和finally不使用catch的原因和场景

JDK并发工具包中&#xff0c;很多异常处理都使用了如下的结构&#xff0c;如AbstractExecutorService&#xff0c;即只有try和finally没有catch。 class X {private final ReentrantLock lock new ReentrantLock();// ...public void m(){lock.lock(); // block until condi…

Java 7:尝试资源

本文研究try-with-resources语句的用法。 这是一个声明一个或多个资源的try语句。 资源是一个对象&#xff0c;程序完成后必须将其关闭。 try-with-resources语句可确保在语句末尾关闭每个资源。 任何实现java.lang.AutoCloseable或java.io.Closeable接口的对象都可以用作资源。…

Spring学习(19)--- Schema-based AOP(基于配置的AOP实现) --- 配置切面aspect

Spring所有的切面和通知器都必须放在一个<aop:config>内&#xff08;可以配置包含多个<aop:config>元素&#xff09;&#xff0c;每个<aop:config>包含pointcut&#xff0c;advisor和apsect元素。ps&#xff1a;他们必须按照这个顺序进行声明 <aop:pointc…

2021-10-08

word文档&#xff1a;.doc .docx 需求文档、架构文档、接口文档、详设文档一般都是用word编写。 Excel表格&#xff1a;.xls、.xlsx’&#xff0c;.csv 测试用例 PPT幻灯片&#xff1a;.ppt、*.pptx 版本不同 可执行文件&#xff08;windows系统&#xff09;&#xff1a; *.exe…

UITableViewCell 选中的状态小技巧

- (void)setSelected:(BOOL)selected animated:(BOOL)animated {[super setSelected:selected animated:animated]; //cell 没被选中时 隐藏这个 _leftImageViewself.leftImageView.hidden !selected; //选中text变红 不然变灰色self.textLabel.textColor selected ? [UICol…

Spring和AspectJ的领域驱动设计

在JavaCodeGeeks主持的上一篇文章中&#xff0c;我们的JCG合作伙伴 Tomasz Nurkiewicz介绍了使用State设计模式进行领域驱动设计的介绍 。 在该教程的最后&#xff0c;他承认他省略了如何将依赖项&#xff08;DAO&#xff0c;业务服务等&#xff09;注入域对象的过程。 但是&am…

BZOJ 3143 HNOI2013 游走 高斯消元 期望

这道题是我第一次使用高斯消元解决期望类的问题&#xff0c;首发A了&#xff0c;感觉爽爽的.... 不过笔者在做完后发现了一些问题&#xff0c;在原文的后面进行了说明。 中文题目&#xff0c;就不翻大意了&#xff0c;直接给原题&#xff1a; 一个无向连通图&#xff0c;顶点从…

VS2019安全函数scanf_s问题

VS2017、VS2019等安全函数scanf_s问题&#xff1a; scanf()、gets()、fgets()、strcpy()、strcat() 等都是C语言自带的函数&#xff0c;它们都是标准函数&#xff0c;但是它们都有一个缺陷&#xff0c;就是不安全&#xff0c;可能会导致数组溢出或者缓冲区溢出&#xff0c;让黑…

eclipse启动tomcat, http://localhost:8080无法访问的解决方案

问题:&#xff1a; tomcat在eclipse里面能正常启动&#xff0c;但在浏览器中访问http://localhost:8080/不能访问tomcat管理页面&#xff0c;且报404错误。同时其他项目页面也不能访问。访问的时候出现下列页面: 现在关闭eclipse里面的tomcat&#xff0c;在tomcat安装目录下双击…

GWT EJB3 Maven JBoss 5.1集成教程

大家好&#xff0c; 在本文中&#xff0c;我们将演示如何正确集成GWT和EJB3 &#xff0c;以实现示例项目&#xff0c;使用maven进行构建并将其部署在JBoss 5.1应用服务器上。 实际上&#xff0c;您可以轻松地更改maven构建文件中的依赖关系&#xff0c;并将项目部署到您喜欢的…