locked
What framework to choose RRS feed

  • Question

  • User1655654435 posted

    I'm making a web app in asp.net core. It's purpose is to be used by 5-8 persons at the same time as a group. I want it to be able to display to all the users in the group changes that one of the users make. So that if one is changing an article and saves it to the database, all the other users also get this info fairly quickly and smoothly.

    It's a farily simple app for reading documents and signing off on them, making to do notifications and maybe displaying some data(dates, charts, user stats etc)  in boardmeetings.

    I'm thinking I need to use a js framework for this such as Vue, Angular or Knockout. But I have no experience with them.

    Could anyone recommend me one that can do this, and at the same time not being too convoluted and difficult to learn?

    Friday, March 10, 2017 11:08 AM

Answers

  • User-474980206 posted

    you have a lot of choices. it depends on how complete a framework you want

       Vue looks to be a template view engine. You need a separate library for communication
       Knockout is a binding library with an observable model
       Angular is a full framework with a template view engine, binding and routining. version 1 uses an observable model, version 2 uses a more modern one-way model.
       React/Redux is component view engine with a one-way model. a routing component is not included, but several are available.

    Angular and React are the most popular frameworks right now. Reacts flux (one way) binding is so powerful, angular was redesigned to use the same binding pattern.

    choose Angular 2 if you like template view engines and solo frameworks. choose React if you like component view engines. also if you choose angular, its best to code in typescript, but not required (just all the examples are in typescript and angular is written in typescript).

    I prefer React/Redux because I like its component model and the debugging tools for the browser. I have also used React Native for mobile apps.

    If you pick one of these frameworks, you will be buying into node build system (gulp or webpack) and should use either typescript or babel as a transpiler so you have module support. chrome should be your debugging browser because it has all the tools.

    as you will be using the node tool chain for the client code, you might also look at node as the host. 

    • Marked as answer by Anonymous Thursday, October 7, 2021 12:00 AM
    Friday, March 10, 2017 4:32 PM
  • User281315223 posted

    You'll be happy to know that you are in the same exact boat as pretty much every other developer.

    I'm thinking I need to use a js framework for this such as Vue, Angular or Knockout. But I have no experience with them.

    Could anyone recommend me one that can do this, and at the same time not being too convoluted and difficult to learn?

    I've been playing around with a few different frameworks for a while now (Angular, Aurelia, Vue, and React) and they each have their own pros and cons. And in a nutshell, this would be my recommendations :

    • If you want a full-on SPA application - go with Angular or Aurelia. They aren't as "component-first" as React and Vue are, and will have that SPA-feeling as a first class citizen (this isn't to say that Vue or React can be done in such as way, it's just not their focus).
    • If you want components / templates - go with React or Vue. These are more of view engines as opposed to full-fledged SPA frameworks (not to say that you couldn't build one with them, it's just again - not really their focus).

    Bruce addresses many of these details within his post as well. But in my experience, I found Vue / React the easiest to learn, and while I LOVE Aurelia, it simply didn't have the community behind it for me to really invest in it fully.

    It's worth noting that if you are starting a new project, you might take a look at Steve Sanderson's JavascriptServices project, which has several templates for "getting started" with various frameworks along with .NET Core projects (it basically sets up things like webpack, npm, gulp, etc.) so that you can actually get off the ground faster.

    • Marked as answer by Anonymous Thursday, October 7, 2021 12:00 AM
    Friday, March 10, 2017 4:52 PM

All replies

  • User-474980206 posted

    you have a lot of choices. it depends on how complete a framework you want

       Vue looks to be a template view engine. You need a separate library for communication
       Knockout is a binding library with an observable model
       Angular is a full framework with a template view engine, binding and routining. version 1 uses an observable model, version 2 uses a more modern one-way model.
       React/Redux is component view engine with a one-way model. a routing component is not included, but several are available.

    Angular and React are the most popular frameworks right now. Reacts flux (one way) binding is so powerful, angular was redesigned to use the same binding pattern.

    choose Angular 2 if you like template view engines and solo frameworks. choose React if you like component view engines. also if you choose angular, its best to code in typescript, but not required (just all the examples are in typescript and angular is written in typescript).

    I prefer React/Redux because I like its component model and the debugging tools for the browser. I have also used React Native for mobile apps.

    If you pick one of these frameworks, you will be buying into node build system (gulp or webpack) and should use either typescript or babel as a transpiler so you have module support. chrome should be your debugging browser because it has all the tools.

    as you will be using the node tool chain for the client code, you might also look at node as the host. 

    • Marked as answer by Anonymous Thursday, October 7, 2021 12:00 AM
    Friday, March 10, 2017 4:32 PM
  • User281315223 posted

    You'll be happy to know that you are in the same exact boat as pretty much every other developer.

    I'm thinking I need to use a js framework for this such as Vue, Angular or Knockout. But I have no experience with them.

    Could anyone recommend me one that can do this, and at the same time not being too convoluted and difficult to learn?

    I've been playing around with a few different frameworks for a while now (Angular, Aurelia, Vue, and React) and they each have their own pros and cons. And in a nutshell, this would be my recommendations :

    • If you want a full-on SPA application - go with Angular or Aurelia. They aren't as "component-first" as React and Vue are, and will have that SPA-feeling as a first class citizen (this isn't to say that Vue or React can be done in such as way, it's just not their focus).
    • If you want components / templates - go with React or Vue. These are more of view engines as opposed to full-fledged SPA frameworks (not to say that you couldn't build one with them, it's just again - not really their focus).

    Bruce addresses many of these details within his post as well. But in my experience, I found Vue / React the easiest to learn, and while I LOVE Aurelia, it simply didn't have the community behind it for me to really invest in it fully.

    It's worth noting that if you are starting a new project, you might take a look at Steve Sanderson's JavascriptServices project, which has several templates for "getting started" with various frameworks along with .NET Core projects (it basically sets up things like webpack, npm, gulp, etc.) so that you can actually get off the ground faster.

    • Marked as answer by Anonymous Thursday, October 7, 2021 12:00 AM
    Friday, March 10, 2017 4:52 PM