
Thoughts on Webmatrix (Microsoft's simple website development tool) - ttrashh
http://blog.wekeroad.com/microsoft/someone-hit-their-head
======
latch
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.

~~~
mariusmg
No, Web forms don't need to go (and obviously they won't). When you do POST
intensive apps they are much better than MVC.

~~~
robconery
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 :).

------
euroclydon
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.

~~~
smhinsey
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.

------
jinushaun
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.

------
neovive
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.

~~~
barrydahlberg
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.

~~~
alnayyir
But at that point, you could use Scala or Java if you want a nice
static/strong language.

Then you get access to nicer frameworks like Lift, Play, et al with the
associated free and open source infrastructure.

~~~
barrydahlberg
I haven't used Scala but I certainly rate C# over Java at this point in time.

------
fname
Good summary and write-up, missing a link to download though:
<http://www.microsoft.com/web/webmatrix>

~~~
robconery
Thanks for that - yep forgot the link!

------
patrickgzill
Deployment requires a Microsoft OS running IIS, is that correct? A 100% show
stopper if so...

~~~
fname
_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._

[http://www.microsoft.com/web/gallery/install.aspx?appid=webm...](http://www.microsoft.com/web/gallery/install.aspx?appid=webmatrix)

------
Raphael
The ".mp3" example worries me. It fails on concatenating strings?

~~~
robconery
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.

~~~
redstripe
How about:

@(show.Slug+".mp3")

I think you need brackets to tell the parser when the code ends if you're
building expressions.

