[dba-VB] ASP.NET MVC, Web API, Razor and Open Source - ScottGu's Blog

Hans-Christian Andersen hans.andersen at phulse.com
Sun Apr 1 01:30:17 CDT 2012


John,

>  The point however is that developing on / for the web is a mish-mash of technologies which barely play together, all controlled by different factors / companies / standards. 

I will agree that it is a mish-mash of things, although I don't think I would go as far as to say they barely play together. All software comes with bugs and that is something we've had to deal with since the dawn of time. And you are right in saying that they are not tightly coupled technologies, but that also makes it enormously flexible.

I see what your gripe is though, but it is the way it is for a reason and I find it hard to see a better way. You are looking at le Web from the perspective of a traditional application developer, but, bear in mind, building applications on the web is still a work in progress and a recent thing - something that has only been possible by the availability of JS and then XMLHttpRequest (otherwise known as Ajax, which you can thank Microsoft for). Originally HTML was designed to be a way of presenting documents as resources with hyperlinks (and later CSS to decouple the layout and visuals from the actual content). Unlike something like PDF and DOC, which are designed to present documents exactly the same way wherever they are viewed or printed, HTML had to be different because it had to be presented on different devices with different resolutions etc all dependent on where you are consuming that resource from. This is fundamentally what it is and most of what you find on the internet still very much fits this description. I don't mean for this to be a history lesson, but you can clearly see how this differs with WPC and Silverlight, which just wasn't developed for this purpose. Silverlight is more for rich media and such, while WPF is a subsystem for generating graphics. Neither of these are appropriate to replace HTML/CSS/JS. They can't provide you with a semantic web.

Now, people have taken HTML/CSS and extended the fundamental web architecture/language in order to develop richer applications by incorporating JS. This has meant they had to push the limits of the technology, but everyone agreed that it had to be open and based on agreed standards, so that no single entity could control the web in a unilateral way or to avoid a fragmentation of the web. This makes the web multilateral, which is always a bit of a messier, but I personally think it has worked out remarkably well and we have all benefitted from this enormously.

Honestly, I think what a lot of people might not be so keen on is the fact that they have spent a lot of time learning to develop applications with Microsoft technologies - some starting with VB or C++ MFC/Win32 (as was my case) then onto .NET and then etc. - and then found themselves in the position where they have had to catch up with Javascript and then server-side languages, like Python/Django, PHP, ASP.NET MVC, Ruby on Rails, Node.js, etc, because everything is heading towards the web nowadays. And, I will admit that this is a much more complicated world, as things are changing rapidly - probably faster than in any other time I can think of - and there are a whole host of different languages/frameworks/etc. However, so long as you got some understanding of HTML/CSS/JS, you can pick your web framework of choice (ie. ASP.NET MVC) and then work from there. You don't have to know everything. Even jQuery does a good job of making JS and DOM so incredibly simple and straightforward in ways it never used to be (plus having excellent support for overcoming quirks in every browser (*cough* IE)).

I suppose the point I'm trying to make is that this issue goes far beyond pure convenience for programmers. Things are the way they are because it tries to tackle much larger issues and this is the best solution there is for a many number of reasons.

Hans


On 2012-03-31, at 6:17 AM, jwcolby wrote:

> Hans,
> 
> > This comparison is a bit misleading though, as you have simplified a lot of things into "C# and XAML", while, in the case of ASP.NET MVC <snip>
> 
> 
> I agree with everything you say.  The point however is that developing on / for the web is a mish-mash of technologies which barely play together, all controlled by different factors / companies / standards.  It is just a stinking mess.
> 
> We need a single environment with a single "language" or the web will always remain the abomination it is today.  Say what you will, but .Net is a *huge* advance in programming, allowing a developer to select a language and develop in a common environment (yea yea, in Windows only).
> 
> The best that can be said today is that "the web kinda sorta works, some of the time, in some browsers (and differently in every browser), depending entirely on the skills of the developers in the specific mish-mash of tools that they decide to use, and the testing that they did with the various browsers, and the capabilities of the user's selected browser to deal with said mish-mash of tools".
> 
> Not what I want, and not how I want to develop.
> 
> I'll give you an example.  My wife had to investigate phone calls made from our phone by a baby sitter.  I wasn't here to help, so she bravely got on the phone with Charter.
> 
> We use Firefox.
> 
> Charter tech support had to change the password because Mary did not know the password I use to manage the account.
> 
> Changing the password did not work.  An HOUR later, after trying this that and this other thing, the tech support asked her to switch to Internet Explorer.  Badaboom, she is in with a new password.
> 
> What a mess the internet is.
> 
> John W. Colby
> Colby Consulting
> 
> Reality is what refuses to go away
> when you do not believe in it
> 
> On 3/31/2012 12:44 AM, Hans-Christian Andersen wrote:
>> This comparison is a bit misleading though, as you have simplified a lot of things into "C# and XAML", while, in the case of ASP.NET MVC, you have been more explicit. But, in any event, this feels like comparing apples and oranges. Silverlight was not designed to be an markup language designed to be used in the same way that HTML/CSS (and JS) is used. WPF is  something else altogether. And ASP.NET MVC should, like any good framework, do a lot of the grunt work for you anyways (at least, I hope it does).
>> 
>> Let's also not forget that SL is a Microsoft technology, which is under their control and effectively forces everyone to use Microsoft tech to build anything. This defeats what has made the web so great.
>> 
>> Hans
> 
> 
> _______________________________________________
> dba-VB mailing list
> dba-VB at databaseadvisors.com
> http://databaseadvisors.com/mailman/listinfo/dba-vb
> http://www.databaseadvisors.com
> 




More information about the dba-VB mailing list