ASP.NET MVC 4 Roadmap

It only feels like yesterday that we shipped ASP.NET MVC 3 followed by a release of updated Visual Studio tooling for ASP.NET MVC 3. But we’re not ones to sit on our hands for long and are busy at work on ASP.NET MVC 4.

In fact, almost immediately after shipping ASP.NET MVC 3, we started working through our backlog of bugs at the same time that we started general planning for the next major version.

Today, I’ve published the result of that planning in the form of a high-level roadmap for ASP.NET MVC 4.

There’s an important disclaimer I want to highlight in the roadmap:

It’s important to understand that we are in the early stages of development on ASP.NET MVC 4 and that this roadmap is a planning document for the next release. It is not a specification of what is to come. We hope to implement most or all of the features listed here, but there are no guarantees. Plans can change. And you can help change them! Please visit our forums to provide feedback on our plans so that we have a better picture of what you want to see in the next release.

This roadmap is more detailed than roadmaps that we’ve written in the past. My hope is that it provides enough of a taste of the features to come that we can get feedback even earlier on features that we have yet to implement.

One of the cool new features I want to highlight is the feature we’re calling “Recipes”. In brief, a recipe is scaffolding on steroids. These are bits of UI delivered via NuGet for accomplishing common tasks. We put a few ideas in the roadmap, but would love to hear more ideas.

Not included in the roadmap are the many cool enhancements to Razor and other features being considered for the next version of ASP.NET Web Pages that ASP.NET MVC developers will get for free! Erik Porter (aka @humancompiler) and his team are hard at work on those features, so I won’t spoil the surprise.

UPDATE: We started a UserVoice site for ASP.NET MVC features.

What others have said

Requesting Gravatar... Alex Jul 13, 2011 6:20 AM
# re: ASP.NET MVC 4 Roadmap
I like the recipes idea a lot. One thought that comes to mind off the bat would be a Recipe for IDependencyResolver implementations for all the major IoC frameworks out there (Unity, StructureMap, Ninject etc).
Requesting Gravatar... Scott Koon Jul 13, 2011 6:52 AM
# re: ASP.NET MVC 4 Roadmap
hmmmmm, how about a recipe that would let you commit and push changes to a Git repository? ;)
Requesting Gravatar... Luiz Adilson Jul 13, 2011 7:02 AM
# re: ASP.NET MVC 4 Roadmap
What about recipes across multiple assemblies, just like PortableAreas from MVCContrib?
Requesting Gravatar... Petrus Theron Jul 13, 2011 7:03 AM
# re: ASP.NET MVC 4 Roadmap
Device-specific Views like Index.Mobile.cshtml will completely invalidate my use of a /Mobile/ Area just for mobile and make my life better. Is there an extension/view engine that can already do this?

P.
FreshCode.co
Requesting Gravatar... Jason Jul 13, 2011 7:04 AM
# re: ASP.NET MVC 4 Roadmap
"Better support for functional and integration testing of application code."

Does that mean we'll finally be able to write real unit tests for our views?

We’ve got a pretty robust system and we could really use the tuning we get from writing unit tests around our helper classes that output a Razor view. We've been compiling our views and hope that we can now just bind a model to them and check the output.
Requesting Gravatar... pbz Jul 13, 2011 7:07 AM
# re: ASP.NET MVC 4 Roadmap
New features are nice, but I'm even more interested in you guys going back to the 3.0 code and clean up some of the less than elegant code.

For example: stackoverflow.com/... or the fact that I need to make my own helpers just to have maxLength for my inputs.

These may seem trivial, but these bumps we have to fight, when added together, take away far more time than new features help save.
Requesting Gravatar... Afshin Jul 13, 2011 7:08 AM
# sketch images on codeplex post
Can I ask, what is the name of application you used for creating that sketches in your codeplex post?

Like this one: download.codeplex.com/.../FileDownload.aspx
Requesting Gravatar... Joe Doe Jul 13, 2011 7:53 AM
# re: ASP.NET MVC 4 Roadmap
Basically just fire NikhilK and Bleroy and all the other guys that came up with the asp.net model and let it slide...
Requesting Gravatar... Luke Jul 13, 2011 8:00 AM
# re: ASP.NET MVC 4 Roadmap
Love the balsamiq mockups images in the roadmap. =)
Requesting Gravatar... Brian Vallelunga Jul 13, 2011 8:27 AM
# re: ASP.NET MVC 4 Roadmap
The changes look good, but I'd like to see MVC add less VS tooling and more support to help with common scenarios like bootstrapping tasks when an application starts. Additionally, how about built-in support for portable areas and modules. What about helping encourage best practices by providing a mechanism for unit of work implementations built in? There are a bunch of helpers/layers on top of MVC that do this, but why not provide it out of the box?
Requesting Gravatar... Andrew Jul 13, 2011 8:42 AM
# re: ASP.NET MVC 4 Roadmap
Hmm...

u know, partial stuff ?
partial view = .cshtml + .js + .css

view = partial view + partial view + so on...

if possible, is the .js and .css is combined, minified, obfuscated automatically and separated from its .cshtml (if any)
Requesting Gravatar... KevDog Jul 13, 2011 9:09 AM
# re: ASP.NET MVC 4 Roadmap
I'd like to see ootb integration of the sprite generation framework.
Requesting Gravatar... James Culbertson Jul 13, 2011 9:42 AM
# re: ASP.NET MVC 4 Roadmap
Thanks for the info Phil!

I noticed one of the images were broken:

aspwiki/GetFile.aspx

One recipe that would be nice would be a default simple membership provider that's nicely integrated with Code First EF. That would cut some of the friction of creating logins/roles and would better integrate with other models.

I wrote an article on one way to do it with an existing simple membership provider that's on Nuget.

http://www.culbertsonexchange.com/wp/?p=120

Thanks,
James
Requesting Gravatar... Harry M Jul 13, 2011 9:51 AM
# re: ASP.NET MVC 4 Roadmap
Yay, wizard based development!
Requesting Gravatar... Ray Jul 13, 2011 10:26 AM
# re: ASP.NET MVC 4 Roadmap
I'd love to see some better support for model binding collections of things. If I have a parent model with a collection of child view models (products with options for instance), I'd like to be able to edit all of them with one post without having to use the FormCollection. That would make me very happy.
Requesting Gravatar... Jason Jul 13, 2011 12:39 PM
# re: ASP.NET MVC 4 Roadmap
I'll give you a dollar if you give me donut caching. What say you?
Requesting Gravatar... John Jul 13, 2011 1:26 PM
# re: ASP.NET MVC 4 Roadmap
For single-page applications, Backbone.js support will be nice.
Requesting Gravatar... Phillip Jul 13, 2011 1:35 PM
# re: ASP.NET MVC 4 Roadmap
Time to pick up Fubu MVC I think. Clearly direction of ASP.NET MVC isn't Core MVC but all the fluff around it.
Requesting Gravatar... haacked Jul 13, 2011 1:39 PM
# re: ASP.NET MVC 4 Roadmap
@Phillip we're making a lot of core improvements as well. But not major changes other than the potential REST changes as part of the investigation we're doing with the WCF Web API folks.

Is there something in particular you think we're missing?
Requesting Gravatar... Mikael Koskinen Jul 13, 2011 1:47 PM
# re: ASP.NET MVC 4 Roadmap
Looking good.

What I'm personally hoping to see in a future release is an official way of splitting you ASP.NET MVC application into multiple projects. Something like the portable areas, but more friction-free. This would help when creating larger sites where different teams are responsible for the different parts of the site.

I think the FubuMVC people have done something in this area with the Bottles project.
Requesting Gravatar... Fle Jul 13, 2011 2:38 PM
# re: ASP.NET MVC 4 Roadmap
Out of the box integration with the Orchard CMS
Requesting Gravatar... Adrian Grigore Jul 13, 2011 3:40 PM
# re: ASP.NET MVC 4 Roadmap
Thanks for the roadmap!

You mention a backlog of bugfixes that have been applied to MVC. This this include the following?

forums.asp.net/.../1

I have a library which makes reusing modelmetadata (validation, scaffolding) a breeze and I'd like to distribute via Nuget, but I'm scared of releasing the library because it might not work anymore in MVC 4 if the bug is not fixed.
Requesting Gravatar... shaun Jul 13, 2011 3:43 PM
# re: ASP.NET MVC 4 Roadmap
Will there be dynamic language support in ASP.Net MVC at any stage?

(Last i checked, the DLR didnt support MVC but please correct me if i'm wrong;) )
Requesting Gravatar... Mike Jul 13, 2011 4:18 PM
# re: ASP.NET MVC 4 Roadmap
I think the roadmap has too much focus on tooling.
Requesting Gravatar... Daan Jul 13, 2011 6:42 PM
# re: ASP.NET MVC 4 Roadmap
@Haacked will the hardcoded validation messages (int, decimal) be replaced for localizable ones?

Now im forced to use strings so i can control the localization for client side validation.
Requesting Gravatar... clear Jul 13, 2011 6:45 PM
# re: ASP.NET MVC 4 Roadmap
@Jason, I'll throw in another $1!
Requesting Gravatar... Stephen Burns Jul 13, 2011 9:15 PM
# re: ASP.NET MVC 4 Roadmap
Some ideas...

1) Better bootstrapping
2) Bake in more from futures and/or community contributions, such as calling controller actions without magic strings.
3) Dynamic registration of HttpModules (without needing to reference an external assembly)
Requesting Gravatar... Robert Milne Jul 13, 2011 9:19 PM
# re: ASP.NET MVC 4 Roadmap
Another vote for the strongly named redirects/actions (using lambdas) to make it out of MvcContrib/MvcFutures
Requesting Gravatar... Paul Hiles Jul 13, 2011 9:24 PM
# re: ASP.NET MVC 4 Roadmap
Support for "donut hole" caching would be greatly appreciated. I am hoping that partial caching will also support cache profiles.
Requesting Gravatar... Paul Hiles Jul 13, 2011 9:38 PM
# re: ASP.NET MVC 4 Roadmap
Oops, I meant Donut Caching. Donut Hole Cachning is already availably using partials.
Requesting Gravatar... av Jul 13, 2011 9:46 PM
# re: ASP.NET MVC 4 Roadmap
So...all these tooling ideas...was community actually asking for it? There are all these core issues that people have been asking even on your blog...yet you guys keep coming up with things seemingly out of no where. Even all this scaffolding stuff...rails guys aren't even encouraging using it. Just seems like more demo-driven features...we like mvc cause its not webforms...yet here we go with more wizards
Requesting Gravatar... Stephen Burns Jul 13, 2011 10:55 PM
# re: ASP.NET MVC 4 Roadmap
@av: I would like to know about the wizard thing as well.

We really enjoy developing for this framework, especially when compared to WebForms. I hope the team doesn't lose its motivation and run out of ideas for improving the developer experience.
Requesting Gravatar... Michael A. Volz Jul 13, 2011 11:37 PM
# re: ASP.NET MVC 4 Roadmap
Awesome news!
What i would like is a big performance upgrade for NuGet commands. The MVC Scaffolding for example is so slow, it's no fun to use. If the commands are not fast enough, people won't use them that much.
But maybe this is possible just by updating NuGet alone.

For Debug builds i would love that every RazorView and -Part will be indented correctly in HTML source view. To get a better overview of the hierarchy.

Thanks!

Requesting Gravatar... ChrisC Jul 14, 2011 12:41 AM
# re: ASP.NET MVC 4 Roadmap
Hmm... not liking all this built-in wizardry.

Much of what is described as "recipes" can already be achieved quite easily using a great choice of third-party packages via the amazing Nuget - indeed the "Recipe API" seems more suited to be exposed to Nuget rather being a core part of the MVC system. I do not believe the MVC team should actually "supply" ANY recipes, just the API. Recipes should be chosen and installed by the developer.

CSS/Less,JS/Cofeescript bundling and compression support already available using the fantastic "Chirpy".

Some things I would like to see:

Full integration of T4MVC - no more Magic Strings
Official Sub-controllers
Official CSS/HTML "theme" support (I think also covers proposed "Mobile Application")
Pre-compiled views by default
ScriptSharp support
(not MVC) TRUE T4 editor for Visual Studio (Razor based)
(not MVC) EF Code First Data Migrations


I am sad to say this roadmap is leaving me slightly cold ... wizards, "recommended" libraries/plug-ins - but seemingly very little to improve the CORE of MVC.
Requesting Gravatar... Anthony Mills Jul 14, 2011 12:57 AM
# re: ASP.NET MVC 4 Roadmap
I would like to echo some of those things.

- Something T4MVC-like to get rid of magic strings in routes
- Subcontrollers to more easily encapsulate functionality for big controllers
- Pre-compiled views option, especially allowing deployment without .cshtml files (or at least better integration of MvcBuildViews)

I think some of the options mentioned by your document are really good ideas:

- Razor Helpers support
- Task<ActionResult> integration
- CSS/JS bundling
Requesting Gravatar... haacked Jul 14, 2011 1:07 AM
# re: ASP.NET MVC 4 Roadmap
@ChrisC we are considering making Recipes part of NuGet instead of MVC so it can be exposed to more than just ASP.NET MVC.

I saw a comment that described recipes as "Wrapping a UI around a command line.". That's not the goal nor purpose of recipes.

Think of it more as the modularization of our tooling. For example, when you install ASP.NET MVC, we install one big tool for ASP.NET MVC which includes:

* Add Controller
* Add View
* Scaffolding
* etc.

Instead, each of these things could have been implemented as Recipes. That would allow you to pick the ones you care about. Or even better, allow you to swap out our built-in ones for better implementations.
Requesting Gravatar... Deepak Chitnis Jul 14, 2011 1:13 AM
# re: ASP.NET MVC 4 Roadmap
Phil,

This is great. I hope the mobile features don't fall through the cracks like it did in the web forms world.

Deepak
Requesting Gravatar... haacked Jul 14, 2011 1:18 AM
# re: ASP.NET MVC 4 Roadmap
@Brian, @Stephen what do you mean when you say "Bootstrapping". Can you describe the scenario so that what I think when I hear that word matches with what you think when you say that word? :)
Requesting Gravatar... Dan Appleyard Jul 14, 2011 1:34 AM
# re: ASP.NET MVC 4 Roadmap
What about having the ability to dynamically create js or css files using some sort of view?
Requesting Gravatar... ChrisC Jul 14, 2011 1:36 AM
# re: ASP.NET MVC 4 Roadmap
>> I saw a comment that described recipes as "Wrapping a UI around a command line.". That's not the goal nor purpose of recipes.

I agree. MVCScaffolding is a great tool which I use and customise frequently - but (despite my earlier criticism of wizards)- I often wish it had some kind of GUI if only to remind/prompt you of its many functions and options - If the "recipe" concept and API will allow tool-makers (or customizers) to easily achieve that, it would be a great idea.
Requesting Gravatar... @andrebaltieri Jul 14, 2011 1:40 AM
# re: ASP.NET MVC 4 Roadmap
Awsome!

Requesting Gravatar... Kyle Rogers Jul 14, 2011 1:44 AM
# re: ASP.NET MVC 4 Roadmap
I sent an email about this to you once, but never got a reply. UpdateModel() breaks entity when you have a one-to-many relationship it is binding to. Here is the stackoverflow question I have about it. stackoverflow.com/...

Can't wait to see MVC4! Good job to you and your team.

Requesting Gravatar... Stephen Burns Jul 14, 2011 1:46 AM
# re: ASP.NET MVC 4 Roadmap
Phil, sorry about that. What I should have said is that the current convention in using types defined in the App_Start folder with the explicit registration of the "Start" method with WebActivator.PreApplicationStartMethod seems a bit afterthought-ish.

Also, while I'm at it, another cool feature would be to allow Razor partials to access Sections defined in their parent views. For example, maybe a partial wants to define some javascript or css yet not have it rendered inline with its markup.
Requesting Gravatar... Mike Jul 14, 2011 3:18 AM
# re: ASP.NET MVC 4 Roadmap
There are many options for bundling CSS, JavaScript, why do you feel you need to reinvent the wheel? Is it all for the 'tooling'?

I am really getting sick of Microsoft reinventing the wheel only to sell more tools. You are NOT acknowledging the community, it's becoming a mono culture and I'm almost done with it.
Requesting Gravatar... Jalpesh Vadgama Jul 14, 2011 4:17 AM
# re: ASP.NET MVC 4 Roadmap
Hello Phil,

You guys have done great job with asp.net mvc3. Same way best of luck for asp.net mvc4.

Best Regards,
Jalpesh
Requesting Gravatar... Fırat Esmer Jul 14, 2011 4:30 AM
# re: ASP.NET MVC 4 Roadmap
I'm so excited!!!
Requesting Gravatar... Brian Vallelunga Jul 14, 2011 4:44 AM
# re: ASP.NET MVC 4 Roadmap
Phil: I have a number of tasks that need to happen when an application starts. Traditionally, these might be put into the Global.asax file under Application_Start. This is fine when there's just a little bit of code, but at some point, you want to break the code out.

I have implemented a solution that provides an IBootstrapperTask interface with an Execute method. When my application starts, I scan the loaded non-MS assemblies for these tasks and then execute them. I think this is a common practice in the MVC community. In my case, this integrates with my IoC container as well.

I really don't like the App_Start method since that doesn't work well with other compiled libraries.
Requesting Gravatar... John Jul 14, 2011 5:29 AM
# re: ASP.NET MVC 4 Roadmap
I'm not sure that I know exactly what I want, but I know my pain point: TDD is still way harder than it ought to be, especially when it comes to testing Javascript. Maybe a DSL for :

Add class Foo
Method Bar

Which would bring up code multiple code snippets: a created class, a test class(I wouldn't have to specify tests, since TDD would be enabled by default),, a method Bar(), a test method for Bar. You setting the type is part of the snippet as well as creating the parameters. But you're not changing Bar() and Bar_SomeTest(), you're changing a signature and the code for the test and the method are changing simultaneously and the IDE is reflecting that in real time(ala Code Rush). A DSL not for code, but for the recipes.

OK, this is crazy brainstorming, but I'll give you the pain points are you can figure them out:
1) Going from IDE window to IDE window. Create new class, solution explorer, test class file, class file, etc. Useful for organizing, but when writing boilerplate stuff, give me a simple way to write it in one place.
2) Repeating myself -- Why do I have to create a class and a test class? I should write it once. When I write a method, why do I have to specify the method name 3 times: in the method, the name of the test method, and the line in the test method that calls the method. I want a method. I want 3 tests. I should be able to write 4 things once.
3) Real-time indication of what's going to happen. I love how Code Rush does this with inline edits. If you can do what they do, but for entire recipes, you guys will be geniuses.
4) Promote code contracts with TDD together. Their goal is the same so shouldn't they play together?
5) Code generation is too hard.
6) Learning resources are painfully disconnected from the product. I'm always doing the same pattern: CRUD. I want to learn a better way. Fortunately, there are guys like Hanselman and Haack that tell me about T4, but why do I have to spend so much time searching for resources. If I'm in the library, I can ask the librarian how to use the online search system. If I'm in Visual Studio, shouldn't there be something telling me "he bonehead, would you like to learn about snippets . . . you'e written the same code 50 times in the last week".
Requesting Gravatar... Konstantin Tarkus Jul 14, 2011 6:35 AM
# re: ASP.NET MVC 4 Roadmap
* I would be really happy if you guys could implement Class Diagram tool for EF Code-First POCO classes, which would show entity classes, relationships between them, constraints etc. I think it should be pretty easy to implement but add lots of value (you could build it on top of existing Class Diagram tool).

http://data.uservoice.com/forums/72025

* A new class(es) for caching, testable, with the same interface as Windows Azure AppFabric Caching, so it would be easy to switch between in-memory cache, Windows Server AppFabric Caching and Windows Azure AppFabric Caching as simple as a .config file setting change.

* Web app project should be pre-configured so that it starts up instantly at the first web request on the server.

* More build-in data annotations attributes which could be used in models.

* Good documentation and samples needed for custom MSDeploy configurations and maybe more options in Publish UI, where you could for example specify which folders should be created on the server, an ability to set permissions on them etc., specify a windows service which should be deployed alone with web app on the server.

...wait, there is more :)
Requesting Gravatar... haacked Jul 14, 2011 6:51 AM
# re: ASP.NET MVC 4 Roadmap
Wow! Thanks for all the feedback. I'll do my best to respond.

@Dan You can do that today.

@Stephen well the convention for naming the files doesn't do anything other than provide a nice way of organizing them. What matters is the attribute on the method.

@Mike, what bundling/compression frameworks out there would you like to see us use? Note that many of the items I listed aren't going to be built by the MVC team. We just want to integrate such features "in the box".

@Brian have you looked at the WebActivator library available on NuGet?

@Konstantin my team doesn't work on EF Code First, but if you install their tooling, I think they already provide that.

Also, I believe we already have an AppFabric caching provider so you can swap it out via web.config today.

What data annotation attributes would you like to see? We're adding more to the core .NET Framework, but you won't see them for a good while.
Requesting Gravatar... Anon Jul 14, 2011 8:38 AM
# re: ASP.NET MVC 4 Roadmap
Additional discussion from Reddit:

www.reddit.com/.../aspnet_mvc_4_roadmap/
Requesting Gravatar... Harry McIntyre Jul 14, 2011 8:55 AM
# re: ASP.NET MVC 4 Roadmap
I'd like to see

- official portable code system*
- Dynamic editor/display templates that can interrogate the object being rendered so forms which require rules like "only show User.Email field if current user IS that user" can be easily rendered
which leads on to...
- convention based dynamic scaffolding. code generation is a bad thing. it leads to over-generation and identikit classes which are then hard to maintain and refactor. e.g. linq to sql and the requirement for yucky partial classes. Generate the scaffold at runtime from conventions and reflection though, and you have a UI that grows with your object model.
Requesting Gravatar... Antwan Wimberly Jul 14, 2011 10:47 AM
# re: ASP.NET MVC 4 Roadmap
Expose the types for all controllers. I can't tell you how many times I've seen people have to scan for controller types. Also, it'd be nice to have action filters that are triggered for a specific verb. For example, execute these action filter for every post. In case you were super paranoid and wanted the ValidateAntiForgeryToken action filter to run on every post. That's just one example.
Requesting Gravatar... av Jul 14, 2011 12:53 PM
# re: ASP.NET MVC 4 Roadmap
- precompiled views is a big one and definitely should be brought into the framework
Requesting Gravatar... tassaaque Jul 14, 2011 4:36 PM
# re: ASP.NET MVC 4 Roadmap
Regarding crystal reports, I heard that mvc will soon support crystal reports. any update
Requesting Gravatar... Mike Jul 14, 2011 5:32 PM
# re: ASP.NET MVC 4 Roadmap
Glad you asked!

Client Dependency Framework, YUI, Google Closure tools, ASP.NET Ajax ScriptManager, Chirpy (which is really awesome as it combines all sorts of options in a smart way and it should make you happy as it builds on tooling in VS) and there are probably lots more.

But if you need to ask me AND you want to use tools from the community, perhaps it's better to start a poll to see what everyone is using?
Requesting Gravatar... Konstantin Tarkus Jul 14, 2011 5:40 PM
# re: ASP.NET MVC 4 Roadmap
@haacked, here is a list of data annotations which would be good to have in the .NET itself: http://dataannotationsextensions.org/
Requesting Gravatar... Vidar Jul 14, 2011 6:03 PM
# re: ASP.NET MVC 4 Roadmap
It's not specific to MVC, but one of my major pains with ASP.NET is the frequent restarts that happen due to changes made in most of the built-in folders or when you update a dll. On a site with a bit of traffic, this is a BIG problem.

My wishlist:
1.) Possibility to update a dll to a new version without restarting the web application.

2.) Possibility to update a code file(or add new ones) in App_Code without restarting the web application. We're using a lot of code generation, and if we could do it without restarting the application, it would open up a lot of possibilities.

3.) To be able to delete folders without restarting the application. There are some nasty hacks to get around this, but it has some side effects.

In general, I think the focus on scaffolding is wasteful. In my experience, these days most web projects use a CMS. Scaffolding is more or less useless in that context. Those that aren't using a CMS for a web projects these days are often big projects where scaffolding doesn't fit very well IMO.

Do you actually know many companies that are using scaffolding for real projects in a non-trivial way?
Requesting Gravatar... Brian Vallelunga Jul 15, 2011 1:39 AM
# re: ASP.NET MVC 4 Roadmap
Phil, I've looked at WebActivator, but it seems to require source code being copied into a specific folder and it lacks any integration with an IoC container.

I'm worried that MVC seems to be headed towards a more "Wizard" future instead of one that encourages better application design and testing.
Requesting Gravatar... Steve Jul 15, 2011 2:13 AM
# re: ASP.NET MVC 4 Roadmap
any thoughts given towards Task Oriented UI and javascript framework hooks (eg. backbone.js, knockout.js, srouptcore, etc.)?
Requesting Gravatar... haacked Jul 15, 2011 5:19 AM
# re: ASP.NET MVC 4 Roadmap
@Brian it doesn't require source code being copied into a specific folder. It requires an attribute being applied to your library. Once you apply that attribute, that code in your library is run on startup in any web app.

As for the DI with WebActivator, it's very easy to shim that in. What are you really trying to accomplish? It helps to discuss in concrete scenarios and not in technical implementation details. Is what you really want is a way to instantiate Http Modules with DI? If so, I wrote an approach that does that.
Requesting Gravatar... MartinF Jul 18, 2011 8:03 AM
# re: ASP.NET MVC 4 Roadmap
Make the core framework small, fast and extensible (you did some really nice thing for mvc 3).
Dont spend time creating all kind of fluff that has nothing to do with the core, it should go into a different project which people can install if they need it.

People seem to suggest all kind of different stuff that should have nothing to do with the mvc framework.

Please seperate the projects and dont mix all of it together.
Requesting Gravatar... Stephajn Jul 19, 2011 3:33 PM
# re: ASP.NET MVC 4 Roadmap
I'd really like to see the Html.ActionLink helper that requires you to pass null as the last argument get refactored to have an overload that DOESN'T require that null paramter at the end. Seems to me that it's bad design to have an overload for this method that many developers will through null at for the htmlAttributes when they don't need it.
Requesting Gravatar... Tooling Jul 19, 2011 11:04 PM
# re: ASP.NET MVC 4 Roadmap
I know a lot of early users of MVC love to code. But I love the tools. If tool can generate the template to do most of common task, it saves time. And it will bring new scope of developers who love the tool to MVC.

I am excited Recipes!
Requesting Gravatar... daniel glenn Jul 20, 2011 6:19 AM
# re: ASP.NET MVC 4 Roadmap
I like the Mobile integration with "Jquery Mobil"...sweet

Thanks a lot for the information.

would be nice:
simplifies the control of asynchronous accesses the MVC controller. For better load performance ..... I like the approach of Ruby on Rails => HTTP Streaming
Requesting Gravatar... Chance Jul 20, 2011 5:36 PM
# re: ASP.NET MVC 4 Roadmap
Thank you for your great work on ASP.NET MVC!

My question is when we can use MVC 4? Mix 2012 ?
Requesting Gravatar... Jenda Jul 21, 2011 12:27 AM
# re: ASP.NET MVC 4 Roadmap
I can't check it at the moment, but in case this insane bug is not fixed in MVC 3 is there any chance UpdateModel(whatever) will stop throwing exceptions after a perfectly fine update just because the ModelState had some errors BEFORE the UpdateModel()?
Yes, if you happened to be lucky enough you may not know, but once there is any error whatsoever in ModelState any call to UpdateModel() will do it's job and then throw an exception. Lovely indeed.
Requesting Gravatar... lynn eriksen Jul 21, 2011 1:38 AM
# re: ASP.NET MVC 4 Roadmap
Phil, would you guys be providing a facility for mobile device detection to go with these '.mobile.cshtml' pages?
Requesting Gravatar... lynn eriksen Jul 21, 2011 1:39 AM
# re: ASP.NET MVC 4 Roadmap
@Jenda - you want to use TryUpdateModel instead.
Requesting Gravatar... Ruben Jul 21, 2011 3:02 AM
# re: ASP.NET MVC 4 Roadmap
Localization, localization, localization.

In your previous mail you already noted the incredibly cumbersome way of annotating model classes with localization in mind. Your proof of concept would really be awesome if it could be integrated into MVC4 *and* the caveats are fixed as well. There's way too much fanfare to do something relatively simple.

Also, MVC provides some automatic validation, which either uses hard coded validation messages (shame on you), and if it doesn't, there's no clear, central mechanism you can use to hook up your resources: each class has its own ResourceClassKey, and there's no obvious naming of the resource keys you can override (nor which class you should set the ResourceClassKey on).

It's not just painful for non-English locales, but it's also painful if you don't agree with the wording of the messages and want to change them to something of your liking.
Requesting Gravatar... nick Jul 21, 2011 6:00 AM
# re: ASP.NET MVC 4 Roadmap
model types: text to speech, color blind, low bandwidth user, failure model(if db fails switch to xml constring)

controller is smart but its not AI smart. if my controller fails, it should have definitions to where else it should go. example is if my db connection fails, my controller fails by default, assuming i bind in my controller. when honestly all I really should need to do is insert a partial view of an xml bound object relating to the same query.

why does the prebuilt model use forms authentication while the rest of the world develops multi-login specific applications?


Last tid bit, make mvc xml, excel able to load data as a failover from slow db connections. bring ssis back into the equation but slim it down to conform to the model definitions of mvc.
Requesting Gravatar... Sean Jul 21, 2011 4:22 PM
# re: ASP.NET MVC 4 Roadmap
What about a proper handling for properties that are lists of other complex classes ?
I mean parsing, validation, easy marked up generation on client side so dynamic (client side) add, remove, reorder is not as painful as it is today. MVC lacks that functionality from day one. In each version it gets just a bit better. The only proper way to do it today is with json, and still the validation binding for inner fields must be done "manually".
It should work with a complex EF Model too.
Requesting Gravatar... pbz Jul 22, 2011 2:09 PM
# re: ASP.NET MVC 4 Roadmap
So Phil, when do we get the "revised" MVC4 Roadmap? Reading FlySwat's list (on the Reddit page linked above) made me so excited at the prospect of having those fixed/implemented... Here's to hoping you'll reconsider.
Requesting Gravatar... shawn Jul 24, 2011 5:03 AM
# re: ASP.NET MVC 4 Roadmap
Better handling for sub-collections of entities would be great, especially so that binding to an existing entity with a sub-collection of entities doesn't wipe out and re-create the entities in the sub-collection. See for example: www.codetuning.net/...

Support for CoffeeScript, SCSS, and LESS in the new asset manager, along with various minification options (including the ones with the best compression ratios, which means Closure and Uglify) would be great. Even better would be baking support for these into Visual Studio (Intellisense, syntax highlighting, etc). The new Rails asset manager in 3.1 is a good example to look at.

Yay for MVC! :)
Requesting Gravatar... Feng Jul 26, 2011 1:24 PM
# re: ASP.NET MVC 4 Roadmap
Is Attributes property adding to SelectListItem in MVC 4?
Requesting Gravatar... Stacey Jul 27, 2011 3:06 AM
# re: ASP.NET MVC 4 Roadmap
While I think a lot of this is very interesting, I will agree that the emphasis on tooling is making me nervous. Part of what made MVC feel so powerful is that I didn't have to drag and drop. I didn't have to think about Visual Studio, it was just there to give me a hand.

When you bind so much to the tools, you begin to let them become the workers. I am a programmer because I know how to use the tools, not because the tools exist.

I agree with several of the sentiments on the Reddit page, but I do think people are proclaiming a bit too much doom and gloom. They're only adding stuff that many of us don't want, not yet taking away things that we need.
Requesting Gravatar... Mike Jul 28, 2011 5:54 AM
# re: ASP.NET MVC 4 Roadmap
@Phil

It looks like you are not listening here. If I see one theme in the comments here but especially elsewhere (the places where .NET is discussed as 'my former platform of choice') it's that the MVC developers are not waiting for 'tooling'. They are a special bunch that can think for themselves, that innovate faster than your team (FubuMVC), that spot trends before your company even knew there was something else (simplified DB access).

Now I know Microsoft is in it for the tooling but MVC is the wrong vehicle for that. I don't think you are confident enough (like shanselman) to come out and discuss this issue. But I do want the record to show that there 'seems' to be a general feeling that we don't want tools, we want libraries. And anytime that you are ready to ask that question ("should we focus on tools or on the framework") we will be here to support you. If you are not confident, let shanselman do it (like he did this week with the versioning issue).

Also, if there already is a library that does X, you should NOT do X. Especially not when the reason you want to do X is because you can offer 'tooling'. Just back off, we got this, the community can handle it.

Thanks for listening!
Requesting Gravatar... Hendry Luk Jul 31, 2011 9:01 AM
# re: ASP.NET MVC 4 Roadmap
Phil, I often find that the framework generally would not recognize attributes defined in interfaces. I always have to reimplement my own metadata-provider, validation-provider, model-binder, etc, just to make them take interface's attributes into account.
Is this a concious decission?
Requesting Gravatar... haacked Sep 07, 2011 11:13 PM
# re: ASP.NET MVC 4 Roadmap
@Hendry, my co-worker Brad Wilson just blogged about this very subject. :) bradwilson.typepad.com/...
Requesting Gravatar... Dan M Sep 13, 2011 4:08 AM
# re: ASP.NET MVC 4 Roadmap
I'd just like to add my voice to those calling for solutions to the "magic strings" problem that has plagued ASP.NET MVC since the beginning. I would also like to see improvements to the Razor editor, including better refactoring support (I should never have to use find/replace when renaming something) and more intelligent auto-formatting (the auto-formatter should indent code and markup in a logical/hierarchical manner).
Requesting Gravatar... Zaia Youkhanna Oct 21, 2011 7:45 AM
# re: ASP.NET MVC 4 Roadmap
Phil, thanks for mvc4 mobile presentation.

Razor enhancements:
It would be convenient to declaratively add jQuery-Mobile attributes (data-theme, data-icon, and others) and HTML 5 attributes to razor statements (@HTML.TextBoxFor, @Html.CheckBoxFor and others), for example @Html.TextBoxFor(m => m.UserName, @{ data-theme=”e”, data-icon= "home"})

Knockout - Single page application:
While it is a neat idea it is not a standard. Standardize it with JQuery-Mobile and let the world not just us Microsoft developers contribute to this neat implementation.

MVC4 Restful:
[HttpPut] and [HttpDelete]
Requesting Gravatar... Smith Jan 09, 2012 1:13 AM
# re: ASP.NET MVC 4 Roadmap
I always consider performance one of the most important factor of a good website, so I want mvc4 can improve on that, for example, it can provide simple option to choose aspx or cshtml
file to find when render the view instead of trying to find them all if one cannot be found, after all, no one would use the two on the same project. BTW, I found the simple use register process is too slow!
Requesting Gravatar... tech.abi Jan 14, 2012 6:48 PM
# new features of asp.net 4.0
nice...
ASP.NET lovers check this URL:
http://tech-records.blogspot.com

This blog describes new features of ASP.NET 4.0(Session State Compression,ViewState,URL Routing,
Output Cache Extesibility, diff between ASP.NET 4.0 and its previous version) and the BASICS of
ASP.NET(Common Language Runtime,Common Type System,Common Language Specification, Class Library,
FCL)
Requesting Gravatar... Tom Apr 11, 2012 2:01 PM
# re: ASP.NET MVC 4 Roadmap
Agree with Vidar.
1. The default scaffolding options are only good for impressing year one uni students with a CURD HelloWorldModel. Also making the ef/data context options useless. I don't know anyone uses it for real projects.
2.Models and view models Redux. Again, only year one students will return one View(HelloWorldModel). Multiple models strongly-typed ViewBag for real please? Just hack some dirty workaround at the back to make it happen.
3. Can't edit any code while running the debug is also a pain. Old ASP.NET can do it, no excuse for MVC not to be able to do it. Only year one students.... :P

Please don't deliver us half baked features. It ruins the good stuff.

What do you have to say?

(will show your gravatar)
Please add 2 and 2 and type the answer here: