Velice pekne recene vyhody .NEt frameworku, mistama sice mozna trochu prehnane, ale je to pekne v kostce:
https://www.quora.com/What-are-the-advantages-and-disadvantages-of-using-ASP-NET
MYTH #1: ASP.NET is expensive
No. ASP .NET is free, open source, you can get some very good tools for free or you can use any other open source IDE. You can also find hostings for free. If you are starting business and you need some advanced proffesional software, you can get almost all the software for free for 3 years trough BizSpark program. If you are a student you can get everything for free trough DreamSpark. If you are not a proffesional developer, than the free versions of the tools will be more than enough for you.
Windows Server Licences - most of the time you are paing for webhosting, which is usually the same as Linux. If you have own servers, than you can get development licence for development for free. If you are a proffesional, than cost of windows licence is really nothing comparing to other cost, especially salaries of the admins
SQL Server Licences - if you want MS Sql Server, you can get one for free. If you need advanced features like Business Analytics, you can get the paid one (which much much cheaper than oracle, btw). If you want another open source alternative, like Postgree or MySql, nothing limits you.
MYTH #2: You are limited to microsoft tools
No. Microsoft has developed new C# compiler called roslyn (open source as well) which makes it very easy to integrate C# with any editor. You can use any database with any 3rd party IDE. I’m not aware of any special limitation comparing to other platforms. Microsoft’s strategy is just to provide better tools, which is true most of the time
It’s true, that your apps had to be hosted on servers running windows, but this has also changed. You can now write asp .net apps for linux.
MYTH #3: It’s adds a lot of overhead.
No. People saying this mostly refers to asp .net webform from 2008 or earlier.
Actually, ASP .NET is extremly fast, definitely faster than nodejs, php or most of the java frameworks.
MYTH #4: It’s not suitable for modern web
It’s nonsense just like #3. It’s like saying Porsche is not suitable for fast drive, because Cayenne is SUV, not a sport car. Yes, but there is Porshe 911 Carrera as well. In asp .net you have WebForms (Cayenne) and MVC (911 Carrera )
So what are the real disadvantages of ASP .NET? I really don’t know. I would like to hear from others, but the real ones, not the myths.
In some situations I would choose nodejs rather than asp .net because it’s javascript, the same javascript as in browser and which can bring some advantages, like hybrid server/client rendering using JS frameworks like react.
The advantages of asp .net are:
#1 - C# is one of the most beautifully designed languages. It’s much more modern than Java or PHP and does not have design flaws like JavaScript and is strongly typed unlike Python and multi-purpose unlike Ruby. If you want, you can use F# for some part or even entire application where functional programming is more suitable. C# and F# are 100% compatible, which means you can use C# libraries in F# and vice versa.
#2 - Productivity - with libraries like WebApi, SignalR, OData, EntityFramework, and language features like Linq you can get such high productivity, that java developers can only dream of. All the microsoft’s money and experience has been utilized here. Take advantage of it!
#3 - Code and knowledge reuse - since you write asp .net in a C# and .NET framework, you can reuse the code in other windows, windows phone, xamarin, xbox, IoT or even linux applications. However, I must admit that java is slightly better thanks to its great multiplatform support.
Tady frajer rika, ze po 20 letech programovani v Jave zavhl EE a Spring jako chripku. Ale misto aby zmenil platformu, presel k jinacimu frameworku....... a to je co tvrdim, porad se tam delaji zbytecne nove veci, misto aby byly poradne udelane ty stare. Ale to se asi nikdy nestane...
https://www.quora.com/Why-is-Java-Spring-and-JAVA-EE-so-complicated
My answer is contrary to all other answers here. I have been programming in Java since 1996. I have seen the rise of Applets, then Java EE, then Spring, then "better" Java EE, then Ruby on Rails, then Node, etc. Through all these years, I avoided Java EE and Spring like plague. I completely support your reaction that they are complicated. While you can follow other people's advice and spend more time to study them, IMHO they are not worth it. I can tell a lot of horror stories about getting a "Hello wold" enterprise been deployed for 2 weeks, or about Spring XML configuration file 5k lines long, but I would be wasting your time.
If you use Spring or Java EE, than that what you will be doing, instead of focusing on your project. In other words, you will not see forest behind the trees!
There are other ways to build Java projects that allow you to focus on your goals: JavaLite, Play framework.
tak pome na to:) budem pisat tak ze neobhajujem .net alebo javu, ale ako to v skutocnosti je
myth #1
nikto nikdy netvrdil ze asp.net je drahy, .net framework bol vzdy zadarmo
do prichodu mono s normalnymi funkciami a neskor .net core bolo jedine mozne prostrie windows server to je fakt. a v mono dlho nebolo wcf - teda v enterprise svete nepouzitelne
co ma sql server spolocne .net? okrem jedineho, ze vie pustat procky napisane v .net ma presne tolko rovnakeho ako napr postgre.ale to tam dobre napisal ze pri pouziti oss je to jedno. trocha offtopic, ale ked niekto potrebuje particiovanie tabuliek, tak potrebuje vysolit $30k za enterprise, alebo to stoji $500 mesacne v hostingu.
tento myth na mna posobi zlvastne, nestretol som sa s clovekom ktory by si toto myslel (naroziel od realneho myth ze java je pomala), je to taky marketingovy text alebo evangelisticky vymysleny myth.
myth #2
prostredie ako sharpdevelop je tu uz 16 rokov. roslyn ktorym sa ohana je tu pouzitelny tak zo 2 roky, ale mono ma svoj kompilator uz dlho, takisto .net sdk ma/malo svoj kompilator zadarmo
opat taky zvlastny myth ze tiez skor marketigovy text alebo evangelisticky vymysleny myth.
myth #3
toto je .... no ktora cast asp.net ? to je vytrhnute z kontextu, mvc je rychlejsie ako php, ale je rovnako rychle ako spring mvc. webforms ma svoje miesto ale urcene na nieco ine ako mvc, overhead ma priblizne rovanky ako ine podobne frameworky (wicket, vaadin).
tento myth je zavadzajuci a sposob ako to pise je to tiez skor marketigovy text alebo evangelisticky vymysleny myth.
myth #4
ja osobne som sa s tymto nestretol od vydania asp.mvc, webforms ozaj nebolo vhodne pre klasicke stranky, tento myth bola pravda do akehosi casu potom uz nie.
toto bol jediny realny myth z tych 4 co uviedol.
a teraz k vyhodam:
#1 nesuhlasim - c# je jednoducho pouzitelny jazyk, ale dizajn ktory tam je, ale prilisnym zjednudovanim odobera programatora o zmyslanie, ktore by mal mat na tejto urovni. vid ako sa kompiluje async a yield, programatori nevedia ci robia s fieldami alebo settermi/gettermi, zverstvo typu extension metody (hladaj vo velkom projekte kde to je a co si zabudol importnut), preco sa da linq zapisat dvoma sposobmi a mnoho podobnych.
#2 nesuhlasim - java kniznice spring mvc, spring websocket + sockjs + stomp, apache olingo, hibernate - su vsetky na rovnakej urovni ked nie lepsie. java8stream su tiez ekvivalentom linqu, ale neskryvaju detaily tak ako linq
#3 tu sam pise ze java je na tom lepsie
K tomu dalsiemu:
ak dlhe roky nepouzival ani javaee a ani spring a ani nevie ako sa to zmenilo rokmi, tak nech nedava rady. to je ako keby som ja neodporucal chodit do ceskoslovensko lebo tu vladnu komunisti. Ked niekto pise helloworld 2 tyzdne, tak si asi zvolil zle povolanie.