.Net
开发工具:visual studio
开发语言:C#(最优),C++,VB
数据库:SQLServer(最优)
服务器:Windows Server,Linux(MVC5.0+)
部署工具:IIS,其他(MVC5.0+)
MVC框架:MVC3.0+
ORM:Framework

Java
开发工具:eclipse,myeclipse
开发语言:Java
数据库:MySQL,Oracle
服务器:Linux,Windows Server
部署工具:Tomcat,Weblogic,Nginx
MVC框架:SpringMVC,Struts
ORM框架:Mybatis,Hibernate

工具:VS最好的IDE之一,开发效率,界面友好性远远优于Java的开发工具。

语言:Java所有高级语言的模板,地位毋庸置疑,但后期更新不如人意。lambda表达式在Java1.8中才得到支持,早在11年左右C#便支持该功能了,整整晚了5,6年。Java语言对Windows系统底层支持不友好,打印就是个老大难的问题,根本原因Windows不开源,其他语言无法获取底层打印接口(Java B/S打印解决方案参考 http://blog.csdn.net/lishengko/article/details/56834757)。

数据库:若数据库吞吐量较大,Oracle的性能明显优于SQLServer。

服务器:.Net MVC5.0-服务器只能用Windows操作系统,正版Windows Server+SQLServer大约1万RMB左右,成本较高,新版的MVC6.0+可以在Linux,MAC上运行。

部署工具:IIS效率不高,灵活性差,可配置选项很少,无法通过配置文件方式完成项目部署。JavaB/S项目的部署工具就很灵活了,甚至可以实现多工具部署。如Nginx实现静态资源文件解析,Tomcat实现JavaWeb程序,.jsp页面解析。

MVC框架:.NetMVC3.0+才真正实现了前台页面View层与后台逻辑Controller层的分离,结构语法与SpringMVC类似。比较之下,.NetMVC上手更容易,VS中新建MVCWeb项目即可,无需配置文件。

ORM框架:.NetFramework框架对除SQLServer其他数据库的支持特别不友好,若将数据库改为其他数据库,需另行下载相关插件,生成的代码结构很复杂,大量无用的配置信息,开发效率大大降低。

总结:
微软平台上述所有技术框架,开发部署工具等均出自官方,无需整合,下载安装即可。开发效率高,学习成本低,项目结构清晰,但扩展性差,只有新版的 .netMVC5.0+ 可以实现跨平台。
Java平台就比较灵活了,技术选择方案多,对服务器,部署工具,数据库均为必需要求。但其需要复杂的配置文件去协同各个框架及工具,学习成本较高,初学者很容易迷糊。


.net研究跨平台解决方案时,java已经在研究大数据,分布式解决方案了(hadoop,zookeeper),差的不是一点半点。
若开发人员只想安逸度日,.net首选。若想在编程的路上走的更远,必然是java了。

Logo

更多推荐