标签:部分 linu 面试 灵活 bootstra 敏捷开发 不用 api 三方
1.作为一个科班出生的根正苗红的软件开发人员,我认为现在的一群年轻的程序员总是在讨论JAVA 好还是.NET 好的同时,我作为一个做4年开发的.NET 程序员中间穿插了1年JAVA 开发的来说更加的具有发言的资格。
2.其实作为一个开发人员来说真的没有必要说java 好还是.net 好 其实我认为没有什么可比较的。在我没有做java之前我个人认为微软的VS 2017 IDE开发工具真的是很好用这个是无可厚非的。目前java的开发工具IDEA 2018 和Ecplise 也还挺好用。
3.我对任何一门语言都没有宗教式狂热崇拜,因此我也相对理性的对整个问题进行分析。 必要和技术进行谈恋爱。顺势而为,目前公司做的都是一些政府的项目,需要什么技术开发我们就学习什么技术,没比要执著于.NET开发 还是java 开发。从16年5月份上手做java 开发 网上的文档找找然后找了一些Java EE 的教学视频 看看 和书籍看看 基础语法部分都不用需要看太多的时间,基本上和C# 的语法差不多,但是java 给我的感觉就是语法很Low 什么都是需要配置,陪服务器配置环境配置之前我用网上java 的一个开源的框架 zheng是基于Spring+SpringMVC+Mybatis分布式敏捷开发系统架构,提供整套公共微服务服务模块:集中权限管理(单点登录)、内容管理、支付中心、用户管理(支持第三方登录)、微信平台、存储系统、配置中心、日志分析、任务和通知等,支持服务治理、监控和追踪,努力为中小型企业打造全方位J2EE企业级开发解决方案。我配置起来折腾了一天才跑起来整个项目,我当时就想如果是.NET 项目我就10-20分钟足以看出来,跑起来一个javaWeb的项目真是不容易的。C# 的语法简洁而且优美但是底层用的是微软的集成的.netFramework 性能实在是不怎么好,这个是无可厚非的,你可以试一下用微软的Linq lambda 表达式 或者参数化SQL ADO.NET 查询一条数据 和用java 做个最基础的JDBC 的查询。性能快慢差的不是一点两点的。但是说句内心话,如果客户对于开发语言和平台没有什么要求,我还是喜欢用.NET Core 开发 因为VS 2017 应用C# 语言开发的真是快做Web 项目我用使用WebApi+MVC+CodeFrist +BootStap3.4 开发真的是快,我前端目前还是习惯使用BootStrap 而且移动端我还是喜欢用WeUI 做开发。
4.其实说句真心话我工作也有多年了,但是技术嘛也是在不断的提高到最后工作找来换去的,最后还是写业务逻辑代码,技术的本质我认为没有什么变化,但是按照目前南京的行情以及整个互联网的行情来看Java 的岗位确实是最多的。为啥了因为国人更喜欢热衷于开源,目前来说.NetCore 以及Mono 在Linux 运行也还是不错的。但是国人开发就是喜欢用Java 这个没办法回避的。我作为一个公司的项目负责人 兼任项目开发,目前我公司许多和政府合作的项目都是应用.Net开发的。.Net开发真的很快。
5.从2018年开始公司进行不断的进行招人,.Net 招聘了半年有面试的但是却没有合适的,Java 倒是招进来不少,几年过后说不定南京就剩下我们这一群老家伙了在做.Net 了。Java入门门槛会比较高一些但是有开发的基础学什么都比较快的,需要有足够的毅力和百折不挠的精神,只要你能坚持下来你就可以将很多人在入门门槛上就将很多竞争者甩在身后。.Net入门门槛比较低,装上VisualStudio就可以马上进行开发,不需要进行太多的配置 这样可以很轻松的掌握入门.Net学习,是有很成就感的事情,能让你有兴趣进一步学习,但是你不能止步于此,因此你会发现身边也有无数的人也是“轻松入门”,你就需要继续深入学习,深入学习同样需要毅力和探索的精神。
6.目前公司的技术我决定后面的政府的新项目都采用Java Web 来进行开发,我学习JavaWeb 也接近一年多了,一边摸索一边干项目时间久了也就习惯了,真心话 Java 的开发工具啥的真是不太人性化,但是没办法只能忍痛割爱了。上手做Java 开发,公司的要求,其实技术学到3-5年 技术也就基本纯熟了,你说后面你在深入学习,只是为了准备而已 ,什么分布式 缓存 啥的客户不要求,那你做这个工作毫无意义对吧,数据量就200-300w 左右。
其中实际应用的开发的工具
职责 | .NET平台 | Java平台 | 解释 |
---|---|---|---|
项目管理 | VS2010-2019 | IDEA2018/Eclips2018 | .NET只有微软官方IDE,Java没有官方的IDE,没有VS好用,但是有多个选择 |
项目模板 | VS2010+MSBuild 开发 | IDE+Maven | .NET项目的模板是VS自带的,是直接符合MSBuild(编译器)标准的,项目由sln+csproj文件组织,Java平台编译器的标准是公开的,目前主流项目都是基于Maven模板来创建,项目由pom.xml文件组织。 |
编译&调试 | VS2010+MSBuild+SDK | IDE+Maven+SDK | .NET平台的编译器是独立的,Java平台的编译器是集成在JDK中,Maven模板的项目是由pom.xml文件组织,但是编译器并不是认识pom.xml,所以编译需要Maven的参与 |
Package管理 | NuGet | Maven | Nuget是微软官方开源的VS插件,Maven是Apache下的开源项目。ken.io觉得Maven更灵活、强大。NuGet容易上手。 |
打包/发布 | VS2010+MSBuild+SDK | IDE+Maven+SDK | .NET平台的编译器是独立的,Java平台的编译器是集成在JDK中,Maven模板的项目是由pom.xml文件组织的,但是编译器并不是认识pom.xml,所以打包需要Maven的参与。IDE主要是提供图形化界面替代命令操作 |
NET的Web框架基本上都是微软官方的,官方的框架也最为流行,而Java平台,除了官方提供的Servlet API(相当于.NET的System.Web)其他的基本都由Spring大家族统治了。本次我们主要对比目前Web开发最常用的MVC框架以及持久层框架
功能 | .NET | Java | ken.io的说明 |
---|---|---|---|
Web核心 | ASP.NET | Servlet | — |
Web框架 | ASP.NET MVC | Spring MVC | ASP.NET MVC是微软官方框架,Srping MVC框架隶属于Spring大家族,依赖于Spring |
视图引擎 | Razor | Thymeleaf/FreeMarker | Razor是微软官方的视图引擎,非常好用,Spring MVC并没有视图引擎,但是有Thymeleaf,FreeMarker。ken.io更喜欢Razor的风格 |
持久层 | Entity Framework | MyBatis | EF是微软官方的持久层框架,易上手、开发效率高、但侵入性强。MyBatis配置灵活,无侵入性。各有利弊。 |
.NET平台的框架由于都是微软官方的,比较好组织,上手容易。Java平台的框架,灵活可配置。这也是Java平台一贯的风格。但是ken.io不得不吐槽的是,Spring MVC作为一个MVC框架,竟然没有自己的视图引擎,那MVC种的View去哪了?
可能是因为Java作为Web后端的主力平台,确实很少关注视图层,但是Spring MVC没有View层引擎,还是感觉不合适。Thymeleaf跟FreeMarker,ken.io更推荐FreeMarker。因为ken.io更喜欢FreeMaker的语法。可能是用惯了Razor的缘故。
对于项目部署。.NET平台貌似没得选,只能选Windows+IIS,虽然有Mono,但毕竟不是支持所有的类库。而Java平台既可以选择Windows+Tomcat,也可以选择Linux+Tomcat。但是通常会选择Linux+Tomcat毕竟成本低。
职责 | .NET | Java |
---|---|---|
操作系统 | Windows Server | Windows Server、Linux Server |
Web服务器 | IIS | Tomcat(Tomcat是目前最主流的,也有其他的Servlet容易例如:JBoss) |
不过Java平台的特性,Java项目的部署会比.NET项目部署偏麻烦一些。
IIS图形化界面一直下一步,再调整下应用程序池的版本就行了。而Tomcat不论是在Windows,还是在Linux,都通过修改配置文件完成站点配置。
7.马上就2019年了平常继续将Java 基础 以及一些Java Web SSM+MYSQL SSH+MYSQL Redis 一些常用的技术学习好就可以了,学习太多的新技术用不到也是没办法,对于一个开发来说 我最看重的还是一个人快速解决问题的能力和 不段的学习能力。
部分文字引用:https://www.cnblogs.com/ken-io/p/java-vs-dotnet.html 的博客
2018/12/04 23:40 :30
标签:部分 linu 面试 灵活 bootstra 敏捷开发 不用 api 三方
原文地址:https://www.cnblogs.com/LowKeyCXY/p/9970547.html