|
by Rafiki 10/20/2017, 11:13am PDT |
|
|
|
|
|
Fullofkittens wrote:
At my office we wrote an enterprise video portal using Angular for frontend stuff. Our latest web thing came out this week and is in React. (All with Azure backend, we're an MS shop at heart.)
The pitch for Angular is that it's client-side, it's easy to write tests for, and front end people find it easier to style. As far as "why not ASP.NET MVC," not being married to the MS stack is inherently valuable to some people, too. If you're using Angular for frontend you might be part of the Node/NPM ecosystem* which is a bit more magical and fun and less work than the .Net/Nuget ecosystem. Writing web apps in the MS stack feels like driving a tank compared to JavaScript's rocket cars.
All the web devs I know fall into two camps: people who prefer React and people who think they would probably prefer React if they took the time to learn it but are still using Angular. I do not know anyone that looked into either of those and decided that ASP.NET MVC was preferable.
(*There's also the possibility of porting JS applications to the desktop - cross-platform! - using Electron; that's not a thing with ASP.NET MVC apps. That's how both the Slack client and VS Code work.)
I'm not suggesting ASP.NET MVC is the be-all, end-all, it's just what I'm working with. I had been seeing Angular talked up over the years as a great thing and decided to take a class (free excuse to not sit in a cubicle for a week), and the question I had was if I'm using ASP.NET MVC why would I want to migrate? I have no pressing need to move all of the software engineering I'd be do in Razor/C# into the browser and Angular doesn't seem to improve on it in any meaningful way, it's just a browser-based implementation vs. server-based. As far as front end people finding it easier to style, I'll take their word for it. Angular seems to corral you into dividing everything into components to be plopped on a page, but a component is just an HTML file, a CSS file, and a script file. No reason I can see that I can't replicate that same model (and when I saw it I was like, "why was I not structuring my projects this way already? Am I retarded? But I'm not a hot-shit web dev, the bulk of my experience is in desktop).
The one big benefit I see that Angular provides is libraries for browser state management and event handling. I mean, I can do this with jQuery and JavaScript, but Angular provides syntax to handle things automatically so it's more intuitive to setup vs. me having to do all the reasoning and coding myself with jQuery and JavaScript. However, in my quick skim of React, it looks like it provides exactly this but better. And it doesn't come saddled with a fuckhuge framework for a bunch of shit I don't need to do in the browser. So it looks like if I wanted to, I could continue using ASP.NET MVC for all my serving and page creation, and React for a whizbang rich interactive UI.
In summary, it looks like the answer to "Why use Angular" is "don't, unless you need an entirely client-side application."
JavaScript's rocket cars
Are you trolling me? Or did you mean to say "Angular?" JavaScript fucking sucks! In fact, that's really the underlying problem with all of these goddamn JS frameworks. HTML, CSS, and JavaScript are piece of shit technologies that weren't designed for the problems being solved today, but rather than throwing them out and starting over with something better, there's just a new JS UI framework being released every 2 years trying to paper over and glue up all the bullshit.
There's also the possibility of porting JS applications to the desktop
If a colleague proposed to me writing a desktop application in JavaScript, I would literally kill them. And I literally mean "literally" to mean literally. I would be in prison because I would take their life.
|
|
|
|
|
|
|
|