We have done a quick proof of concept web application using PlayFramework1.2 and now we would like to proceed for production release however one of the concern is that Play Framework not enterprise compatible and wanted the application to be ported over to Spring.
Any tools or guidelines for porting over playframework project to spring MVC ?
Note: I'm saying not enterprise compatible because it seems Play1.x development been abandoned and no any new Play 1.x release recently. Also current Play framework 2.0 more focus on Scala rather than Java.
As above posters mentioned Play 1.x was an initial draft. I was in your shoes contemplating whether to rebuild the app in Spring but I gave Play 2.x a chance and now I don't think I want to go for Spring at all. With every release Play is becoming more and more feature rich. I think before migrating to Spring you should give Play 2.1 a chance. Moreover if you need Spring for DI then you can actually mix Spring with Play 2.1 as well. See this demo app:
https://github.com/guillaumebort/play20-spring-demo
Hope that helps.
Related
We are going to create new application using Web Forms and we want to know when Web Forms (ASPX pages) Technology going to be obsolete or not be supported from Microsoft.
https://dotnet.microsoft.com/platform/support/policy/aspnet
So WebForms is part of .Net Framework.
https://learn.microsoft.com/en-us/dotnet/framework/migration-guide/versions-and-dependencies
“.NET Framework 4.8 is the last version of .NET Framework. .NET Framework is serviced monthly with security and reliability bug fixes. .NET Framework will continue to be included with Windows, with no plans to remove it. You don't need to migrate your .NET Framework apps, but for new development, use .NET 5 or later.”
So it's baked into Windows at this point if you want to use it. Everyone will discourage you from using it, as you are essentially mastering out-of-vogue and increasingly obsolete technology, and maybe not doing your career any favors. But if, like me, you have some huge WebForms app for which there is no time nor money to rewrite, then you can at least rest assured that it will continue to run on Windows.
Microsoft will be continuing to support ASP.Net WebForms for some time to come since much of it's functionality is based into the core .Net Framework. There are several locations to get information on which ASP.Net features/technologies such as ASP.Net MVC 4 will be going out of support soon. https://www.asp.net/support lists many of the technologies. For ASP.Net Webforms, it's tied to the Framework versions as best as I understand. https://support.microsoft.com/en-us/lifecycle/search?alpha=.net%20framework
Support policy for ASP.NET is documented here: https://dotnet.microsoft.com/platform/support/policy/aspnet
The role of .net native in .net ecosystem is confusing for me. I heard it is just for universal windows applications, but also heard that it is part of CoreFX. I think having the option to compile to .net native can have many advantages (including performance).
Is it possible to compile my asp.net application (specially asp.net 5) to .net native?
No, you cannot. Right now, .NET Native is not for ASP.NET. I believe it's only for Universal Windows Applications. That doesn't mean that one day it won't be available, but right now it's not planned.
See related GitHub issue where ASP.NET team confirms this.
Edit 11/27/2015
Since this was posted, Microsoft has made further announcements regarding .NET Native and .NET Core. I suggest you check out Scott Hanselman's part of the keynote from the Microsoft Connect 2015 event. At the 11:22 minute mark of this excerpt video Scott shows compiling an .NET app to native code and then running it. He says it's "future work" so it appears it's not quite ready yet (I believe one of the Q&A videos from the event explained that it's in one of the dev branches on GitHub, but I'm too lazy to rewatch all the videos for you at the moment). It was unclear if this is only working for console apps at the moment or if it will run ASP.NET.
As Thomas says in comments, this should be possible once LLILC is out. It targets .NET Core which is what ASP.NET 5 runs on. I am not sure if the resulting runtime can be called .NET Native per say but LLILC do has plans to natively compile IL (e.g. output by Roslyn) ahead-of-time.
Another option is ASP.NET running on CoreRT by using RyuJIT as AOT compiler. This looks closer to reality today than LLILC. Have seen some experiments in compiling ASP.NET project on CoreRT but nothing that actually works.
[.NET Native makes use of UTC compiler which compiles to run on some C++ runtime (MRT - either minimal runtime or managed runtime, cant remember, also known as Native runtime). Currently the .NET Native UWP apps are windows specific. Though .NET Native and UWP are advertised under .NET Core, this could be misleading as only in debug mode UWP targets CoreCLR, in release mode it targets native runtime which is Windows specific. LLILC/CoreRT should change that.]
I've seen videos introducing ASP.NET vNext and been keeping up with the recent announcement blog posts, but detailed information on what's been stripped from the full framework appears slim. Here's what I think I know so far:
It's much smaller (11MB vs >200MB): http://davidzych.com/2014/05/24/getting-started-with-asp-net-vnext/
Strong naming is gone: http://jeremydmiller.com/2014/06/09/final-thoughts-on-nuget/
It's dumped System.Web
It includes a merged MVC and WebAPI (however I don't believe this is part of the framework itself but rather dependencies that can be specified)
Dependencies are completely managed through project.json, to the extent that the base
Are we basically looking at a framework that basically includes nothing more than what's in mscorlib in the full framework, with all else delivered via package management? And if this is the case, why would one need to target the framework specifically, as described here? http://blogs.msdn.com/b/webdev/archive/2014/06/17/dependency-injection-in-asp-net-vnext.aspx
The reason they specifically target NET45 in the link you supplied is because AutoFac is built for and has a dependency on .NET 4.5. Without NET45 the code wouldn't compile.
My assumption is that once vNext gets closer and closer to release the Autofac (and StructureMap, and Castle Windsor, and ...) will release a version that targets the cloud optimized framework to remove the dependency.
As far as I understand, .Net Framework is the fully framework we know and love with all the Windows implementations and lots of code we don't normally use, like they explain in some videos an XML parser.
In .NET Core they removed all the unneeded implementations/dependecies and only left the basic ones. which also enables cross platform (not yet), so in the future one could think as the only framework : CORE Framework, and run on any device. Their february community standup give a lots of information and insight on their objectives and goals.
I see this as a transition, when some features are available only on the full Framework while in the futures one might expect to see all features available for .NET Core.
From a Microsoft perspective, if they want to release lets say Entity Framework for mobile (EF7 is aiming at that) they must get rid of all the windows implementations, on EF and it's dependencies (Framework). So they created a non-windows dependency on the framework, which also helps the multiple framework install and remove some problems with updating the framework by having them mostly isolated from the system, lying in the application. New problems will come like multiple copies of the same framework on one machine per application, that's why they are working on something called Smart Sharing.
This post may help you and give you some insight specially this part :
The structure of .NET Core is comprised of two major components which
add to and extend the capabilities of the .NET Framework as follows:
Runtime:
Built on the same codebase as the .Net Framework CLR. Includes the
same GC and JIT (RyuJIT) Does not include features like Application
Domains or Code Access Security. The runtime is delivered on NuGet
(Microsoft.CoreCLR package)
Base class libraries:
Are the same code as the .Net Framework class libraries but do not
contain dependencies so have a smaller footprint. Available on NuGet
(System.* package)
and I guess you already read Introducing .NET Core from Microsoft.
Regarding your concern about specifying a specific framework is because right now, not everything works on Core CLR so you must choose which one to use, or you can target both and use different implementations.
As of right now, CORE only runs on Windows; the mono framework doesn't have a SQLLite provider for entity framework but it does on Core, so you can use an InMemory or Azure EF provider for example, and choose depending on the enviroment your application is running.
As Scott Gu says on the community standup, they envision a future where there's no mono framework or full framework, there's just Core, but that will take time if it ever happens.
I can't find an original source other than a comment by David Fowler (I believe) on a presentation from NDC, but CoreCLR used by the K Runtime is actually a reincarnation of the CLR used by Silverlight 2. It was used because it's small and designed to be cross platform. There is some additional information here: https://stackoverflow.com/a/25720160/113225
My application is ASP.NET MVC5.1 and ASP.NET WEB API 2.1. The application
is small and currently using Microsoft Unity for IOC.
Can someone advise me if they know of any changes needed to make Unity
work with these very new releases of MVC and Web API?
I am also considering changing to Ninject depending on features.
If I made this move then what features does it offer that the latest version of Unity lacks? My big concern is that Ninject appears to be well supported whereas Unity seems to be a product that's updated every couple of years when the Microsoft guys have the time to look at it.
Finally how much of a change is needed if I change from Unity to Ninject?
I don't know much about Ninject, but we upgraded our MVC4 to MVC5 application here earlier this week, following the instructions for How to Upgrade an ASP.NET MVC 4 and Web API Project to ASP.NET MVC 5 and Web API 2.
The application is already in production, so I can confirm that Unity supports these new releases! Then you can continue to use it without any damage.
Hope it helps to make your decision.
See ya!
Yes, you can use Unity 3.0.1304.1 in ASP.NET MVC/WEB API 5.1 and 2.1 project.
I use it, because i can't configure ninject without any bugs for latest mvc core libraries.
i already built some web applications using asp.net MVC 3 and they work well, and currently i am in the state of starting a new web application for a medical clinic ; but i need to have some advice if i should consider using asp.net MVC 4 beta version instead of asp.net MVC 3?
thanks in advance for any help and suggestions ?
BR
Personally I would start in MVC3 and then upgrade the project to v4 when it's RTMd. Previous versions have had some issues when migrating from Betas (altho see update below).
You can be sure, however, that as with previous version increments, a swift and easy upgrade path will be available (usually there's a project conversion tool released at the same time).
I have a project I'm working on right now, and if I get to the web layer before v4 is finished, I'll be starting in v3 first.
I suppose it does depend, however, on whether any of the new features, such as the adaptive rendering via Mobile views (or indeed the Web API), are intrinsic to your solution. Just don't release on a beta platform :)
Update July 2012
I ended up getting to the web layer of my current project before v4 RTM so decided to go to the RC release first; then the nightly nuget packages for Web API support.
Apart from editor issues (that are documented), I've found no issues, even with integrating a whitelabelling extensibility library I've written, for MVCs 1-3, that operates at a very low level.
Would I have migrated early if I'd not needed the numerous benefits that the Web API provides? Probably not.
But as it is, I'm glad I did :-)
Unless you have a specific reason to use MVC 4 (perhaps a feature that isn't in MVC 3) I would stray away from using beta software for a customer/client. Who knows what bugs/issues you'll have to work around when developing the application or when you upgrade from beta to general release.
There's a reason it's in beta.
As Mackie says.. unless you need a specific feature in MVC4, i'd stay with MVC3. MVC4 is mostly just new features, and has very few changes in the way MVC itself works.
I disagree with Mackie in his comment about "there's a reason it's in beta", in fact MVC4 is very stable and has a go-live license to allow you to use it in production code. It's just that things may still change before final, which is tied more to VS11 than how stable it is.
For my thesis I want to develop an application in ASP.NET MVC, so a few weeks ago I had to make the same decision like you. This is my conclusion:
I should advice to use MVC3 (because it's stable) for your business projects.
There are some known issues ( http://www.asp.net/whitepapers/mvc4-release-notes#_Toc303253815 ) in MVC4 beta, so it would be a waste of time to get stuck one day because of beta problems.
When the time is there you'll be able to convert MVC3 with ease to MVC4. So don't hesitate and choose for MVC3 for now. You can decide later on if you want to upgrade or not.
At the link below you'll see how to easily upgrade from MVC3 to MVC4 at this moment: http://www.asp.net/whitepapers/mvc4-release-notes#_Toc303253806