P3 Prototype framework
Hi Anil,
What your comfort level, opinion, and experience with ASP.NET Core 1? In discussion with Derek his opinion is that this is more forward-looking than MVC 5.
Ryan
What your comfort level, opinion, and experience with ASP.NET Core 1? In discussion with Derek his opinion is that this is more forward-looking than MVC 5.
Ryan
The choice of going for ASP.NET Core or ASP.NET MVC approach would primarily depend on the type of application and the features that would be envisaged. If the application is more database intensive, then the ASP.NET MVC approach is more preferred as its Entity Framework is more robust and mature than the .Net Core. The latter is more recent and its Entity Framework will eventually evolve. This would mean that there would be lot of re-coding / upgrades as .Net Core matures. Please see below further observations/comments:
Please let us know your thoughts.
Just following up on Anil's post above. Do you, Derek and Juan have any thoughts on this issue?
Note that we should also consider this issue in the context of ISLG, because I assume the we'll use the same framework as P3 when we rebuild the application next year.
Thanks,
Morgan
Thanks for the response Anil. You make some good points regarding the decision to use .Net Core vs. MVC5 and, to be honest, there likely really isn't a "wrong" answer here.
With the recent release of Entity Framework 2.0 (EF Core), the feature parity between EF 6 is closing:
https://docs.microsoft.com/en-us/ef/efcore-and-ef6/features
... but there are still some missing pieces in EF that could be stumbling blocks in development.
It's also true that the number of available packages (through Nuget or other dependency management tools) and documentation is not as robust in .Net Core given the age of this technology vs. MVC5.
Both of these items could result in some delay in development as more code would need to be written, or alternative design considerations made to accommodate.
All that being said, from a future proof perspective, Microsoft is fully invested in .Net Core and the .Net Core Standard. The choice between more development effort today using tooling that meets the .Net Core Standard is much more future proof.
Also, the single point I'd disagree with above is on the security side. .Net Core Security being separated as separate middleware is a great decision on their part. They greatly simplified the approach, providing multiple provider support, separated the application server (Kestrel) from the app pools and provided a really solid boilerplate for user authentication.
They even have active bug bounty programs covering .Net Core (including Kestrel):
https://technet.microsoft.com/en-us/security/dn425036
Also, the fact that all of .Net Core is open source vs. the closed source nature of previous versions not only improves overall security (more eyes on the code, outside of Redmond) but it is provides another future-proofing vector if Microsoft decides to change strategies in the future.
Morgan, as I said above, there's not really a clear-cut yes/no answer on how to proceed here yet. The decision is largely between a potential (strong potential) in upfront development effort on a newer technology vs. how future proof you want the underlying technology stack to be for both applications.
As of today, there is no end-of-life for MVC5 or any of it's Microsoft provided dependencies. Microsoft has only stated that once end-of-life is announced, they will provide 12 months of support following the announcement.
Thank you both for your comments above. Although I appreciate the risks of adopting newer technology, I want to ensure that we are using the framework that will maximize the lifespan of the platform and leverage the performance opportunities available with newer technology. Therefore, let's proceed with building both applications in .NET CORE.
Also, the ISLG rebuild is going to be a much more difficult and elaborate project. Before that project begins, we can use the P3 prototype as a test case for .NET Core. If we run into serious problems with .NET Core during this project, we can revisit this issue before starting ISLG.
Anil, unless you have further concerns, could you please make the appropriate arrangements as we start to shift from the design to development phase in the P3 Prototype project.
Thanks,
Morgan
Hello Derek and Morgan,
Thanks for your responses.
We will proceed to setup .Net Core environment ready in My and Hiren's PC so that development can be started once the wire frame will be freeze.
Our next step would be SQL database designing for P3 prototype.
Let us know if you need feedback on the proposed design for the SQL database.
Morgan
We require to install "NET Core Windows Server Hosting" on Carbon60 server (10.68.138.10) to host P3 prototype. We need to install this on the same server where ISLG is host.
Please suggest if I can send an email to Carbon 60 support team.
It should be pretty straightforward for Carbon60 to do. The existing Application Pools should have the .Net Framework versions specified. With this installed, the P3 application pool would need "No Managed Code" specified so it falls back to Kestrel to handle.
I don't believe it requires a reboot or should impact any existing services on the server, but we should include in the request that if that does become the case we'll need to schedule a maintenance window.
Anil, please proceed with contact Carbon60. Please cc'd Derek, Juan, Ryan and myself, and that they can contact me about any account management issues.
Thanks,
Morgan