Paul Mendoza C# blog
Wednesday, January 24, 2007
  AJAX for the masses

The simpler something is to do for developers, the more developers that will pickup the skills to do it. We have reached a point I believe in which it has become incredibly simple for the majority of web programmers to quickly design complex AJAX features for pages quickly and easily.

AJAX has been relatively difficult for most web developers to create. Either you need to learn a totally new language to have good support like Ruby on Rails which really is a whole framework in and of itself or you need to know how to program in JavaScript as well as whatever backend coding you do. Finding an advanced JavaScript coder that is also skilled with the backend coding that is required to implement AJAX features if often difficult if nearly impossible for most companies to find.

But with the release of Microsoft’s AJAX toolset yesterday, a programmer working on a web application now doesn’t need to know any JavaScript in order to get the AJAX features working quickly in their existing applications. What this means is that in the coming months, many websites that don’t had the budgets to do R&D into AJAX like Google, Yahoo and Microsoft have will now be able to easily and quickly upgrade their existing ASP.NET applications to use many new AJAX technologies without having to hire AJAX experts.

As a result of this ease of use, Microsoft’s investment in AJAX may have been the best technology investment they have made in a while. In order to use Microsoft’s AJAX libraries, the web application must run on IIS using ASP.NET pages. IIS has to run on a Windows machine and as a result, developers are going to want to use Microsoft’s ASP.NET technologies which in turn are going to sell more and more of their Windows Server machines.

At this point from what I’ve seen, no other web development framework offers the level of AJAX support that ASP.NET now offers and none of them probably will for at least six months while they try to catch up to it’s features. While most frameworks do offer some good but basic level of support for simple AJAX page features, almost none offer the number of features that the new Microsoft AJAX Control Toolkit offers. The result of using these new tools is clean code that lacks massive amounts of messy JavaScript to do the types of features which used to take pages of code which can now be accomplished in just a couple lines of code with the Microsoft AJAX tools. This is highly appealing to developers building large and small websites.

In the coming years, if Microsoft includes a tighter integration of their AJAX solutions into their ASP.NET web solutions, this could be as big of an advancement as HTML was to websites.

 
Comments:
Paul,

Thanks for the kind words. One thing to note is that the Microsoft AJAX Library actually works with a variety of web servers - for example, Steve Marx has a library that integrates Microsoft AJAX with PHP.

But end-to-end integration and the ability to do AJAX without writing Javascript requires ASP.NET.
 
I am excited to learn AJAX. Fist I have to tackle other .Net stuff *bangs head against wall* Well, Paul I need your help. I am trying to use DPAPI to encrypt a key. The problem is, is that when I include the namespace System.Security.Cryptography; and call something similiar to Key = ProtectedData.Protect(Key, null, DataProtectionScope.LocalMachine); The intellisense does not pick up the method ProtectedData. I am so dumb founded right now. I do not know what else to call in order to make it work. the basic structure is like

using System;
using System.IO;
using System.Text;
using System.Security.Cryptography;

namespace blah
{
// create algorithm
SymmetricAlgorithm Algorithm = SysmmetricAlgorithm.Create(Algorithm);
Algorithm.GenerateKey();
// get key
byte[] Key = Algorithm.Key;

if(ProtectKey)
{
// Use DPAPI to encrypt key
// ERROR HERE: ProtectedData does not exist in the current context; DataProtectionScope does not exist in the current context???????????? >.<

Key = ProtectedData.Protect(Key, null, DataProtectionScope.LocalMachine);
}

// store the key in a file called key.config
using(FileStream fs = new FileStream(targetFile, FileMode.Create))
{
fs.Write(Key,0,Key.Length);
}
}
 
Hi David, you need to put your code in a class or in the Main function. I'll respond on your blog though as well.
 
Ok nevermind my friend helped me find the solution. I need to add a reference into my project System.Security very very odd. I assumed by adding using System.Security.Cryptography it would add all classes and methods. Is there a certain lvl it goes to when using the using command? using System.Security.Cryptography?
 
Does that build though? I do believe that the reason intellisense isn't working for you is that you need the code in a class or a main function.
 
it built i forgot to write the actaul class it was in other than the namespace. doh! sorry about that. btw, you have a great blog!
 
Post a Comment





<< Home
I am currently an ASP.NET, C# developer working on MangosteenNation.com, a XanGo website for helping people build their businesses. I am also pursuing a degree at CSU San Marcos in Southern California.

XanGo at Mangosteen Nation

Archives
October 2005 / November 2005 / December 2005 / January 2006 / February 2006 / March 2006 / April 2006 / May 2006 / June 2006 / July 2006 / August 2006 / September 2006 / October 2006 / November 2006 / December 2006 / January 2007 / April 2007 / May 2007 / June 2007 / August 2007 / February 2008 / August 2008 /


Powered by Blogger

Subscribe to
Posts [Atom]