Last post Apr 26, 2020 10:39 PM by DesNolan
Dec 29, 2019 01:16 PM|EngSH|LINK
I want to develop a big enterprise application in .Net core. what pattern should i follow for front & backend?
I need experts suggestions with pros & cons
Dec 29, 2019 08:38 PM|bruce (sqlwork.com)|LINK
it looks like informational, the more you may lean to client.
logic, then this lead to duplication of server code.
whether you pick client or server you will need a CSS framework. bootstrap is popular (and requires jQuery). But you should look at material and foundation. if you plan on any client code, and are not using a full client framework than you probably want
lets assume you pick server code. now you chose between MVC or razor pages. unless you are familiar with server MVC, you are probably better off with razor pages. In razor pages the UI logic is all in one place (you should still use business objects to implement
this can be a good choice. You have one common tool chain.
While angular is a full framework, and well supported, its evolution has not been kind to developers. For enterprise developers who's application must run for years, and don't allow yearly rewrites, you can end up with dated angular code. Maybe version will
be stable, but who knows.
the choice between vue and react (especially now that vue supports reacts jsx template language) comes down to you opinion of binding. react uses flow (one way binding with messages) and vue uses the observable pattern (though you can use reacts flow if
you want). also vue is directive based, and react is component, but the line blurs between them.
another decision for client coding is whether you want to use typescript (strongly typed language) or functional programing (es8). you should research the pros / cons of these two methods. if you pick functional you might want to look at F# for the server
code. if you stick with C#, then use linq for the server loops, and the style will match the client.
I write enterprise applications, and started with asp (originally named piglet at MS), migrated to asp.net webforms (wrote server and ajax toolkit controls), and switched to MVC when it came out (never looked back to webforms). I have currently switched
to SPA/react and MVC/webapi as having all the logic in one spot is freeing. Its like writing desktop applications again. If I hadn't switched to client programming, I'd look closely as Razor pages, but they are too late for my applications.
an alternative for enterprise applications, especially if multi-tier or use of cloud services is to use nodejs for hosting the UI. If your enterprise is cloud based (or can easily support on premise node), then using node for hosting the UI has many advantages.
The same code works client/server. Server pre-render support. If the UI team is separate from the services teams, this makes even more sense. This is a common approach for large enterprise teams like facebook, redfin, and azure (to name a few).
a leaner approach is static hosted SPA application calling cloud services directly (Twitter). Both AWS and Azure support this well. The main requirement for enterprise applications is a federated login service like Azure AD.
Dec 30, 2019 07:50 AM|EngSH|LINK
Thank You for detailed reply
This big enterprise application is web based.
I guess i should use api in .net core and use any front end like bootstrap/jquery
Apr 26, 2020 10:39 PM|DesNolan|LINK
WOW Bruce, a great overview, helped me a lot. Thanks, Des Nolan