locked
Opinion regarding Angular in ASP.Net Core Project RRS feed

  • Question

  • User1396448631 posted

    This is more of a "why" than a "how" question on why should we really be using Angular in a .Net core project?

    Ours is a supply chain company with a very lean IT dept. Majority of our big applications are web forms (use Telerik controls) and few smaller ones are in MVC.

    Going forward, we have decided to use MVC Core since transition between MVC and Core isnt too much. Also Microsoft ecosystem is stable, tried, and tested.

    We get sufficient time to learn new technologies so learning Angular isn't a problem. But other than a flashy word on resume, is there any significant benefit of building client in Angular?

    If so, would appreciate some selling points.

    Tuesday, June 26, 2018 2:53 PM

Answers

  • User475983607 posted

    @ddqasp, Angular is a framework for building Single Page Applications (SPA).   I believe you question is, "should I build an SPA or traditional web application?".  The following link should help understand the differences.

    https://docs.microsoft.com/en-us/dotnet/standard/modern-web-apps-azure-architecture/choose-between-traditional-web-and-single-page-apps

    @wavemaster, consider learning Core if you're curious or read the Core Introduction and Fundamentals docs.

    • Marked as answer by Anonymous Thursday, October 7, 2021 12:00 AM
    Tuesday, June 26, 2018 4:03 PM
  • User-1034726716 posted

    I think it's more of a "preference". There are bunch of popular front-end frameworks out there that you can choose. Before choosing which, consider asking these questions:

    • learning curve
    • stability
    • support
    • performance
    • deployment
    • features and limitations
    • target platforms/servers
    • cost

    Answering the questions above should answer your "why" thing.

    Mostly people will "choose" ASP.NET Core with Angular because they are comfortable working with it (especially now that VS has a nice CLI tooling to plugin Angular stuff in just a snap), it fits their development environment and it answers to the questions listed above.

    • Marked as answer by Anonymous Thursday, October 7, 2021 12:00 AM
    Wednesday, June 27, 2018 4:21 AM
  • User283571144 posted

    Hi dbqasp,

    In my opinion, angular is a client side MVC framework, complete with a router, actions and views.

    Creating with AngularJS has the following benefits:

    • Structural JavaScript\Data Binding\Templating
    • Let the client to handle rendering of pages, free up resources on the server.
    • Leverage the built in caching of cache servers since we are just dealing with <html/> content.
    • Since the pages are caches, the only traffic back and forth is JSON payloads. 
    • We wanted to build a responsive SPA with AngularJS fit for testability.
    • AngularJS forces the MVC pattern at the client-side making the code more modular.

    Besides, we decouple forent-end and back-end normally.

    The forend-end is also a very complex deign for moden web application.

    So we also need some framewrok to help to design a good forent-end web application.

    Best Regards,

    Brando

    • Marked as answer by Anonymous Thursday, October 7, 2021 12:00 AM
    Wednesday, June 27, 2018 5:49 AM

All replies

  • User379720387 posted

    I have been wondering about that myself.

    Not been sold on Core yet. Seems like the big benefit is that it will run on linux servers.  Is there a shortage of windows servers??

    Seems to be  a lot of CLI going on. Didn't we decide that DOS was not a path forward back in the 90's?

    Tuesday, June 26, 2018 3:43 PM
  • User475983607 posted

    @ddqasp, Angular is a framework for building Single Page Applications (SPA).   I believe you question is, "should I build an SPA or traditional web application?".  The following link should help understand the differences.

    https://docs.microsoft.com/en-us/dotnet/standard/modern-web-apps-azure-architecture/choose-between-traditional-web-and-single-page-apps

    @wavemaster, consider learning Core if you're curious or read the Core Introduction and Fundamentals docs.

    • Marked as answer by Anonymous Thursday, October 7, 2021 12:00 AM
    Tuesday, June 26, 2018 4:03 PM
  • User379720387 posted

    Never heard about Core and SPAs.

    This part scares me:

    Additionally, SPA frameworks require greater architectural and security expertise. They experience greater churn due to frequent updates and new frameworks than traditional web applications. Configuring automated build and deployment processes and utilizing deployment options like containers are more difficult with SPA applications than traditional web apps.

    Tuesday, June 26, 2018 4:26 PM
  • User-1034726716 posted

    I think it's more of a "preference". There are bunch of popular front-end frameworks out there that you can choose. Before choosing which, consider asking these questions:

    • learning curve
    • stability
    • support
    • performance
    • deployment
    • features and limitations
    • target platforms/servers
    • cost

    Answering the questions above should answer your "why" thing.

    Mostly people will "choose" ASP.NET Core with Angular because they are comfortable working with it (especially now that VS has a nice CLI tooling to plugin Angular stuff in just a snap), it fits their development environment and it answers to the questions listed above.

    • Marked as answer by Anonymous Thursday, October 7, 2021 12:00 AM
    Wednesday, June 27, 2018 4:21 AM
  • User283571144 posted

    Hi dbqasp,

    In my opinion, angular is a client side MVC framework, complete with a router, actions and views.

    Creating with AngularJS has the following benefits:

    • Structural JavaScript\Data Binding\Templating
    • Let the client to handle rendering of pages, free up resources on the server.
    • Leverage the built in caching of cache servers since we are just dealing with <html/> content.
    • Since the pages are caches, the only traffic back and forth is JSON payloads. 
    • We wanted to build a responsive SPA with AngularJS fit for testability.
    • AngularJS forces the MVC pattern at the client-side making the code more modular.

    Besides, we decouple forent-end and back-end normally.

    The forend-end is also a very complex deign for moden web application.

    So we also need some framewrok to help to design a good forent-end web application.

    Best Regards,

    Brando

    • Marked as answer by Anonymous Thursday, October 7, 2021 12:00 AM
    Wednesday, June 27, 2018 5:49 AM
  • User-1780421697 posted

    I have done an enterprise application in ASP.Net Core and AngularJS , it was almost 1 and half year project, there was requirement from client that we should use AngularJS as SPA framework, the reason was application do not contains lot of pages and modules which are hard to manage, it is easy to manage dynamic views and routes , real time processing was involved to update the data of devices (IoT). 

    There is always a debate on SPA and MPA but as per my opinion we can have a hybrid application , like for a specific module we can like Administration/Admin Dashboard instead of doing page refresh for each action we can use AngularJS to do job of data binding, routing, view navigation etc. for us. it also support localization and there is a pipeline when ever we navigate from one page to another we can intercept request do process.

    So I think that its up to the requirements where SPA fits entirely are for a module or set of module, however there are some issues that we have faced when using SignalR when we have different hubs for each view and scope and lifetime of a hub when client side navigation occurs , it did not close the hub automatically may be it beyond the scope over here so another issue is storage persistent for different business logic.

     

    Wednesday, June 27, 2018 6:51 AM