Good front-end frameworks?

Spacerat

Expert Member
Joined
Jul 29, 2015
Messages
1,524
Reaction score
653
I see that Angular is still very popular but React also making strides. What are the opinions out there? I want to build a line-of-business site using ASP.NET Core and WebAPI as a back-end.
 
React using nextjs with react-query /end-thread

We’ve used VueJs/nuxt for the last 4/5 years. I still maintain it was a good decision at the time.

But the react ecosystem in 2022 is absolutely
fantastic. Functional components and hooks is a massive improvement.

React-query makes “server state management” a non issue - something that previously would be done using redux. Another HUGE win.

Although I do really like vue, I now love react.
In the last month I have gone from a 2 to a 8.5/9 in “how to build great apps with react”.

At my company it is unlikely that we will start a new project using vuejs again.

We also use dotnet 6 web api’s.

I have taken it even further and made our front ends typesafe with our API. We generate typescript axios clients, as well as react-query queries/mutations (along with the query invalidations). When our API builds, it outputs an openapi specification file, which then triggers the generation of the typescript code.
If your API used to expect “name” and return “id”, but it’s changed to also expect “surname” and include “status” in the response, your front end won’t build, because you have a type error. It’s a huge quality of life improvement.
I own the backend.
I own the frontend.
They absolutely should be “tightly coupled”


I am backing nextjs over something like remix( which looks interesting), because it is backed by deep pockets (vercel)

I also don’t choose “new” technology, like solidjs for example, because I have the responsibility to ensure that we can hire from a large pool of candidates.
 
Last edited:
If you or your organization has strong Angular skills I don't see a need to switch. Angular is still a solid choice, especially when you have a team of front-end/full-stack developers. If you're looking for something new to start with, I am in agreement with @_kabal_
 
How long is a piece of string? There is no silver bullet. What is a "good front-end framework" even?

This will depend entirely on your business and your requirements. Start there and build up. Often, I've found in these types of discussions, the framework you/your team knows is the best choice. At the end of the day, you're creating an application to make money, whether that be directly from other businesses, general consumers or even as consulting fees.

Even if you get the choice "wrong" initially, you could never go wrong by making the choice economically viable in the now. Once business is profitable, you can always pivot.

This is a a very dense topic and hard to summarize in a couple of lines.
 
Last edited:
How long is a piece of string? There is no silver bullet. What is a "good front-end framework" even?

This will depend entirely on your business and your requirements. Start there and build up. Often, I've found in these types of discussions, the framework you/your team knows is the best choice. At the end of the day, you're creating an application to make money, whether that be directly from other businesses, general consumers or even as consulting fees.

Even if you get the choice "wrong" initially, you could never go wrong by making the choice economically viable in the now. Once business is profitable, you can always pivot.

This is a a very dense topic and hard to summarize in a couple of lines.
Of course, using what the team knows is a great place to start.

However, I also know what context Spacerat is asking this question in - he is asking this from a “assuming you are building a team from scratch” perspective - I make this assumption based on his post history.
 
However, I also know what context Spacerat is asking this question in - he is asking this from a “assuming you are building a team from scratch” perspective - I make this assumption based on his post history.
Yes correct. I am not so experienced on the front end, so want to make a choice on the F/E stack and just wanted to gauge opinion on Angular/React as they both seem quite popular. And then recruit accordingly.
 
Yes correct. I am not so experienced on the front end, so want to make a choice on the F/E stack and just wanted to gauge opinion on Angular/React as they both seem quite popular. And then recruit accordingly.
I'd wish Angular on my worst enemies.

I dont want to write classes and us annotations/attributes.
I dont want to use rxjs, and I dont want to have to `.toPromise()` everything
I dont want my "logic" to live in a .ts file, my html to live in a .html file, and my css to live in a .css file.
Maybe Angular is better today, but I am probably not going to go find out

it's just not a "good" framework IMO, but I will admit that if you had only c# developers, and they are not very good, then it might be a good option, because the code looks a lot like c#
If you have good developers, then I am sticking to my case :)
 
I'd wish Angular on my worst enemies.

I dont want to write classes and us annotations/attributes.
I dont want to use rxjs, and I dont want to have to `.toPromise()` everything
I dont want my "logic" to live in a .ts file, my html to live in a .html file, and my css to live in a .css file.
Maybe Angular is better today, but I am probably not going to go find out

it's just not a "good" framework IMO, but I will admit that if you had only c# developers, and they are not very good, then it might be a good option, because the code looks a lot like c#
If you have good developers, then I am sticking to my case :)
Cool thanks for the input.
 
I'd wish Angular on my worst enemies.

I dont want to write classes and us annotations/attributes.
I dont want to use rxjs, and I dont want to have to `.toPromise()` everything
I dont want my "logic" to live in a .ts file, my html to live in a .html file, and my css to live in a .css file.
Maybe Angular is better today, but I am probably not going to go find out

it's just not a "good" framework IMO, but I will admit that if you had only c# developers, and they are not very good, then it might be a good option, because the code looks a lot like c#
If you have good developers, then I am sticking to my case :)

Just going to chip in and say that Angular is a very opinionated framework. The points you mentioned are to do with "The Angular Way" (except for the .toPromise() bit, not sure where you picked that up). I'm also partial to Django, which too is a very opinionated framework.

If you want to do it "your" way, then Angular is not the choice for you. If you want to do it a "standard" way that thousands of other developers have done it, then go for Angular.

I do like C# as well though. .NET is performant and neat, but not opinionated enough :D
 
Just going to chip in and say that Angular is a very opinionated framework. The points you mentioned are to do with "The Angular Way" (except for the .toPromise() bit, not sure where you picked that up). I'm also partial to Django, which too is a very opinionated framework.

If you want to do it "your" way, then Angular is not the choice for you. If you want to do it a "standard" way that thousands of other developers have done it, then go for Angular.

I do like C# as well though. .NET is performant and neat, but not opinionated enough :D

If you don't want to use rxjs, e.g. `.subscribe()`, then you can convert to a promise
 
well I guess we CAN just list a bunch of technologies, but I think there is more value in why you would choose a technology :p

I think flutter is a great piece of tech.
Whats nice about Dart/Flutter is that it is "batteries included" - the build pipeline, formatting/linting, etc
I think you can actually make great money by being a Flutter freelancer.
You need to learn another programming language - although Dart does look super familiar, basically Java
god is it noisy/awful to look at/write :sick: - it's so bad that even the VS Code plugin add "fake comments" so you can see when each component closes

JavaScript:
class MyApp extends StatelessWidget {
  const MyApp({Key? key}) : super(key: key);

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: Scaffold(
        appBar: AppBar(
          title: const Text('Rebuild only when necessary'),
        ),
        body: Align(
          alignment: Alignment.topCenter,
          child: Column(
            mainAxisSize: MainAxisSize.min,
            children: const [
              SizedBox(height: 16),
              SizedBox(
                width: 300,
                child: Text('Flutter\'s algorithms for rebuilding and '
                    'repainting widgets are linear in the worst case, '
                    'and typically sub-linear. Try clicking one of '
                    'buttons below -- they\'ll tell you exactly '
                    'when they rebuild!'),
              ),
              SizedBox(height: 16),
              ClickyBuilder(),
              SizedBox(height: 16),
              ClickyBuilder(),
              SizedBox(height: 16),
              ClickyBuilder(),
            ],
          ),
        ),
      ),
    );
  }
}


I'd still WAY rather use Flutter than have to work on iOS/Swift or Android/Java/Kotlin :X3:
 
Last edited:
I see that Angular is still very popular but React also making strides. What are the opinions out there? I want to build a line-of-business site using ASP.NET Core and WebAPI as a back-end.
In the race between Angular and React. React, without question.

You could absolutely pick anything, it's only when you hit critical mass that it actually matters. Architecture and backend stack matters far more.

Get a white hot db admin / dev ops guy or girl, and two mid level React devs, and you are good to go.
 
In the race between Angular and React. React, without question.

You could absolutely pick anything, it's only when you hit critical mass that it actually matters. Architecture and backend stack matters far more.

Get a white hot db admin / dev ops guy or girl, and two mid level React devs, and you are good to go.
Cool tx but dont think a db admin is the right person for domain and api. Agreed that architecture and backend matters most. I am a huge proponent of establishing patterns, so lots of effort wil go into that
 
I don’t really (yet) understand where all these frameworks fit in. I have previously done a MVC/razor/jquery/bootstap site. But will have to investigate vue/angular/react/fluttter etc. To be honest, i am not a huge fan of javascript. Prob because it seems verbose and i am used to the terseness of c#. The app i need to build has lots of graphs, grids and crud type forms with text entry, popup selection / search grids. D3 likely good for the graphing.
 
Top
Sign up to the MyBroadband newsletter
X