為什麼大名鼎鼎的Spring在.NET平台上無以為繼?

Spring.NET - Application Framework


JAVA語言上的弱雞才導致spring的存在,.net不需要這個

但是必須承認,spring實在太強大了


Spring不會因為「在.NET平台上無以為繼」而喪失光芒;.NET也無需靠Spring增添色彩。你走你的陽關道,我過我的通天橋。每個語言都有各自的社區及風格品味,管好自己的腿,走好自己的路,就好。


Java 教的某些東西在 .NET 平台沒有優勢,如果基於 .NET 平台特性重新設計應該不會那麼難學難用。


傳統上,.NET 不太喜歡這種太重的大傢伙。別說Spring了,就是.NET 陣營自己的Prism 不也死掉了嗎? 起碼http://Spring.NET 還半死不活。要說.NET IoC 也許相對靈巧的Unity 用戶群體更多一些。

IoC 這玩意兒在.NET Core 都內置了,誰還再折騰個大傢伙?個人覺得http://Spring.NET, N-Hibernate 這種東西都是Java 世界想當然的以為.NET 世界也需要而產生的項目。除了方便了Java 世界的人來偶爾用一下.NET,並沒有太多用處。

Java 搞成了這樣,一面仰賴於這些大塊頭的開源項目支撐,另一方面也使得Java 的語法特性被C# 甩出了八條大街……


為什麼PHP沒有Spring?因為天生驕傲!


為什麼java會出現Spring或者說以spring為代表的一大幫框架呢?因為java的母公司sun不作為。sun發明java,前期推出了javaEE等技術標準,但是對java的後期維護以及語法性能增加幾乎不作為,乏善可陳,java出現早吸納大批程序員,又因為java語法性能多年變化不大,使得程序員不需要過多關注語法,開發框架成為可能,隨著時代變遷潮流變化,對於語言性能有新的要求時,程序員自己動手了,而javaee相對於時代已經是冗餘麻煩的時候就有人推出spring,因為傳統java拼SQL實在太麻煩,就有mybatis和Hibernate的出現,然後造成了性能不夠,框架來湊,開源生態一片欣欣向榮的局面。而另一方面微軟吸收java並結合自己的私貨打造的C#,語法性能增加可以說日新月異,雖然鮑爾默主政的時候搞軟硬一體讓很多C#程序員感到不爽,但是鮑爾默對C#的投入不可謂低,而且比爾蓋茨退休的時候,決定讓C#成為Vista的主要開發語言使得C#語言性能得到大幅增長,今天C#性能早已甩java八條大馬路。C#有宇宙第一IDE之稱VS還有微軟開發的大量的控制項語法糖,使得程序員大量精力投入其中,spring的核心控制反轉、依賴注入、Hibernate的生成SQL功能早已納入C#中,這樣根本不需要spring框架,而微軟很重視程序員的開發所以C#功能易用性也比spring框架好。所以說spring框架在.net實在沒有市場。另外正因為java程序員會根據自己的需求開發框架,大數據相關的java框架早已應運而生,C#這一塊沒跟上,又沒有相應的開源框架,所以很多企業只能選擇java框架,京東等以.net起家的公司開始轉java了。


感覺http://spring.net把java最垃圾的東西帶去了.net


為什麼要用 http://spring.net ?活在「xml hell」里很爽嗎?

web 程序 .net 世界裡有更爽歪歪的開發平台叫做 Orchard CMS,這個才叫做框架。

當然,我選擇 Python。


同是訪問資料庫,白天工作用spring.net+sqlserver,晚上碩士設計用.net ef+sqlite,直觀感受是:

spring蛇精病啊!ef上刷新一下就搞定的東西,spring要翻出一個又一個xml文檔改了又改,還怕改錯。

效率上,基本就是三四秒跟幾分鐘的差別。

另外,nuget就可以自動裝好.net ef+sqlite,http://spring.net這麼重,我咋知道怎麼弄啊……


因為.NET沒有春天。


第一、麻煩,微軟爸爸體貼入微的提供了那麼好的語言特性和工具,絕大部分.net使用者不需要知道太多東西就能開發。

第二、.net有castle這樣的ioc框架,也有aop,還有Microsoft.Extnesions.DependencyInjection這樣的官方注入介面,http://spring.net完全沒有優勢。


難道你每次在eclipse引用spring那些包都沒有手抖的感覺?


用http://ASP.NET MVC,還要Spring MVC幹啥


因為有了 http://Asp.NET。

這倆設計理念挺像的,誰抄誰我就不清楚了。


.net不需要冬眠.........


Spring就是java的保姆,這個保姆對於java來說是一切;對於c#來說,卻是雞肋。

基於方法名稱去實現repository有點讓人噁心。


之前用了mybatis .net版簡直想吐。。。


沒有spring,我不會用java。


推薦閱讀:

TAG:Java | C# | Spring | NetFramework | NETCore |