It's nice to see MS trying new (or old) things. The lack of back-to-basics simpler approach to doing web development has been a major misstep for them the last decade.
As Rob mentions, ASP.NET WebForms needs to go. It's always a bad choice and it makes it confusing to a lot of developers which of the 3 official MS frameworks they should pick. Dump WebForms and adopt 1 framework for simple stuff (WebMatrix) and 1 for more complex stuff (ASP.NET MVC).
They are also behind by half a decade when it comes to hosting. ec2 is the only thing keeping them in it, and that's at a cost. Even some of the recent hosting initiatives (AppHarbor, EpicWinHosting) are, at best, going to take years to catch up. This is especially true when you take SQL Server into account (SQL Express sucks, deal with it).
WebMatrix is a step in the right direction, but they need to address their messaging, increase their focus, and resolve the hosting gap.
Hosting isn't really an issue. I've been running a .NET site on Softsys' VPS hosting for a while now, which has features and pricing comparable to something like Linode.
If you outgrow that level of hosting, go Azure or colo your own machines.
You would be wrong about that. Consider that with MVC you don't have the entire, massive Page Lifecycle thing and a control tree to parse and walk through (decrypting ViewState, assigning control values, and so on). MVC is actually faster than ASP.NET WebForms.
But it's faster in pico seconds (meaning it's immeasurably faster) and if you're worried on that level - you're doin it wrong :).
If I had to pick between the two, I'd actually toss out MVC. I've used both, and I've seen the results (and horror) of people doing the "Teach yourself ASP.NET in 21 days" version of ASP.NET, but really the stuff in those books isn't the stuff you should be using.
ASP.NET done right actually feels a lot more MVC than ASP.NET MVC. You can still route whatever paths you want, but you get to use actual files where files make sense. And you get to sanely base your pages on a common class, and you can manipulate properties on your HTML from the backend. It's the best of both, really, since all the fun stuff from MVC got poured into ASP.NET too.
I still do MVC work for clients, but as of now, new project stuff where I'm spending my own time (and therefore money) still gets done in regular old ASP.NET.
System requirements:
- Supported Operating Systems are Windows 7, Windows Vista, Windows Vista SP1, Windows XP SP2+, Windows Server 2003 SP1+, Windows Server 2008, Windows Server 2008 R2.
Not sure why this got downvoted ... MS seems to avoid the issue in their pages, while touting Joomla, WordPress etc. as open source; but you need Windows on both the frontend (understandable, why develop tools for other OSes and not yours) and the backend - so basically this is embrace and extend applied to the Web.
I agree with the author that WB/Razor is a more pragmatic approach to web development on the .NET platform. The author calls it the "git er done" approach and I couldn't agree more. My biggest problem with ASP.NET and WebForms is that it's really difficult to create simple projects with it. Using Visual Studio as a text editor for web development makes me want to shoot myself. I use ASP.NET at work, but I never use it for personal projects. There's just too much overhead and lead time. The Edit-Compile-Test cycle doesn't belong on the web. That's where PHP excels and continues to excel despite being universally ridiculed.
It does, yes. I don't know if that's a purposeful design consideration or what - but in general that kind of thing in your view is a bad idea. Put it in a helper or drop it in your model.
I use ASP.NET MCV, the latest version, every day, at the day job, and it's pretty easy to get stuff done, provided you are committed to an MS stack.
WebMatrix is a compilation of technologies that MS has put out over the past few years. Off the top of my head, they include: Visual Studio Web Developer Express, SQL Server Express, IIS Express (which is IIS stand-alone, but bundled with WebMatrix, so don't hold your breath for a stand-alone distributable of IIS, which would be real awesome).
Recently, MS released the Web Platform Installer WPI, which is a master installer that checks for the existence of IIS, .NET 2,3.5&4, ASP.NET, ASP.NET MVC, SQL Server Express, then installs and configures those applications if they are not there. It actually works most of the time, and does a good job registering ASP.NET into IIS.
Additionally, the WPI will read a default RSS feed from MS, which publishes popular Open Source IIS applications, like CMS, Blog and ECommerce systems. WPI can be configured to read third-party RSS feeds. These applications are installed with default settings, or really the settings they had when a developer used MS's web deployment wizard, or web package builder to create them -- dig too deep into this technology, and you'll get woozy quick.
Having spent a month building an installer for an enterprise ASP.NET application, and watching it fail 50% of the time due to ACL restrictions, I can say that WPI and it's deployment packages are an ambitious task, and they've done pretty well.
Now, MS has an package manager for OSS projects called NuGet, which is like apt-get, I suppose. I've seen it begin to crop up on git hub. Hard core OSSers will find this all odd: a whole ecosystem being built and advocated by MS, around open source software which will, Mono aside, only run on closed MS operating systems. Let's face it, if it weren't for internal big-corp enterprise software, ASP.NET would have a much less prevalent developer base then it does now. I can't see internal enterprise projects being managed like they are OSS projects: running their own RSS feeds for packages and NuGet servers for library dependences, so I don't know how popular NuGet will become, but many of these new technologies do make my day job easier.
I actually do plan on using NuGet feeds internally. It will be great to have our CI server publish feeds for things like shared libraries or service contracts or anything you want to share and version with an explicit upgrade mechanism.
WPI was a major reason SQL Server Express destroyed my boot partition: I'd never used WPI before, really didn't intend to be using anything like it, and, thus, didn't know WTF it was doing -- your documentation is about the first I've seen. So, not knowing WTF WPI was doing, I ended up with two different versions of SQL Server installed, something I would NEVER want to have. Such multiple installed instances are NOT independent and, thus, get terribly confused.
Then just to get started, I ran some really simple T-SQL scripts about logons, users, and permissions. Soon SQL Server got sick and wouldn't query, uninstall, repair, reinstall, or install, and for SQL Server the usual Windows System Restore wouldn't. Apparently Microsoft has something over 10,000 reports of SQL Server getting sick and then refusing to uninstall. Then the only solution is to reinstall all the software on the boot partition.
Net, such nonsense cost me MONTHS last year. Pissed? No, I'm not pissed. Long ago I was WAY passed just pissed, and I'm MUCH more than pissed now.
WebMatrix won't solve such problems but claims to solve problems I don't have: Visual Basic .NET, ASP.NET, ADO.NET, .NET, and T-SQL have all been fast, fun, and easy to use. There is NO reason for me struggle with at best poorly documented GUI nonsense and another layer of garbage to cause problems and keep me from knowing what is going on. WebMatrix looks like an unanesthetized root canal procedure, and I won't submit to it.
For progress, Microsoft needs to take all their documentation, throw it out, all of it, and start over. I mean this quite literally and very seriously. Then they need to fix SQL Server, e.g., the fact that it won't uninstall, and especially fix the new security model first in the 2005 version which is badly broken and which apparently so far no one inside Microsoft or outside understands -- literally.
As it stands, from the information readily available, it appears that no serious computing should have anything at all to do with SQL Server.
Ease of use of SQL Server administration and management is less credible than virginity in a dirt cheap whore house.
Looks interesting (especially like the @foreach syntax), but I don't see much advantage over PHP unless your deployment is limited to a Windows-only environment. I forgot that the IIS Web.Config was so similar to Tomcat.
You get to use C# which really is rather a pleasant language and is a huge win over PHP. The Web.config has been shrunk a huge amount in recent versions of .Net as more sensible defaults for the new frameworks get built in.
If you're stack on the Windows platform, it may be a true pain to build using other technologies. Major OSS tools can be more easily mantained on Unix-like systems (RoR, Python, even PHP it's a mess on Windows).
I'm talking about production environments. I do myself use WinXP for development, because I'm forced by other tools I must use; but my current production env is Ubuntu.
27 comments
[ 3.6 ms ] story [ 71.6 ms ] threadAs Rob mentions, ASP.NET WebForms needs to go. It's always a bad choice and it makes it confusing to a lot of developers which of the 3 official MS frameworks they should pick. Dump WebForms and adopt 1 framework for simple stuff (WebMatrix) and 1 for more complex stuff (ASP.NET MVC).
They are also behind by half a decade when it comes to hosting. ec2 is the only thing keeping them in it, and that's at a cost. Even some of the recent hosting initiatives (AppHarbor, EpicWinHosting) are, at best, going to take years to catch up. This is especially true when you take SQL Server into account (SQL Express sucks, deal with it).
WebMatrix is a step in the right direction, but they need to address their messaging, increase their focus, and resolve the hosting gap.
If you outgrow that level of hosting, go Azure or colo your own machines.
But it's faster in pico seconds (meaning it's immeasurably faster) and if you're worried on that level - you're doin it wrong :).
ASP.NET done right actually feels a lot more MVC than ASP.NET MVC. You can still route whatever paths you want, but you get to use actual files where files make sense. And you get to sanely base your pages on a common class, and you can manipulate properties on your HTML from the backend. It's the best of both, really, since all the fun stuff from MVC got poured into ASP.NET too.
I still do MVC work for clients, but as of now, new project stuff where I'm spending my own time (and therefore money) still gets done in regular old ASP.NET.
http://www.microsoft.com/web/gallery/install.aspx?appid=webm...
@(show.Slug+".mp3")
I think you need brackets to tell the parser when the code ends if you're building expressions.
WebMatrix is a compilation of technologies that MS has put out over the past few years. Off the top of my head, they include: Visual Studio Web Developer Express, SQL Server Express, IIS Express (which is IIS stand-alone, but bundled with WebMatrix, so don't hold your breath for a stand-alone distributable of IIS, which would be real awesome).
Recently, MS released the Web Platform Installer WPI, which is a master installer that checks for the existence of IIS, .NET 2,3.5&4, ASP.NET, ASP.NET MVC, SQL Server Express, then installs and configures those applications if they are not there. It actually works most of the time, and does a good job registering ASP.NET into IIS.
Additionally, the WPI will read a default RSS feed from MS, which publishes popular Open Source IIS applications, like CMS, Blog and ECommerce systems. WPI can be configured to read third-party RSS feeds. These applications are installed with default settings, or really the settings they had when a developer used MS's web deployment wizard, or web package builder to create them -- dig too deep into this technology, and you'll get woozy quick.
Having spent a month building an installer for an enterprise ASP.NET application, and watching it fail 50% of the time due to ACL restrictions, I can say that WPI and it's deployment packages are an ambitious task, and they've done pretty well.
Now, MS has an package manager for OSS projects called NuGet, which is like apt-get, I suppose. I've seen it begin to crop up on git hub. Hard core OSSers will find this all odd: a whole ecosystem being built and advocated by MS, around open source software which will, Mono aside, only run on closed MS operating systems. Let's face it, if it weren't for internal big-corp enterprise software, ASP.NET would have a much less prevalent developer base then it does now. I can't see internal enterprise projects being managed like they are OSS projects: running their own RSS feeds for packages and NuGet servers for library dependences, so I don't know how popular NuGet will become, but many of these new technologies do make my day job easier.
Then just to get started, I ran some really simple T-SQL scripts about logons, users, and permissions. Soon SQL Server got sick and wouldn't query, uninstall, repair, reinstall, or install, and for SQL Server the usual Windows System Restore wouldn't. Apparently Microsoft has something over 10,000 reports of SQL Server getting sick and then refusing to uninstall. Then the only solution is to reinstall all the software on the boot partition.
Net, such nonsense cost me MONTHS last year. Pissed? No, I'm not pissed. Long ago I was WAY passed just pissed, and I'm MUCH more than pissed now.
WebMatrix won't solve such problems but claims to solve problems I don't have: Visual Basic .NET, ASP.NET, ADO.NET, .NET, and T-SQL have all been fast, fun, and easy to use. There is NO reason for me struggle with at best poorly documented GUI nonsense and another layer of garbage to cause problems and keep me from knowing what is going on. WebMatrix looks like an unanesthetized root canal procedure, and I won't submit to it.
For progress, Microsoft needs to take all their documentation, throw it out, all of it, and start over. I mean this quite literally and very seriously. Then they need to fix SQL Server, e.g., the fact that it won't uninstall, and especially fix the new security model first in the 2005 version which is badly broken and which apparently so far no one inside Microsoft or outside understands -- literally.
As it stands, from the information readily available, it appears that no serious computing should have anything at all to do with SQL Server.
Ease of use of SQL Server administration and management is less credible than virginity in a dirt cheap whore house.
Then you get access to nicer frameworks like Lift, Play, et al with the associated free and open source infrastructure.
I'm talking about production environments. I do myself use WinXP for development, because I'm forced by other tools I must use; but my current production env is Ubuntu.