泻药
现在12马上要出来了,这个问题最好的回答就是数据了,johan vos在它的twitter上给出了下载量,看数据就一目了然了,逐月攀升,越来越多人在尝试和使用,用户包括nasa等
各种跟c/c++相关的项目如火如荼,说两个相关的
第一个是openjdk相关的,所有java程序都能用的巴拿马项目,今天发出最新的早期体验版,并给出了足够的文档和例子,有兴趣的参考:Using Panama "foreign" JDKhg.openjdk.java.net[foreign] binary snapshot updatemail.openjdk.java.net
早期体验版的压缩包可以在这里下载,使用跟openjdk一样方便,解压缩之后就能用了Panama Early-Access Buildsjdk.java.net
当然没有ide的支援,还没release,不可能支援,所有你得学会用vi那些东西,java开源的一面体现出来了
这个项目的目的是让java更加方便滴集成native的类库,比如各种用c/c++提供的api,以前都是jni那些,有一定的局限性,比如需要用户同时也懂c/c++,不是仅仅懂java就行了,还要懂c/c++,然后才能开始码,巴拿马项目可以根据c的头文件自动生成java的interface,并接入jit,这样用户就可以完全不碰c/c++代码而使用native类库了,那一个应用的经典例子就是opengl,其实我更看好vulkan的api的包装,有了这个,高级别的游戏渲染没问题
第二个算是一个小项目吧,又是德国人做的,driftfxeclipse-efx/efxclipse-driftgithub.com
这个可以直接用c/c++写出javafx的node,并将其嵌入整个javafx的node体系,很方便是不是?例子也是同样的opengl渲染的node,我问过作者,作者回复说,vulkan理论上可行,metal是肯定可以,但是他需要时间,d3d和opengl是即将在项目中实现,有兴趣的可以参考该项目复用已经有的opengl代码到javafx这些gui上去
目前用的是jni,所以将来panama成熟后,这个项目也可以借用panama的技术来完善自身
总体而言,都是跟c/c++等native有关的部分,gui的东西,java可以说是刚起步,会有比较大的发展,但是各种类库什么都已经雨后春笋般冒了出来,据我所知,很多大学的java教育已经强调用javafx来写gui了,这是一个很不错的现象
有好事者动不动at我,真讨厌,是吧
那既然如此,我就更新一下吧,我觉得这些技术都是工具
你用的工具顺手不顺手,看你自己,java的优势很明显,就是会的人多
所以java哪怕任何一点细微的进步,都可以被放大到很大,因为你让这么多人能够轻松掌握一个技能,这本身就是一个巨大的进步,java的gui我自己亲身体验,什么都能做了,gui在我这边已经完全没有任何难度,我可以在一个小时之内,轻轻松松给你撸一个简单的gui应用出来,而且还有material design,就是那个涟漪效果,点一下会扩散
去看官方的源码,主体部分也已经是多年前就做好了,所以你说gui有没有希望,我对此很有信心,因为从中渔利了不少,你有没有信心,看你自己,你能用它来满足你的需要就好了,就像我们用javafx来做steam上的游戏一样,行不行你自己试试就知道了,这就是小马过河嘛,行不行你自己试试就知道了,我们从来都是鼓励员工动手去尝试的,实干是检验真理的唯一标准,如果你试了不行,那就不行,如果你试了可以,那就可以,相信你自己看到的
当然,我们的经验,不要碰fxml,如果你非要在里面加上fxml的话,那就祝你好运,反正经过我们的实践,web上那些都是瞎搞,*ml和js把简单东西复杂化,今天又看到有人吐槽proto了,其实java足够好了,用来对付绝大多数应用没有什么问题,js那一套……反正我们是放弃了,你愿意用那就用,能实现目的就好
现在世界处于一个大变革的前夕,很多领域都出现了颠覆性的技术,那如何应用这些技术,将我们的生产开发流程简单化,自动化,是将来很长一段时间的主要目标,基于一个前提:增量已经差不多over了,基本上将来是存量市场,所以多快好省,粗暴地堆人工的搞法,将来会比较危险,还是老公式,profit = revenue - cost,如果revenue停止增长了,那怎么让profit继续增长呢?减少cost,对吧?资本家的出发点很简单,如果我能用一个人做的事,那我就不会找两个人来做,你应该这么思考,如果一个会java的人都能写gui的话,还会有人出钱去请别人用其他语言e.g c++来写gui吗?不会的,他会让那个会java的来搞定
其实我们就是这么干的,效果挺好的,也无形中增强了我们渡过寒冬的信心