斯坦福 IT

对当前微软.net技术的一点浅见

最大赞力
0.00
当前赞力
100.00%
本来这是对“.net好像不吃香了”那篇帖子回帖的,但写着写着有点跑题,所以干脆独立成贴吧。

对于“.net不吃香了”的看法,我的感觉好像刚好相反,.net 在企业应用的开发中变得越来越成熟,以前web form那套把前端、后端混在一起的开发方式已经被微软废弃,后端的框架,如ORM、Web Service,以及并行、异步等都变得越来越强壮易用,在TDD、DDD、IOC 等的支持方面也越来越丰富,一点也不比Java弱。前端开发方面,微软自从认识到web form的种种弊病,决心逐步废弃这套曾经引以为荣的开发模式,近年推出的前端开发手段,与其他的平台,如java、php 等的差异越来越模糊,同样都是侧重并充分利用html5/css3/javascript 框架进行设计,这可以从微软最新的mvc4所推荐的web api、mvvm框架、spa模板等充分感受到其前端开发的强大、简洁、清晰和丰富,远非以往的web form可比。但这一转变带来的不良后果是,大批经验丰富的asp.net程序员要花不少力气去学习以接受和适应这一新的开发模式,以前种种引以自豪的 基于server control的前端开发经验,霎时间变得几乎毫无用处,如今不再有page life cycle,不再有post back, 不再有 server control,不再有view state, 不再有 update panel, 以前被不屑一顾的javascript变成了开发的主力语言,还要学习众多的javascript应用库,等等,对传统的.net 程序员构成了不小的挑战。 总之,微软在不断求变,在我看来,确实是变得越来越强大和成熟了。

另外,微软在力推其云端平台AZURE,在企业应用方面很有潜力,而sharepoint这产品也在企业中逐渐得到广泛应用,尽管我并不喜欢这东西,但不少企业都在招sharepoint程序员,薪酬还给得相当高。

不得不提的就是,微软曾经雄心勃勃力推的silverlight,如今可以说完全没有前途了,这是由于微软当初低估了andoid和iphone的影响力, 试图在移动平台应用开发上一统天下,显然这是彻底失败了。讽刺的是,silverlight 基本上只能用于开发微软自己的win phone 7, 连windows8 移动设备也不再使用silverlight,所以silverlight程序员要考虑转向了,考虑投入到.net阵营的程序员,也别再碰silverlight 了。

WPF,只能开发桌面应用,且不能用于手机,如今web 应用大行其道的时代,显得其市场应用方面越来越狭窄。morgan stanley 这一年来四处在招WPF程序员,还老招不到,给的薪酬不少,但我一直不为所动,尽管我有点WPF的经验。

WCF,微软的web service集大成者,很好很强大,但就是太过大而全,在使用、配置上比较麻烦等,学好它需要花相当大的精力。如今微软的WCF开发团队也意识到这一点,于是在ASP.NET框架上开发出轻量级的WEB API,足以替代WCF的RESTFUL部分,且轻便易用。所以WCF,了解一下就好了,不必花太大力气去研究。

至于windows8的开发,微软提供的开发手段有两种: c#+ XAML,html5+javascript. 我目前的态度是暂且观望,目前windows8的销售仍不明朗,能否在iOS、Android设备遍天下的情况下在市场上有所突破,还难以断言,如今花力气投入到这里,似乎有点仓猝,搞不好又是另一个silverlight。

所以,以我的浅见,如果打算找.net程序员工作,或者asp.net的程序员打算增强自己的市场竞争力,我觉得学习 asp.net mvc, 是个比较好的选择,在各大招聘网站上的职位也多,尤其是mvc,据我的观察,近一年来需求越来越多,值得把精力投入进去。另外,html5,css3这些跨平台、且桌面、网络、移动应用通吃的技术,无论是.net还是java、php程序员,都是必不可少的。
 
最后编辑: 2013-03-26
最大赞力
0.00
当前赞力
100.00%
回复: 对当前微软.net技术的一点浅见

写得不错.确实是. 不过,微软的这种改革,并不能给它带来实际收益! 在mobile 平台上已经落后很多. 其次,大公司一般是很少会去使用新的不成熟的技术. 微软这样千变万化,现在我们对Windows8的未来还没看到胜利的曙光,微软这种变化是不会给微软带来任何彻底取代java的机会. 弄不好被java咸鱼翻身.
 

Aftertears

梅亚查的猫精灵
最大赞力
0.00
当前赞力
100.00%
回复: 对当前微软.net技术的一点浅见

5年前学过一段的asp2.0,已经落后了好多了,现在的WPF,WCF都不懂了。。做过一点JAVA,现在在搞PHP,发现PHP语言很好上手,就是各种各样的开源框架太多了,跟不上学习的步子啊。。:(
 
最大赞力
0.00
当前赞力
100.00%
回复: 对当前微软.net技术的一点浅见

5年前学过一段的asp2.0,已经落后了好多了,现在的WPF,WCF都不懂了。。做过一点JAVA,现在在搞PHP,发现PHP语言很好上手,就是各种各样的开源框架太多了,跟不上学习的步子啊。。:(

如今,无论是java/.net/php, 都有这个问题,各种框架、应用库纷来沓至,需要不断花时间精力去跟进、研究,微软大牛 John Papa 最新的一篇文章Why All Those JavaScript Libraries? 就讨论了程序员抱怨要学习和使用一大堆JavaScript 库的问题。

我自己是喜欢这种百花齐放的局面的,一家独大、抱残守缺、经年不变,那不是软件开发。
 
最大赞力
0.00
当前赞力
100.00%
回复: 对当前微软.net技术的一点浅见

写得不错.确实是. 不过,微软的这种改革,并不能给它带来实际收益! 在mobile 平台上已经落后很多. 其次,大公司一般是很少会去使用新的不成熟的技术. 微软这样千变万化,现在我们对Windows8的未来还没看到胜利的曙光,微软这种变化是不会给微软带来任何彻底取代java的机会. 弄不好被java咸鱼翻身.

对最后一句不敢苟同,如今java如日中天,php 依然强劲有力,同时ruby、python等环伺在侧,.net 只是在奋力争持、亦步亦趋。要彻底取代java,估计连微软自己都没有这份雄心,只需看一看android的势头就清楚,因此更没有java咸鱼翻身之说。
 
最大赞力
0.00
当前赞力
100.00%
回复: 对当前微软.net技术的一点浅见

写得不错.确实是. 不过,微软的这种改革,并不能给它带来实际收益! 在mobile 平台上已经落后很多. 其次,大公司一般是很少会去使用新的不成熟的技术. 微软这样千变万化,现在我们对Windows8的未来还没看到胜利的曙光,微软这种变化是不会给微软带来任何彻底取代java的机会. 弄不好被java咸鱼翻身.
另外,相比之下微软已经算不上“千变万化”了,只是微软自己在做框架,几年才一变,变得最多的只是版本而已。而java/php使用的是开源的框架,论变化、论选择,他们才称得上五花八门。
 
最大赞力
0.00
当前赞力
100.00%
回复: 对当前微软.net技术的一点浅见

如今,无论是java/.net/php, 都有这个问题,各种框架、应用库纷来沓至,需要不断花时间精力去跟进、研究,微软大牛 John Papa 最新的一篇文章Why All Those JavaScript Libraries? 就讨论了程序员抱怨要学习和使用一大堆JavaScript 库的问题。

我自己是喜欢这种百花齐放的局面的,一家独大、抱残守缺、经年不变,那不是软件开发。
不过对于目前最主流的java,php来说框架虽然多,但是其实大同小异,掌握一个新框架其实还是很快,不过要精通就是很麻烦了,关键是debug时候的陷阱比较恶心,毕竟这些框架其实也有自己的问题。
对于dotnet发展的是越来越像java的各类模式了,个人其实还挺怀念10年前的微软的很多设计,比如说第一版ado.net。我从来不认为现在的java,php新框架比哪个时候先进,相反,我觉得当年borland、微软的那些类库才是真正的经典之作。
javascript框架互相差异就太大了,确实是对人的一种折磨,而且js类库的源码阅读和debug起来就太疼苦了,不像java什么的实在不行看看框架源码也就搞定了。
 
最大赞力
0.00
当前赞力
100.00%
回复: 对当前微软.net技术的一点浅见

不过对于目前最主流的java,php来说框架虽然多,但是其实大同小异,掌握一个新框架其实还是很快,不过要精通就是很麻烦了,关键是debug时候的陷阱比较恶心,毕竟这些框架其实也有自己的问题。
对于dotnet发展的是越来越像java的各类模式了,个人其实还挺怀念10年前的微软的很多设计,比如说第一版ado.net。我从来不认为现在的java,php新框架比哪个时候先进,相反,我觉得当年borland、微软的那些类库才是真正的经典之作。
javascript框架互相差异就太大了,确实是对人的一种折磨,而且js类库的源码阅读和debug起来就太疼苦了,不像java什么的实在不行看看框架源码也就搞定了。

过去的技术如何经典,都只能说是过去了,现在涌现的诸多framework,目的都是解决以前难以避免的可重用性、可测试性、可维护性以及开发效率等方面存在的种种问题,从而使整个应用系统开发成本、维护成本的降低,这正是众多软件公司最为关注的所在。例如我如今所在公司的系统(美国某个州政府一个庞大的asp.net web form应用系统),就是使用ado.net,从而无可避免地使用了数以千计、且纠结复杂的stored procedure(而且不断在膨胀), 从而业务逻辑不可避免地分布到后端的数据库、中间的业务逻辑层、甚至UI上(当然分布在UI这点跟ado.net关系不大,是系统设计的问题),而这样的体系,系统的业务逻辑根本无法实现单元测试, 从而系统众多模块层层叠叠、分界不明、相互耦合,维护困难;各种bug不断涌现,此起彼伏,连绵不绝。公司也不得不养着数量众多的DBA和QA,天天忙于应对。仅此一例,足以看到这些过时技术所带来的弊端。如果依然守着这些,跟别的使用新技术新手段的公司作竞争,光是开发过程中的人员成本方面就足以落败。
 
最后编辑: 2013-03-27
最大赞力
0.00
当前赞力
100.00%
回复: 对当前微软.net技术的一点浅见

过去的技术如何经典,都只能说是过去了,现在涌现的诸多framework,目的都是解决以前难以避免的可重用性、可测试性、可维护性以及开发效率等方面存在的种种问题,从而使整个应用系统开发成本、维护成本的降低,这正是众多软件公司最为关注的所在。例如我如今所在公司的系统(美国某个州政府一个庞大的asp.net web form应用系统),就是使用ado.net,从而无可避免地使用了数以千计、且纠结复杂的stored procedure(而且不断在膨胀), 从而业务逻辑不可避免地分布到后端的数据库、中间的业务逻辑层、甚至UI上(当然分布在UI这点跟ado.net关系不大,是系统设计的问题),而这样的体系,系统的业务逻辑根本无法实现单元测试, 从而系统众多模块层层叠叠、分界不明、相互耦合,维护困难;各种bug不断涌现,此起彼伏,连绵不绝。公司也不得不养着数量众多的DBA和QA,天天忙于应对。仅此一例,足以看到这些过时技术所带来的弊端。如果依然守着这些,跟别的使用新技术新手段的公司作竞争,光是开发过程中的人员成本方面就足以落败。
你这个案例应该是设计和框架的问题,与是否使用“asp.net web form” 没有关系。在维护系统的时候,最关键的是程序规范化;否则的话,时间长了,系统超级复杂,五花八门的。
“多模块层层叠叠、分界不明”要么是设计不好、或者是项目维护交接不成功、或者维护队伍不规范。
 
最大赞力
0.00
当前赞力
100.00%
回复: 对当前微软.net技术的一点浅见

还是做数据库省心啊,一个sql写n年都不用升级,有更多的精力都花在了解业务知识上了。

业务知识不是技术能力呀
 
最大赞力
0.00
当前赞力
100.00%
回复: 对当前微软.net技术的一点浅见

你这个案例应该是设计和框架的问题,与是否使用“asp.net web form” 没有关系。在维护系统的时候,最关键的是程序规范化;否则的话,时间长了,系统超级复杂,五花八门的。
“多模块层层叠叠、分界不明”要么是设计不好、或者是项目维护交接不成功、或者维护队伍不规范。
不好意思,请看清楚,我这里是针对fieldmarshal兄盛赞早期版本的ado.net, 而举的例子,说的是早期的"ado.net"导致业务逻辑过于依赖数据库,从而业务逻辑同时分布在后台和中间层,使得单元测试困难(如果你有对这几千个布满复杂逻辑的stored procedure做单元测试的办法,请告之,不胜感激),因而系统可靠性低、开发维护成本高的问题,不是在说"asp.net web form"架构本身。当然除了这个,系统难以理顺、难以维护,跟你上述列举的原因也密切相关。如果是我表述得不够清楚,请原谅。
 
最后编辑: 2013-03-28
最大赞力
0.00
当前赞力
100.00%
回复: 对当前微软.net技术的一点浅见

先说我是个做JAVA多年的人,近期JOB AGENT要我学,说加拿大多数是用微软平台的,于是一直学习和获取认证。从我看来,ASP.NET MVC开发WEB实在是省心了,首先从集成开发环境上,不需要人去各网站将开源的拿过来,整合起来,磨合磨合搭建起一个框架,还有应用WEB容器等,而visual studio可谓是方便;二是框架限定的相对严格,工具类丰富,其他各层数据交互,写法上相对固定,这样使用同一集成环境的开发出来的代码也易懂容易读,而JAVA相对太灵活;三是.NET开发速度确实是快,很容易就将WEB弄出来了,开发人员更容易专注业务。准备将公司一些应用逐步转向.NET。
 
最大赞力
0.00
当前赞力
100.00%
回复: 对当前微软.net技术的一点浅见

先说我是个做JAVA多年的人,近期JOB AGENT要我学,说加拿大多数是用微软平台的,于是一直学习和获取认证。从我看来,ASP.NET MVC开发WEB实在是省心了,首先从集成开发环境上,不需要人去各网站将开源的拿过来,整合起来,磨合磨合搭建起一个框架,还有应用WEB容器等,而visual studio可谓是方便;二是框架限定的相对严格,工具类丰富,其他各层数据交互,写法上相对固定,这样使用同一集成环境的开发出来的代码也易懂容易读,而JAVA相对太灵活;三是.NET开发速度确实是快,很容易就将WEB弄出来了,开发人员更容易专注业务。准备将公司一些应用逐步转向.NET。
微软在这方面确实在不断进步,逐步消除了以往狂妄自大、自成体系的做派,引进吸收了许多有益、成熟的技术和产品,例如直接引进了jquery,废弃了倾注了多年努力的asp.net ajax框架; 如今mvvm逐步流行,微软也毫不犹豫地把优秀的 knockoutjs 引进过来,不再玩自搞一套的把戏。微软的这种开放姿态,也令有实力的各大软件开发商、开源框架乐于推出支持微软体系的产品和版本,从而微软得以不断吸收整合各种优秀的理念、技术、框架,融入到自己的体系中来,确实让应用系统的设计、开发过程省心不少。
 

Similar threads

家园推荐黄页

家园币系统数据

家园币池子报价
家园币最新成交价
家园币总发行量
加元现金总量
家园币总成交量
家园币总成交价值

池子家园币总量
池子加元现金总量
池子币总量
1池子币现价
池子家园币总手续费
池子加元总手续费
入池家园币年化收益率
入池加元年化收益率

微比特币最新报价
毫以太币最新报价
微比特币总量
毫以太币总量
家园币储备总净值
家园币比特币储备
家园币以太币储备
比特币的加元报价
以太币的加元报价
USDT的加元报价

交易币种/月度交易量
家园币
加元交易对(比特币等)
USDT交易对(比特币等)
顶部