c#

位置:IT落伍者 >> c# >> 浏览文章

技术分析:.NET的优势与劣势


发布日期:2018年08月17日
 
技术分析:.NET的优势与劣势

NET Framework自月在日本国内上市以来至今已一年有余据估计标准集成NET Framework的OS——Windows Server 将于月在日本上市随着NET环境的完善作为足以抗衡Java的系统构筑基础开发人员需要认识NET Framework下面笔者就来分析一下NET的优势与劣势

XML Web服务并未成为普及NET的导火索

此前人们一直在想NET来说是否存在不同于Java的独特的应用领域和市场?

业内普遍认为微软新一代系统构筑环境——NET Framework是在研究Java的基础上开发出来的不仅功能和架构相似而且由于是在Java之后开发出来的因此Java所没有的功能更是随处可见比如在Web应用中实现事件驱动型应用程序功能等

不过虽说如此如果只是告诉用户NET Framework比Java好得多那么Java开发人员特意转而使用NET Framework的动机不会太强

由于Java已经先行积累了广泛的应用成果积累了很多足以弥补其缺点的经验以及平台工具只要不出现Java难以应用的用途和市场那么NET Framework就很难阻止Java的进一步发展

NET的优势企业信息系统部门可自行编程

刚开始微软就把易于开发XML Web服务作为NET的优势而大加宣传以XML Web服务为前提而设计的NET与Web服务具有极高的亲和性但XML Web服务的产生却比较晚尽管业内对它的期待和关注程度较高但由于可充分利用XML Web服务的可赚钱的业务模式尚未确立所以目前与Web站点相比其市场仍微不足道其中Java方面也正在加紧完善便于开发XML Web服务的功能

那么是否存在NET的独特用途呢?笔者通过采访所得到的一个答案是NET开发工具——Visual StudoNET的易用性使得它在Java很难实现的用户企业(信息系统部门)也可编程的系统上超人一头笔者认为可能还存在其他这样的领域当然尽管NET的标准语言VBNET和C#都与Java一样复杂但是Visual StudoNET却很好地消除了这种复杂性

比如日本兰碧儿(NOEVIR)只靠自己的信息系统部门就完成了Web代理店支援系统的从企划到编程的全部工作日本一家系统集成商曾表示此前导入Java系统的用户企业中选用NET的信息系统部门就有望自行开发或对系统进行修改

笔者认为由于Java本身较为复杂且不易学习掌握因此用户企业只负责企划而将编程工作完全委托给集成商的现象非常普遍

在COBOL和VB(客户商/服务器)的全盛时期信息系统部门自己编程对系统进行部分修改和功能追加是很正常的事情如果连细小的系统修改都要外包那么系统的维护成本自然会很高因此就将失去灵活性甚至于还有可能削弱信息系统部门的业务能力说到企划听起来好听但如果连大体的情况也不了解恐怕与开发商交涉都很困难这也许就是Java的一个弊端

此外成本比UNIX低以及可以充分利用Windows技术资源等原因也在加速NET Framework的普及作为客户端/服务器系统的开发环境VB的后续语言——NET中的Windows Form最具竞争力越来越多的系统集成商开始选择这一工具构筑系统

NET的劣势应用成果少开放性差

反过来说NET的劣势则在于在大型系统中的应用成果少缺乏开放性

对于应用成果来说今后其数量将会不断增加据悉日本证券将在年度内利用NET Framework全面重新构筑该公司目前利用ASP构筑的系统

开放性方面又将会如何呢?Java普及的主要因素很多但笔者认为其中最关键的在于开放性由于可各种OS上运行而且很多开发商还提供了Web应用服务器和开发工具因此用户可以随意选择而开发商则通过在功能和性能方面相互竞争来不断提高产品水平

NET Framework怎么样呢?只要想应用于业务系统中其OS实际上则只能限于Windows尽管微软已经提供了FreeBSD版NET Framework但其目的仅限于学术研究

今后人们所能期待的是Mono ProjectMono Project是指完全独立于微软正在开发开放源码版NET Framework的计划主导该计划的是一家名为Ximian的Linux企业这家公司成功地开发了Linux标准桌面环境GNOME目前已受到业界的广泛关注

月该计划还发布了运行Web应用程序ASPNET的Web服务软件XSP尽管很多功能仍在开发之中但目前开发工作进展顺利目前正面向Linux和Windows进行开发据Mono Project称由于该软件依赖于Linux的部分不多因此能够轻松地向其他UNIX OS移植

能否形成像Mono一样的开放环境将是NET普及的关键所在微软目前已经向业界标准化机构ECMA(欧洲计算机制造商协会)提交了NET标准此举表明微软将采用开放标准但目前尚不清楚此举只是单纯的一种姿态还是真的要开放NET这就要看微软今后是否能够继续公开足够的相关标准和信息了

上一篇:用Visual C#调用Windows API函数

下一篇:C#使用相应的泛型版本替换Stack和Queue