为什么有人说 Java 的跨平台很鸡肋?

电脑杂谈  发布时间:2019-08-13 15:04:40  来源:网络整理

java b2b 平台 开源_阿里技术平台 java_java跨平台游戏

个人可能持这样意见的人要么是没把Java用对地方,要么是没有进行过的企业级Java开发

Java开发的长项是服务器端编程。当然,近年来随着Eclipse的流行,Eclipse的RCP框架让Java在客户端工具方面也是了一些使用,但主要的用途还是摆脱不了服务器端编程。

服务器端编程就意味着最终会在服务器上运行。(好吧……这句是屁话。)

阿里技术平台 java_java跨平台游戏_java b2b 平台 开源

但众所周知,比较好的服务器端操作系统,迄今还是Unix-like操作系统的江山。说起Unix-like操作系统,有些了解的人就明白,涵盖了Linux、Unix、FreeBSD等一大帮兄弟。这丫头几个虽然长得很像,但区别还是有的。使用C语言之类不具备跨平台特性的修辞时就往往因为API的区别使得在更换服务器时总要进行较多的源码改动和试验。而或者一份代码需要在不同操作系统的服务器上运行,就有可能需要维护多份代码。无论研发利润、维护费用还是网页制作都要高出诸多。

这还只是说运行方面java跨平台游戏,或者考虑到开发,难题就更大了。

开发的时候,不认为给每位开发人员都配一台服务器,肯定用的是普通的PC。而PC领域的操作系统,你恨它也好爱它也罢,Windows还是很难不进屋插一脚的。于是就出现了如此的形势——在Windows下开发,在Unix-like上运行。

java跨平台游戏_阿里技术平台 java_java b2b 平台 开源

人非圣贤孰能无过。写代码就当然会犯错。所以层层检测必不可少。相信很都习惯于一边写一边测,有些问题顺手改掉。如果让你每次要测试的时候都要先编译,然后挪到服务器上,然后再运行,出错了要调试还得换个操作系统去做。哪怕你不嫌麻烦,下面的店长也会嫌效率低下。

而Java恰恰极速11选5了这个难题。开发人员可以在Windows的开发机上建起轻便简单的服务器环境,可以随时进行试验和调试。而且只要项目拟定好合理的研发规约(例如没有特别申请不要写绝对路径,不要使用与操作系统相关性强的API等)并严格要求研发人员恪守,通过试验和调试的系统拿到服务器端基本不会出现难题。只需要做一下集成测试即可。大大减轻了开发者的负担和总体的研发效率。

另一方面,从源码的管理视角上看。因为实现了跨平台,源码只需要维护一份。遇到版本升级、增强分支版本等难题的时候也不会有太大的麻烦。

java b2b 平台 开源_阿里技术平台 java_java跨平台游戏

还有,当服务器端更换操作系统时——例如如果财政问题,从收费的Linux版本更换为免费的Linux版本,因为型号难题从免费Linux更换为商业的AIX系统等,也可以直接将系统打包发布,然后只需要再次进行集合测试即可。

还是,当将Java使用到其善于的行业时,其跨平台特性也是说是相当有效的。

关于你说的iOS应用研发,因为作为属于客户端开发,不是Java擅长的使用行业。又因为苹果的封闭策略,当前还没有iOS上的Java虚拟机,不过使得了Java目前还无法在苹果上运行java跨平台游戏,自然也没有可能用Java开发了。

java b2b 平台 开源_阿里技术平台 java_java跨平台游戏

另一方面,因为Java天生不善于用户界面编程,而iOS又不适于做服务器端操作系统。所以,让iOS支持Java目前看也没有什么坏处。

或者你用Java可以进行Android编程来斥责我的话,我想说Android编程中使用的Java并非传统意义上的Java。可以说是Android的开发者很聪明,借助了Java开发人群巨大的优点,为Android准备了一份特殊的Java虚拟机,因而增大了Android的研发的学习费用和人员费用。但表象上,与那种所谓的跨平台的Java不是一回事儿。Android里的Java在做Android编程时所读取的API是标准Java中没有的,不过无法做到跨越到Android以外的平台。

最终总结一句,某些说Java的跨平台很鸡肋的人,就觉得用大刀切菜,说斧子的结实和厚实很鸡肋一样。原因是大刀本来就不是让你用于炒菜的,那胖子是也是用于劈柴的。

有想学Java的朋友极速11选5来报名 。机不可失哦。更多技术交流者或想获取JAVA资料请加微信(858568103)


本文来自电脑杂谈,转载请注明本文网址:
http://xinshanjie.com/a/sanxing/article-119104-1.html

    发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

    热点图片
    拼命载入中...