<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Fremus.co.za &#187; AJAX</title>
	<atom:link href="http://www.fremus.co.za/blog/tag/ajax/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.fremus.co.za/blog</link>
	<description>Demistifying Life and Web Development</description>
	<lastBuildDate>Sun, 27 Nov 2011 15:56:27 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>Ajax in the .NET environment&#8230;</title>
		<link>http://www.fremus.co.za/blog/2010/08/ajax-in-the-net-environment/</link>
		<comments>http://www.fremus.co.za/blog/2010/08/ajax-in-the-net-environment/#comments</comments>
		<pubDate>Thu, 05 Aug 2010 19:29:25 +0000</pubDate>
		<dc:creator>fr3dr1k</dc:creator>
				<category><![CDATA[AJAX]]></category>
		<category><![CDATA[C#]]></category>
		<category><![CDATA[Web Technologies]]></category>
		<category><![CDATA[.NET]]></category>

		<guid isPermaLink="false">http://www.fremus.co.za/blog/2010/08/ajax-in-the-net-environment/</guid>
		<description><![CDATA[Ajax is not new, its not revolutionary, but it has changed the way I view web development. Javascript no longer comes as a might-have, instead it comes as a critical part of any website application. These days I use JavaScript as the UI scripting tool of choice, and I try to steer away from doing [...]]]></description>
			<content:encoded><![CDATA[<p>Ajax is not new, its not revolutionary, but it has changed the way I view web development. Javascript no longer comes as a might-have, instead it comes as a critical part of any website application. These days I use JavaScript as the UI scripting tool of choice, and I try to steer away from doing to much UI lifting in my server side code. jQuery makes dealing with UI quite pleasant. </p>
<p>I have also, in the last year and a half or so, been coding without MS Ajax. I have let go of things like the UpdatePanel and the Script Manager and have instead come to do direct Ajax calls to .ashx, default.aspx and web services. It feels that when you follow this approach that you have much tighter control over the quality of the UI. So what are your options for making Ajax calls in a .NET environment? I would like to think that there are a few options that stand out:</p>
<ul>
<li>Direct page ajax calls – you can use jQuery’s ajax function to call .ashx and .aspx pages. I have recently started using the [WebMethod] attribute in my .aspx files to make calls, and what I like about it is that you can tell the page to output JSON, which automatically serializes the method’s return type. I have also used ashx files to do ajax calls and this worked well</li>
<li>SOAP-based web services – an approach I learned last year was to use a javascript soap parser to parse soap-based web services. These were mainly .asmx services. You can configure .asmx services to return JSON as well</li>
<li>WCF-services can be configured for SOAP or JSON but also use a REST-like approach</li>
</ul>
<p>What other options are there for .NET developers when making Ajax calls?</p>
<p><a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save" onclick="urchinTracker('/outgoing/www.addtoany.com/share_save?referer=');"><img src="http://www.fremus.co.za/blog/wp-content/plugins/add-to-any/favicon.png" width="16" height="16" alt="Share/Bookmark"/></a> </p>]]></content:encoded>
			<wfw:commentRss>http://www.fremus.co.za/blog/2010/08/ajax-in-the-net-environment/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>A strategy for using AJAX on ur website</title>
		<link>http://www.fremus.co.za/blog/2009/02/a-strategy-for-using-ajax-on-ur-website/</link>
		<comments>http://www.fremus.co.za/blog/2009/02/a-strategy-for-using-ajax-on-ur-website/#comments</comments>
		<pubDate>Mon, 09 Feb 2009 16:55:55 +0000</pubDate>
		<dc:creator>fr3dr1k</dc:creator>
				<category><![CDATA[ASP.NET MVC]]></category>
		<category><![CDATA[AJAX]]></category>

		<guid isPermaLink="false">http://www.fremus.co.za/blog/?p=351</guid>
		<description><![CDATA[I have been thinking a lot recently about the use (or abuse) of AJAX on a website and it made me think of a strategy to try and adopt. Like all technological things it makes sense to understand the overall business goal first and then to proceed to the next step. It also makes sense [...]]]></description>
			<content:encoded><![CDATA[<p>I have been thinking a lot recently about the use (or abuse) of AJAX on a website and it made me think of a strategy to try and adopt. Like all technological things it makes sense to understand the overall business goal first and then to proceed to the next step. It also makes sense not to focus too much effort in one area and neglect others. For instance, too much AJAX and JavaScript will create bigger and bigger .js files, which require more and more maintenance to try and keep small. On the other hand you cannot, not use AJAX, on or in your web applications these days. So whats the best strategy? Well I think you need to understand your business goals, and make sure that what you want to achieve can be achieved. Consistency is often something to strive for in this context, because being consistent is often far tougher than making one or two good impressions. The User Interface (UI) must be consistent throughout any application, rather than be too elaborate. </p>
<p>So to come back to my strategy for using AJAX in web applications, I think an approach I am going to try is to divide navigation into two classes:<br />
*Website navigation<br />
*Page level navigation</p>
<p>Website navigation will generally allow for &#8220;postbacks&#8221; whereas page level navigation will allow for actions that are very specific for that page. The MVC framework provides a structure that supports this strategy. Your views act as your &#8220;postbacks&#8221; and the actual views themselves are where the activity takes place. Postbacks in this instance refers to the flicker effect you get when you click on links, whereas AJAX allow for a smoother effect. </p>
<p>The other bit of strategy I would like to think about is processing the results from datasources through AJAX. At the moment I am developing web applications where the web services return HTML strings, and the JavaScript simple ends up displaying it. I feel that this approach is messy and does not allow for a clear and contextualised view of your system. There must be an approach that creates good quality AJAX that can interact with server side code. I am looking for an approach that will make it easier to develop and implement my classes. I love the classical object design approach because I like things organised that way.</p>
<p><a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save" onclick="urchinTracker('/outgoing/www.addtoany.com/share_save?referer=');"><img src="http://www.fremus.co.za/blog/wp-content/plugins/add-to-any/favicon.png" width="16" height="16" alt="Share/Bookmark"/></a> </p>]]></content:encoded>
			<wfw:commentRss>http://www.fremus.co.za/blog/2009/02/a-strategy-for-using-ajax-on-ur-website/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Light up the Web &#8211; Mix Essentials 2008 Review</title>
		<link>http://www.fremus.co.za/blog/2008/06/light-up-the-web-mix-essentials-2008-review/</link>
		<comments>http://www.fremus.co.za/blog/2008/06/light-up-the-web-mix-essentials-2008-review/#comments</comments>
		<pubDate>Thu, 26 Jun 2008 17:02:50 +0000</pubDate>
		<dc:creator>fr3dr1k</dc:creator>
				<category><![CDATA[AJAX]]></category>
		<category><![CDATA[ASP.NET]]></category>
		<category><![CDATA[Web 2.0]]></category>
		<category><![CDATA[Web Design]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[Web Technologies]]></category>
		<category><![CDATA[Adobe]]></category>
		<category><![CDATA[C#]]></category>
		<category><![CDATA[Expression Blend]]></category>
		<category><![CDATA[Expression Design]]></category>
		<category><![CDATA[Expression Studio]]></category>
		<category><![CDATA[Silverlight]]></category>
		<category><![CDATA[Visual Studio 2008]]></category>
		<category><![CDATA[WPF]]></category>

		<guid isPermaLink="false">http://www.fremus.co.za/blog/?p=29</guid>
		<description><![CDATA[I attended the Mix Essentials 2008 event at Canal Walk (Cape Town, South Africa) today and there were quite a few things that interested me. There were five speakers at the event: David Ives &#8211; Developer and Platform Strategy Group for Microsoft in South Africa &#8211; Microsoft Brad Abrams &#8211; Group Program Manager for the [...]]]></description>
			<content:encoded><![CDATA[<p>I attended the <strong>Mix Essentials 2008</strong> event at Canal Walk (Cape Town, South Africa) today and there were quite a few things that interested me. There were five speakers at the event:</p>
<ol>
<li>David Ives &#8211; Developer and Platform Strategy Group for Microsoft in South Africa &#8211; <strong>Microsoft</strong></li>
<li>Brad Abrams &#8211; Group Program Manager for the UI Framework and Services Team &#8211; <strong>Microsoft</strong></li>
<li>Michael Koester &#8211; Designer Marketing Manager for Middle East and Africa and Central and Eastern Europe &#8211; <strong>Microsoft</strong></li>
<li>Julian Harris &#8211; <strong>Conchango</strong></li>
<li>David Pugh-Jones &#8211; <strong>Microsoft</strong></li>
</ol>
<p>The event was split into two tracks, a developer track and a designer track, but it generally focussed on <strong>Silverlight</strong>, and more specifically on two software packages, <strong>Visual Studio 2008</strong> and <strong>Expression Studio</strong>, and even more specifically it introduced <strong>XAML</strong> as a common way for these packages to share content between them. <strong>XAML</strong>, <a href="http://en.wikipedia.org/wiki/Extensible_Application_Markup_Language" onclick="urchinTracker('/outgoing/en.wikipedia.org/wiki/Extensible_Application_Markup_Language?referer=');">Extensible Application Markup Language</a> is an <strong>XML-like</strong> language that defines graphic elements in a human readable form that can be used in vector-imaging programs as well as <strong>Visual Studio 2008</strong>. This gives designers the flexibility to design interfaces without having to worry about programmers not being able to replicate their designs in a programming environment. Julian Harris demonstrated that you can export files from <strong>Adobe Illustrator</strong> into <strong>XAML</strong> format and import that <strong>XAML</strong> into <strong>Visual Studio 2008</strong>. <strong>XAML</strong> is also used in the <strong>Expression Studio</strong> range of products which includes amongst other two interesting products:</p>
<ul>
<li>Expression Blend</li>
<li>Expression Design</li>
</ul>
<p><strong>Expression Blend</strong> is, almost like <strong>Adobe&#8217;s Flash Studio</strong>, which is an IDE that allows you to create <strong>WPF (Windows Presentation Foundation)</strong> and Silverlight applications. WPF is a technology that allows developers (and designers) to create applications that give users a better <strong>user experience (UX)</strong>. Contemporary windows applications generally use square (often mundane) windows, whereas <strong>WPF applications</strong> allow designers to implement creative graphics into the interface. Rounded corners and transparent backgrounds for instance are used, and because Expression Blend can read and understand <strong>XAML</strong>, none of a designer&#8217;s creative flair is lost. The developer no longer has any excuses to develop interfaces that do not exactly meet the designer&#8217;s design. </p>
<p><a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save" onclick="urchinTracker('/outgoing/www.addtoany.com/share_save?referer=');"><img src="http://www.fremus.co.za/blog/wp-content/plugins/add-to-any/favicon.png" width="16" height="16" alt="Share/Bookmark"/></a> </p>]]></content:encoded>
			<wfw:commentRss>http://www.fremus.co.za/blog/2008/06/light-up-the-web-mix-essentials-2008-review/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>What is AJAX? Part1</title>
		<link>http://www.fremus.co.za/blog/2008/05/what-is-ajax/</link>
		<comments>http://www.fremus.co.za/blog/2008/05/what-is-ajax/#comments</comments>
		<pubDate>Sat, 03 May 2008 16:02:30 +0000</pubDate>
		<dc:creator>fr3dr1k</dc:creator>
				<category><![CDATA[AJAX]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[Web Technologies]]></category>
		<category><![CDATA[ASP.NET]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[LiveValidation]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://www.fremus.co.za/blog/?p=12</guid>
		<description><![CDATA[I downloaded the LiveValidation script recently and I realised after implementing it on a webpage I did not understand how it interacts with a PHP or ASP.NET application and it got me thinking that maybe I need to just try and understand how server-side and client-side code interacts with JavaScript. What is AJAX? I know [...]]]></description>
			<content:encoded><![CDATA[<p>I downloaded the LiveValidation script recently and I realised after implementing it on a webpage I did not understand how it interacts with a PHP or ASP.NET application and it got me thinking that maybe I need to just try and understand how server-side and client-side code interacts with JavaScript.</p>
<p>What is AJAX? I know it&#8217;s an acronym for Asynchronous JavaScript and XML, but what does it really mean and how does it work. Client- and Server-side scripting is easy to understand on their own and its easy to understand how both technologies are used, but where it becomes tricky for myself is when the server-side and client-side code need to interact with each other. Developing web applications with ASP.NET does not always expose a developer to the inner workings of that specific technology. AJAX is not unique to PHP or ASP.NET. Both ASP.NET and PHP are server side scripting languages. The first thing to understand is that AJAX is not a technology on its own, nor is it something that has not been there before, because it uses existing technologies (JavaScript, XML) to do what it does. AJAX uses a combination of programming tools to create web-based applications that react more like software applications &#8211; this means that the web-based application responds much smoother and nicer and the page does not reload to retrieve new content. </p>
<p>I still have not defined what AJAX looks like or what it exactly does. AJAX is based on open standards such as HTML, CSS, XML and JavaScript. AJAX uses XML and HTTP Requests to communicate with a web server. Another important thing to note is that with AJAX web applications do not re-submit a web page every time a user makes a request. If for example a user enters data on a form and submits the information to a web server, the web server will traditionally create a new page after the submit has occurred, but AJAX communicates with the web server in such a way that updates to the page only happen to the sections of the page that are affected.</p>
<p><a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save" onclick="urchinTracker('/outgoing/www.addtoany.com/share_save?referer=');"><img src="http://www.fremus.co.za/blog/wp-content/plugins/add-to-any/favicon.png" width="16" height="16" alt="Share/Bookmark"/></a> </p>]]></content:encoded>
			<wfw:commentRss>http://www.fremus.co.za/blog/2008/05/what-is-ajax/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>AJAX form validation &#8211; LiveValidation</title>
		<link>http://www.fremus.co.za/blog/2008/05/ajax-form-validation-livevalidation/</link>
		<comments>http://www.fremus.co.za/blog/2008/05/ajax-form-validation-livevalidation/#comments</comments>
		<pubDate>Thu, 01 May 2008 15:56:26 +0000</pubDate>
		<dc:creator>fr3dr1k</dc:creator>
				<category><![CDATA[AJAX]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[Web Technologies]]></category>
		<category><![CDATA[.NET]]></category>
		<category><![CDATA[Amaya]]></category>
		<category><![CDATA[ASP.NET]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[jquery]]></category>
		<category><![CDATA[LiveValidation]]></category>
		<category><![CDATA[mootools]]></category>
		<category><![CDATA[prototype]]></category>

		<guid isPermaLink="false">http://www.fremus.co.za/blog/?p=9</guid>
		<description><![CDATA[Here&#8217;s the thing right, I really want to create a nice contact form for my website, but I also want to make sure that the form accepts the right type of information. For this I need some JavaScript and of late I have been reading a lot about JavaScript libraries such as jquery, mootools and [...]]]></description>
			<content:encoded><![CDATA[<p>Here&#8217;s the thing right, I really want to create a nice contact form for my website, but I also want to make sure that the form accepts the right type of information. For this I need some JavaScript and of late I have been reading a lot about JavaScript libraries such as jquery, mootools and prototype. I have also worked a bit with ASP.NET Ajax, but I do find the .NET implementation does hide a lot of the inner workings of the JavaScript and does not force you to understand the core references as some of the other JavaScript libraries do. With .NET you can get some AJAX running without touching much JavaScript code at all.</p>
<p>So the contact form on my website should allow visitors to send an email with their name, email address and a message. All three fields are required and should not contain empty values. The validation will be done server side, so that the user can see what they are doing wrong immediately and take any necessary steps to correct the information they entered. </p>
<p>One thing that has been bugging me recently has been to find an easy way to validate forms, and I came across <a href="http://www.livevalidation.com/" onclick="urchinTracker('/outgoing/www.livevalidation.com/?referer=');">LiveValidation</a>. It&#8217;s pretty easy to setup and use, and I will be using it to create the form described above.</p>
<p>I also downloaded <a href="http://www.w3.org/Amaya/" onclick="urchinTracker('/outgoing/www.w3.org/Amaya/?referer=');">Amaya</a>, an free XHTML editor, since I am extremely keen on sticking to Web Standards and all.</p>
<p>The basic structure for the form can be seen <a href="http://www.fremus.co.za/test/fremus.co.za/">here</a>. The form requires all three fields and validates the email address field, and if the email address field is found to be valid a alert message box appears on the screen. The underlying JavaScript code is quite interesting to note:</p>
<pre name="code" class="js">
var fld_name = new LiveValidation( 'fld_name', {onlyOnSubmit: true } );
fld_name.add(Validate.Presence);
var fld_email = new LiveValidation( 'fld_email', {onlyOnSubmit: true } );
fld_email.add(Validate.Email);
fld_email.add(Validate.Presence);
var fld_msg = new LiveValidation( 'fld_msg', {onlyOnSubmit: true } );
fld_msg.add(Validate.Presence);
var automaticOnSubmit = fld_email.form.onsubmit;
fld_email.form.onsubmit = function(){
    var valid = automaticOnSubmit();
    if(valid)alert('Thank you for submitting your message!');
    return false;
}
</pre>
<p><a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save" onclick="urchinTracker('/outgoing/www.addtoany.com/share_save?referer=');"><img src="http://www.fremus.co.za/blog/wp-content/plugins/add-to-any/favicon.png" width="16" height="16" alt="Share/Bookmark"/></a> </p>]]></content:encoded>
			<wfw:commentRss>http://www.fremus.co.za/blog/2008/05/ajax-form-validation-livevalidation/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>AJAX and Javascript and the like&#8230;</title>
		<link>http://www.fremus.co.za/blog/2008/04/ajax-and-javascript-and-the-like/</link>
		<comments>http://www.fremus.co.za/blog/2008/04/ajax-and-javascript-and-the-like/#comments</comments>
		<pubDate>Wed, 30 Apr 2008 08:41:03 +0000</pubDate>
		<dc:creator>fr3dr1k</dc:creator>
				<category><![CDATA[AJAX]]></category>
		<category><![CDATA[Web Technologies]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[object-oriented]]></category>
		<category><![CDATA[Web 2.0]]></category>

		<guid isPermaLink="false">http://www.fremus.co.za/blog/?p=6</guid>
		<description><![CDATA[JavaScript has been found out! Its not as simplistic and uncomplicated as some, including me, believed. Its a full featured object-oriented scripting language that runs in your browser, and it spurned the development of Web 2.0 with the emergence of AJAX (Asynchronous Javascript and XML). The emergence of AJAX resulted in the development of better [...]]]></description>
			<content:encoded><![CDATA[<p>JavaScript has been found out! Its not as simplistic and uncomplicated as some, including me, believed. Its a full featured object-oriented scripting language that runs in your browser, and it spurned the development of Web 2.0 with the emergence of AJAX (Asynchronous Javascript and XML). The emergence of AJAX resulted in the development of better user interfaces for the web, better in the sense that they are more responsive. No longer are there clicks (post backs) or flickers when you click on a link or a button but instead you now have smoother responses. Off course if you turn JavaScript off in your browser, then all the functionality will disappear, but then again I guess not too many people do that.</p>
<p><a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save" onclick="urchinTracker('/outgoing/www.addtoany.com/share_save?referer=');"><img src="http://www.fremus.co.za/blog/wp-content/plugins/add-to-any/favicon.png" width="16" height="16" alt="Share/Bookmark"/></a> </p>]]></content:encoded>
			<wfw:commentRss>http://www.fremus.co.za/blog/2008/04/ajax-and-javascript-and-the-like/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

