1

So I've been trying to research in which direction our project should go, meaning which technology to use to create the project. The project is primarily a visualization tool of measurement data coming from different machines. Users should be able to upload measurement data, visualize measurement data, compare measurement data and search for measurement data. The back-end is all written in ASP.NET WebAPI, which works really nice, we have dozens of https commands that yield nice JSON results, that works good and some non-browser tools can access the measurement data really nicely. Now my boss wants to have same or similar functionality for the browser and I need to chose a suitable framework/library/technology. I'm quite familiar with jQuery (who doesn't) and made some mock-ups using plotly. So far so good, however I feel, that this approach is too old-fashioned and might become a problem in the near future, when suddenly expectations increase (quick mobile-implementation and what not). So when browsing around the web many tech-names arise

  • Node.js
  • Angular (2, or the "old" angular.js)
  • React
  • Aurelia
  • Bootstrap
  • Knockout
  • and what not.

I gave a quick look into Angular2, which appears to be pretty popular and, hey, made by google, however it just doesn't feel right, since the rest of the app is made in VS ASP.NET MVC/WebAPI and somehow that doesn't merge well enough with Angular2/Node.js (or so I believe, at least from a IIS/routing POV).

So my question is: is there an alternative to Angular, with similar future usefulness, similar power for my data-driven app and merges nicely with the existing setup. Besides: I'm a big fan of single-page-applications (SPA) Maybe knockout is the way to go? Or is that a dead-end that one should not start with (most tutorials are 3 years old... which seems to be "very old" in this kind of world)? What is reasonable to start learning (from a carreer point of view)? E.g. I wouldn't recommend anyone to start with PHP....

PS: I hope this is the right place to ask this question, if not, please point to the right direction.

3
  • Have you looked at the Angular project in VS 2017? They also have React,js, Vue.js, and one or two more. These .NetCore projects are setup to work with ASP.Net.
    – Chillie
    May 17, 2018 at 12:08
  • Yes, I have looked into that, at least superficial. I don't quite get the whole routing point, so I have "normal MVC" routing for web and webAPI pages (e.g. www.site.com/api/method and www.site.com/View), i.e. all the database logic is programmed in the WebAPI part and the Views just receive JSON data from the API.
    – rst
    May 23, 2018 at 5:34
  • I think routing really only helps with single page applications. From what I have been able to learn, they are pretty much all the same. There are always frameworks coming and going, just like any other technologies. I have noticed that "old" languages and frameworks have a tendency not to good anywhere, when popular. Like Pascal, its really old, but still being used for things. Just like C.
    – Chillie
    May 23, 2018 at 12:51

1 Answer 1

0

that doesn't merge well enough with Angular2/Node.js (or so I believe, at least from a IIS/routing POV)

Your assumption might be incorrect here. ASP.NET is currently shipping with an Angular template: https://docs.microsoft.com/en-us/aspnet/core/spa/index?view=aspnetcore-2.1

So my question is: is there an alternative to Angular

To answer this question anyway; Yes. In the link above you find some other templates, and there are community templates to find as well, for example: https://github.com/vuorinem/aspnet-aurelia-webpack-skeleton

I chose this example because I think that you will like aurelia, see:

Their own project start has the option to choose asp.net core too, but its not using .net core 2.1 yet because that is released today.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.