<?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>Jacob Santos &#187; JavaScript</title>
	<atom:link href="http://jacobsantos.com/tags/javascript/feed/" rel="self" type="application/rss+xml" />
	<link>http://jacobsantos.com</link>
	<description>Rumblings, rants, essays, stories by Jacob Santos about Web Site Development, Persistent Browser-Based Games, personal journal, and Programming.</description>
	<lastBuildDate>Fri, 03 Feb 2012 01:06:48 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3-aortic-dissection</generator>
		<item>
		<title>XMLHttpRequest Quirks and PHP</title>
		<link>http://jacobsantos.com/2006/general/xmlhttprequest-quirks-and-php/</link>
		<comments>http://jacobsantos.com/2006/general/xmlhttprequest-quirks-and-php/#comments</comments>
		<pubDate>Sun, 23 Jul 2006 13:19:49 +0000</pubDate>
		<dc:creator>santosj</dc:creator>
				<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://www.santosj.name/?p=247</guid>
		<description><![CDATA[<a href="http://jacobsantos.com/2006/general/xmlhttprequest-quirks-and-php/" title="XMLHttpRequest Quirks and PHP"></a>I didn&#8217;t find the AJAX frameworks much use while I was working on my current project. I&#8217;m sure they are well thought out and designed, but after going through two or three, I was more lost than when I started. &#8230;<p class="read-more"><a href="http://jacobsantos.com/2006/general/xmlhttprequest-quirks-and-php/">Read more &#187;</a></p>]]></description>
			<content:encoded><![CDATA[<a href="http://jacobsantos.com/2006/general/xmlhttprequest-quirks-and-php/" title="XMLHttpRequest Quirks and PHP"></a><p>I didn&#8217;t find the AJAX frameworks much use while I was working on my current project. I&#8217;m sure they are well thought out and designed, but after going through two or three, I was more lost than when I started. I decided then that I should learn how this whole AJAX thing works from the ground up. Turns out XMLHttpRequest isn&#8217;t all that difficult, once you get past a few JavaScript cross browser hiccups.</p>
<h3>The PHP Back-end</h3>
<p>You have three methods for how you can display the information. Each one has its benefits and issues that you&#8217;ll need to address in JavaScript.</p>
<ol>
<li><strong>XML</strong></li>
<p>This is perhaps, the most used way. There are debates of the benefits of using XML, but JavaScript can be used to parse the XML. The speed in doing so, is up to how well you write the JavaScript code. I thought it was fun using this.</p>
<p><strong>Benefits:</strong></p>
<ul>
<li>Using XML does allow you to send all of the information back to JavaScript on the first request.</li>
<li>You can also request the same page using PHP or another language, so you aren&#8217;t limited to just JavaScript.</li>
</ul>
<p></p>
<li><strong>HTML</strong></li>
<p>You can send HTML to JS, but if you need multiple elements, then you will have to page them. For some reason, when I was sending multiple elements, it couldn&#8217;t &#8216;sense&#8217; the other elements. I think it needed a wrapper, such as a div around all of the elements. If not, then it will recognize the first element ID, but not any other.</p>
<p>It is quicker than XML parsing, so if you only need it to display, then this method works great.</p>
<li><strong>JSON</strong></li>
<p>There is a debate over using JSON over XML, but there are pros and cons for both sides. I don&#8217;t care about the debate, but for myself, I would rather like to use this method to save from parsing XML, but still receive an array of data. In PHP 5.2, they are adding a function that will make this an simple task, which is much needed. The PHP function should save a lot of time researching and testing.
</ol>
<p>It is really quite simple using PHP. The XMLHttpRequest object GETs or POSTs to the page just like the browser would, so you just code the page like you would if the browser was going to take a look out it, except you only need the information you are going to use.</p>
<h3>XMLHttpRequest Quirks</h3>
<p>Or what I like to call, &#8220;What you should know before you bash your head in to the wall causing brain damage.&#8221;</p>
<p><strong>Don&#8217;t Create an Instance of the Same Object For multiple Tasks</strong></p>
<p>Do so and it will throw an exception at you. The way to get around this is to create multiple objects that extend the original XMLHttpRequest Object or the one that you created for cross-browser development, like below.</p>
<p><strong>Don&#8217;t:</strong></p>
<pre class="brush: jscript; title: ;">
function myObject { }

myObject.prototype = new xmlTransport();

var object1 = new myObject;
var object2 = new myObject;
</pre>
<p><strong>Do:</strong></p>
<pre class="brush: jscript; title: ;">
function myObject1 { }

myObject1.prototype = new xmlTransport();

function myObject2 { }

myObject2.prototype = new xmlTransport();
</pre>
<p>Actually, the better method would be to use the same object and resend the requests getting what you need in the same object instead of creating multiple objects for the task.</p>
<h3>Always Call XMLHttpRequest Object First</h3>
<p>Once upon a time, before IE 7, you called the ActiveX first and then called the JavaScript object. This is not the case any longer. If you continue to do so for IE 7, you will still use the ActiveX component, which may not work if they disabled or blocked ActiveX. If you look for the object first, the request will still work.</p>
<pre class="brush: jscript; title: ;">
if(window.XMLHttpRequest)
{
	this.xmlhttp = new XMLHttpRequest();
}
else if(window.ActiveXObject)
{
	try {
		this.xmlhttp = new ActiveXObject('Microsoft.XMLHTTP');
	}
	catch(e)
	{
		try {
			this.xmlhttp = new ActiveXObject(&quot;Msxml2.XMLHttp&quot;);
		}
		catch(e2) { }
	}
}
</pre>
<p>Note, if this code looks familiar like the hundreds of other tutorials out there, then yeah. I did &#8216;borrow&#8217; it from another site. I don&#8217;t know JS enough to write it myself. However, I did modify it so that it looks for the XMLHttpRequest object first and the ActiveX Object last.</p>
<p><strong>Full Code:</strong></p>
<pre class="brush: jscript; title: ;">
function xmlTransport()
{
	this.xmlhttp = null;

	this._GetTransport();
}

xmlTransport.prototype._GetTransport = function()
{
	if(window.XMLHttpRequest)
	{
		this.xmlhttp = new XMLHttpRequest();
	}
	else if(window.ActiveXObject)
	{
		try {
			this.xmlhttp = new ActiveXObject('Microsoft.XMLHTTP');
		}
		catch(e)
		{
			try {
				this.xmlhttp = new ActiveXObject(&quot;Msxml2.XMLHttp&quot;);
			}
			catch(e2) { }
		}
	}

	if(this.xmlhttp == null)
	{
		alert(&quot;Constructor called and xmlhttp not Object&quot;);
	}
}

xmlTransport.prototype.isLoading = function()
{
	if(this.xmlhttp.readyState == 4)
	{
		return false;
	}

	return true;
}
</pre>
<p>I have the <strong>isLoading</strong> method in there, but I don&#8217;t ever use it. Which is funny, now that I think about it. I put the method in there so that I wouldn&#8217;t have to test readyState all of the time, but I found out that calling it is easier than trying to remember that there is a method that does that job for me. The method was suppose to display a loading message and what not, but I never got around to adding that feature.</p>

<p><strong>Possibly Related Posts:</strong></p>
<ul>
<li><a href="http://jacobsantos.com/2012/programming/game-engine-development-and-open-source/">Game Engine Development and Open Source</a></li>
<li><a href="http://jacobsantos.com/2011/programming/plans-for-base-cms/">Plans for Base CMS</a></li>
<li><a href="http://jacobsantos.com/2011/general/bullet-e-book-library-management-and-content-server/">Bullet: E-Book Library Management and Content Server</a></li>
<li><a href="http://jacobsantos.com/2011/general/using-zendframework-2-beta1-for-directory-project/">Using ZendFramework 2 beta1 For Directory Project</a></li>
<li><a href="http://jacobsantos.com/2011/programming/project-plans/">Project Plans</a></li>
</ul><br />
]]></content:encoded>
			<wfw:commentRss>http://jacobsantos.com/2006/general/xmlhttprequest-quirks-and-php/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Gamehole! AJAX and MVC (kindof) Development</title>
		<link>http://jacobsantos.com/2006/general/gamehole-ajax-and-mvc-kindof-development/</link>
		<comments>http://jacobsantos.com/2006/general/gamehole-ajax-and-mvc-kindof-development/#comments</comments>
		<pubDate>Fri, 21 Jul 2006 04:22:33 +0000</pubDate>
		<dc:creator>santosj</dc:creator>
				<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://www.santosj.name/?p=243</guid>
		<description><![CDATA[<a href="http://jacobsantos.com/2006/general/gamehole-ajax-and-mvc-kindof-development/" title="Gamehole! AJAX and MVC (kindof) Development"></a>XMLHTTPRequest Saved My Life Development with AJAX is pretty easy after you learn the quirks and test which ways it can be used and abused. Designing it so that it loads the page instantly instead of waiting 3 or more &#8230;<p class="read-more"><a href="http://jacobsantos.com/2006/general/gamehole-ajax-and-mvc-kindof-development/">Read more &#187;</a></p>]]></description>
			<content:encoded><![CDATA[<a href="http://jacobsantos.com/2006/general/gamehole-ajax-and-mvc-kindof-development/" title="Gamehole! AJAX and MVC (kindof) Development"></a><h3>XMLHTTPRequest Saved My Life</h3>
<p>Development with AJAX is pretty easy after you learn the quirks and test which ways it can be used and abused. Designing it so that it loads the page instantly instead of waiting 3 or more seconds is great. It also didn&#8217;t take any more than an hour to complete. The only issue now, is that the viewer needs to have enabled JavaScript.</p>
<p>There are still &#8216;technically educated&#8217; users that have JS disabled for popups, cookies, or some other half-baked excused that was only valid before <a href="http://www.getfirefox.com">Firefox</a>. I mean, you would go to some porn sites back in the day and would have to disable JavaScript or you would spend 30 minutes exiting out of the popups.</p>
<p>I digress, I did create a Non-JavaScript page, but it still takes 3 seconds to load. I&#8217;m not going to do any optimizations for it. People without JS are going to be punished for their lack of enabling it or for not even using a browser that supports it. Only other user is for bots, which should look for the non JS version.</p>
<h3>MVC</h3>
<p>The main page is handled with Mod Rewrite and a single page to handle all of the pages. It lets me know what is finished and what still needs to be finished. The old version had sort of the same set up but all of the text was on the same page, so it made it somewhat difficult to find the parts. The new site splits the textual parts into their own files.</p>

<p><strong>Possibly Related Posts:</strong></p>
<ul>
<li><a href="http://jacobsantos.com/2012/programming/game-engine-development-and-open-source/">Game Engine Development and Open Source</a></li>
<li><a href="http://jacobsantos.com/2011/programming/plans-for-base-cms/">Plans for Base CMS</a></li>
<li><a href="http://jacobsantos.com/2011/general/bullet-e-book-library-management-and-content-server/">Bullet: E-Book Library Management and Content Server</a></li>
<li><a href="http://jacobsantos.com/2011/general/using-zendframework-2-beta1-for-directory-project/">Using ZendFramework 2 beta1 For Directory Project</a></li>
<li><a href="http://jacobsantos.com/2011/programming/project-plans/">Project Plans</a></li>
</ul><br />
]]></content:encoded>
			<wfw:commentRss>http://jacobsantos.com/2006/general/gamehole-ajax-and-mvc-kindof-development/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Sweet JavaScript Agony</title>
		<link>http://jacobsantos.com/2006/projects/sweet-javascript-agony/</link>
		<comments>http://jacobsantos.com/2006/projects/sweet-javascript-agony/#comments</comments>
		<pubDate>Sun, 16 Jul 2006 13:11:39 +0000</pubDate>
		<dc:creator>santosj</dc:creator>
				<category><![CDATA[Projects]]></category>
		<category><![CDATA[JavaScript]]></category>

		<guid isPermaLink="false">http://www.santosj.name/?p=241</guid>
		<description><![CDATA[<a href="http://jacobsantos.com/2006/projects/sweet-javascript-agony/" title="Sweet JavaScript Agony"></a>JavaScript is a Bitch More so, if you like spent most of your time avoiding it like some annoying friend. I mean, it is a lovable puppy, but sometimes it craps on your shoe and you want to kick it &#8230;<p class="read-more"><a href="http://jacobsantos.com/2006/projects/sweet-javascript-agony/">Read more &#187;</a></p>]]></description>
			<content:encoded><![CDATA[<a href="http://jacobsantos.com/2006/projects/sweet-javascript-agony/" title="Sweet JavaScript Agony"></a><h3>JavaScript is a Bitch</h3>
<p>More so, if you like spent most of your time avoiding it like some annoying friend. I mean, it is a lovable puppy, but sometimes it craps on your shoe and you want to kick it (Please don&#8217;t kick your pets). I know enough about programming in general to work my way around to solve some problems, it just takes hours of research and development and days of testing and debugging.</p>
<p>It is interesting as a hobby to learn how to get past the gotchas that are involved in developing in JavaScript. The parts that I don&#8217;t like are that you have to test for one thing for IE and another for Mozilla. I don&#8217;t code for Opera, which has less than one percent market share and even less than that are users to the sites I develop for. Nothing wrong with Opera, I just don&#8217;t care enough about it to want to support it. I have enough problems supporting IE and Mozilla.</p>
<h3>xmlHTTPRequest</h3>
<p>Oh yeah! One thing that I noticed is that you either have to close out of your connections if you want to use the same class to open multiple connections to pages, or extend it to different classes. It&#8217;ll throw an exception and spit out garbage otherwise.</p>
<p>It is fun, I mean. It is a lot easier than I thought it would be. The other stuff that comes with it, drag and drop elements and cool effects and transitions are the hard parts. </p>
<p>The only other issue is getting people to enable JavaScript. Most organizations and businesses disable it because they use IE and have issues. Unless their own intranet site uses it.</p>
<h3>setInterval vs setTimeOut</h3>
<p>I&#8217;ve had problems with using object oriented code in JavaScript and Timers. I&#8217;m going to try it again and see if I can get something working.</p>
<p>What I mean was that setTimeOut worked perfectly, until I tried to add another timer, then it just didn&#8217;t do anything. The project calls for four transitions. Fade In, Linear (left to right), Linear (bottom to top with probably a fade in also), and Fade Out.</p>
<p>I told the guy, &#8220;Is it okay if I just have it to where it just waits and then changes the content?&#8221; While it said it would be &#8220;Okay&#8221; it seemed that he didn&#8217;t want something that was already done in Flash. What I mean is that he didn&#8217;t want something that was <strong>Worse</strong> than what he had currently. Even if it would be dynamic over the currently static Flash movie.</p>
<h3>New Tests</h3>
<p>I think I have what the problem was with the old JavaScript code, so I&#8217;m going to try to test out a new implementation and see if it works. Wish me luck.</p>

<p><strong>Possibly Related Posts:</strong></p>
<ul>
<li><a href="http://jacobsantos.com/2011/projects/calibre-improvements/">Calibre Improvements</a></li>
<li><a href="http://jacobsantos.com/2011/projects/dragonu-bug-tracker-dev-milestone-1/">DragonU Bug Tracker Dev &#8211; Milestone 1</a></li>
<li><a href="http://jacobsantos.com/2009/projects/dragon-mvc/">Dragon MVC</a></li>
<li><a href="http://jacobsantos.com/2009/projects/why-i-contributed-to-wordpress/">Why I Contributed to WordPress</a></li>
<li><a href="http://jacobsantos.com/2009/projects/dragonu-db-component/">DragonU DB Component</a></li>
</ul><br />
]]></content:encoded>
			<wfw:commentRss>http://jacobsantos.com/2006/projects/sweet-javascript-agony/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Why I hate JavaScript</title>
		<link>http://jacobsantos.com/2006/general/why-i-hate-javascript/</link>
		<comments>http://jacobsantos.com/2006/general/why-i-hate-javascript/#comments</comments>
		<pubDate>Wed, 18 Jan 2006 20:38:23 +0000</pubDate>
		<dc:creator>santosj</dc:creator>
				<category><![CDATA[JavaScript]]></category>

		<guid isPermaLink="false">http://www.santosj.name/?p=107</guid>
		<description><![CDATA[<a href="http://jacobsantos.com/2006/general/why-i-hate-javascript/" title="Why I hate JavaScript"></a>A.K.A: Why I hate myself I spent a good portion of time (about 4 hours) fixing a obsure (to me) JavaScript onload bug. I was like, why doesn&#8217;t this work and tried many different tests to make it work. Now &#8230;<p class="read-more"><a href="http://jacobsantos.com/2006/general/why-i-hate-javascript/">Read more &#187;</a></p>]]></description>
			<content:encoded><![CDATA[<a href="http://jacobsantos.com/2006/general/why-i-hate-javascript/" title="Why I hate JavaScript"></a><p><strong>A.K.A: Why I hate myself</strong></p>
<p>I spent a good portion of time (about 4 hours) fixing a obsure (to me) JavaScript onload bug. I was like, why doesn&#8217;t this work and tried many different tests to make it work. Now that it does work, I can finally move on to other problems to which I&#8217;ll spend another day or two trying to fix. I&#8217;m getting more deeply into JavaScript and the research and tests will help me learn JavaScript and keep me from making the same mistakes down the road.</p>
<p><strong>The Problem</strong></p>
<p>I was doing the <strong>body onload=&#8221;&#8221;</strong> with the function, but then I decided that it would be better if I used an event handler. The reason behind that was when I moved the code to an external file, the function stopped working. It was a way for me to debug and fix the problem. I&#8217;m going to try to move the code back to an external file, so that it can be used again elsewhere.</p>
<p><strong>The Solution</strong></p>
<p>After a great deal of research I realized that the example I was using was just puesdo code and found the right event handling functions for both Mozilla and IE.</p>

<p><strong>Possibly Related Posts:</strong></p>
<ul>
<li><a href="http://jacobsantos.com/2012/programming/game-engine-development-and-open-source/">Game Engine Development and Open Source</a></li>
<li><a href="http://jacobsantos.com/2011/programming/plans-for-base-cms/">Plans for Base CMS</a></li>
<li><a href="http://jacobsantos.com/2011/general/bullet-e-book-library-management-and-content-server/">Bullet: E-Book Library Management and Content Server</a></li>
<li><a href="http://jacobsantos.com/2011/general/using-zendframework-2-beta1-for-directory-project/">Using ZendFramework 2 beta1 For Directory Project</a></li>
<li><a href="http://jacobsantos.com/2011/programming/project-plans/">Project Plans</a></li>
</ul><br />
]]></content:encoded>
			<wfw:commentRss>http://jacobsantos.com/2006/general/why-i-hate-javascript/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Firefox JavaScript Bug(?)</title>
		<link>http://jacobsantos.com/2006/general/firefox-javascript-bug/</link>
		<comments>http://jacobsantos.com/2006/general/firefox-javascript-bug/#comments</comments>
		<pubDate>Tue, 17 Jan 2006 17:09:36 +0000</pubDate>
		<dc:creator>santosj</dc:creator>
				<category><![CDATA[JavaScript]]></category>

		<guid isPermaLink="false">http://www.santosj.name/?p=109</guid>
		<description><![CDATA[<a href="http://jacobsantos.com/2006/general/firefox-javascript-bug/" title="Firefox JavaScript Bug(?)"></a>There seems to be a problem with using PHP and JavaScript in Firefox, it doesn&#8217;t like running External JavaScript files or running inline JavaScript. It also has some problems with CSS Expression. function resize() { var Middle = 0, Left &#8230;<p class="read-more"><a href="http://jacobsantos.com/2006/general/firefox-javascript-bug/">Read more &#187;</a></p>]]></description>
			<content:encoded><![CDATA[<a href="http://jacobsantos.com/2006/general/firefox-javascript-bug/" title="Firefox JavaScript Bug(?)"></a><p>There seems to be a problem with using PHP and JavaScript in Firefox, it doesn&#8217;t like running External JavaScript files or running inline JavaScript. It also has some problems with CSS Expression.</p>
<p><code><br />
	function resize()<br />
	{<br />
		var Middle = 0, Left = 0, Right = 0;</code></p>
<p>		if(typeof(document.getElementById(&#8220;ContentMiddle&#8221;).offsetHeight) == &#8216;number&#8217;)<br />
		{<br />
			Middle	= document.getElementById(&#8220;ContentMiddle&#8221;).offsetHeight;<br />
			Left	= document.getElementById(&#8220;NavLeft&#8221;).offsetHeight;<br />
			Right	= document.getElementById(&#8220;NavRight&#8221;).offsetHeight;<br />
		}</p>
<p>		var Side = 0;<br />
		if(Left &gt; Right) {<br />
			Side = Left;<br />
		} else {<br />
			Side = Right;<br />
		}</p>
<p>		if(Middle &gt; Side) {<br />
			document.getElementById(&#8220;NavLeft&#8221;).style.height = Middle;<br />
			document.getElementById(&#8220;NavRight&#8221;).style.height = Middle;<br />
			return Middle;<br />
		} else {<br />
			document.getElementById(&#8220;NavLeft&#8221;).style.height = Side;<br />
			document.getElementById(&#8220;NavRight&#8221;).style.height = Side;<br />
			document.getElementById(&#8220;ContentMiddle&#8221;).style.height = Side;<br />
			return Side;<br />
		}<br />
	}
</p>
<p>Will run on Firefox along with body.onload, but won&#8217;t run when including with PHP and outputting. It could be my lack of JavaScript Skillz, but I&#8217;m doing research on fixes and what not. Surpisingly, it works fine in IE but has some Design problems in IE that I need to also fix.</p>
<p>Trying to call the function with the CSS expression also fails.</p>
<p><code><br />
expression(resize());<br />
</code></p>
<p>I also could be doing this wrong and I will need to figure out a workaround or just go to using Tables within Tables, which does suck.</p>
<p><strong>Fixed</strong></p>
<p>It seemed that I needed to include <strong>+&#8217;px&#8217;</strong> to the value. Once I did that, it worked perfectly on Firefox. I need to remember that later on. I still don&#8217;t know if the expression would work instead but I&#8217;m going to do a quick test to see.</p>
<p><em>Expression Test:</em> Didn&#8217;t work.</p>

<p><strong>Possibly Related Posts:</strong></p>
<ul>
<li><a href="http://jacobsantos.com/2012/programming/game-engine-development-and-open-source/">Game Engine Development and Open Source</a></li>
<li><a href="http://jacobsantos.com/2011/programming/plans-for-base-cms/">Plans for Base CMS</a></li>
<li><a href="http://jacobsantos.com/2011/general/bullet-e-book-library-management-and-content-server/">Bullet: E-Book Library Management and Content Server</a></li>
<li><a href="http://jacobsantos.com/2011/general/using-zendframework-2-beta1-for-directory-project/">Using ZendFramework 2 beta1 For Directory Project</a></li>
<li><a href="http://jacobsantos.com/2011/programming/project-plans/">Project Plans</a></li>
</ul><br />
]]></content:encoded>
			<wfw:commentRss>http://jacobsantos.com/2006/general/firefox-javascript-bug/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Why I don&#8217;t use JavaScript</title>
		<link>http://jacobsantos.com/2006/general/why-i-dont-use-javascript/</link>
		<comments>http://jacobsantos.com/2006/general/why-i-dont-use-javascript/#comments</comments>
		<pubDate>Thu, 05 Jan 2006 09:04:08 +0000</pubDate>
		<dc:creator>santosj</dc:creator>
				<category><![CDATA[JavaScript]]></category>

		<guid isPermaLink="false">http://www.santosj.name/?p=61</guid>
		<description><![CDATA[<a href="http://jacobsantos.com/2006/general/why-i-dont-use-javascript/" title="Why I don&#039;t use JavaScript"></a>JavaScript adds to the development time and since I&#8217;m not as skilled it adds even more time as I have to research and test what I write for both Firefox and IE. Firefox (Mozilla) usually doesn&#8217;t give me any problems, &#8230;<p class="read-more"><a href="http://jacobsantos.com/2006/general/why-i-dont-use-javascript/">Read more &#187;</a></p>]]></description>
			<content:encoded><![CDATA[<a href="http://jacobsantos.com/2006/general/why-i-dont-use-javascript/" title="Why I don&#039;t use JavaScript"></a><p>JavaScript adds to the development time and since I&#8217;m not as skilled it adds even more time as I have to research and test what I write for both Firefox and IE. Firefox (Mozilla) usually doesn&#8217;t give me any problems, but adding support for IE is what drives the development time even further. It would be easier to say I&#8217;m not going to support IE, but then I lose a great deal of my base for that feature, depending on what it is. A lot of the time, I don&#8217;t use JavaScript because I have no real need for it. Why do I need to spend the time learning something that I won&#8217;t use but 10% of the time. When I do need it, I have to learn how to do what I need to use it for. I was greatly interested in how they do a lot of the <strong>advanced</strong> stuff, but I realized that it was only high novice to low intermediate coding and I was the novice who didn&#8217;t understand.</p>
<p>When you spend over eight years learning HTML and only then know about 90% and then teach yourself how to use PHP for three years, you don&#8217;t really have time for a lot of other stuff. If I ever sat down and read a book and did the examples in the book, then I could try some experiments. My problem is that I want to do stuff now and learning stuff from examples and from the ground up wasn&#8217;t very interesting. If I had actually taken the time to learn all I could, then I could probably create something that was moderately complex without having to do a lot of research.</p>
<p>I may finally break down and learn JavaScript 2.0 or 1.5, if JS 2.0 takes too long to be implemented in IE. I mean from the ground up, reading almost every detail and getting to be intimate with almost every aspect with the language. I must also say that I never really learned DOM 1.0 spec or the DOM 2.0 spec. It is part my difficultly with JavaScript is not the language, but the browser DOM support. If I can find a complete JS 1.5 or 2.0 language book that gives the complete DOM 1.0 and/or 2.0 spec, then maybe I would have an easier chance finally learning the complete language and creating something that is truely useful instead of tiny helper snippets for simple projects.</p>
<p>One of the things that I&#8217;m going to do that is going to be extremely difficult for me is getting my hands dirtly with an advanced part of JS and DOM and a lot of what I code won&#8217;t be mine, but pieced together from examples. I will  also be trying to learn JS 1.5 from online examples and reference guides. That has almost never worked out well, since I can&#8217;t really learn without a book in my hand and forced to read the contents. It gets boring and I move on to other parts of the Web when I finally get bored.</p>

<p><strong>Possibly Related Posts:</strong></p>
<ul>
<li><a href="http://jacobsantos.com/2012/programming/game-engine-development-and-open-source/">Game Engine Development and Open Source</a></li>
<li><a href="http://jacobsantos.com/2011/programming/plans-for-base-cms/">Plans for Base CMS</a></li>
<li><a href="http://jacobsantos.com/2011/general/bullet-e-book-library-management-and-content-server/">Bullet: E-Book Library Management and Content Server</a></li>
<li><a href="http://jacobsantos.com/2011/general/using-zendframework-2-beta1-for-directory-project/">Using ZendFramework 2 beta1 For Directory Project</a></li>
<li><a href="http://jacobsantos.com/2011/programming/project-plans/">Project Plans</a></li>
</ul><br />
]]></content:encoded>
			<wfw:commentRss>http://jacobsantos.com/2006/general/why-i-dont-use-javascript/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Creating the AJAX Basic Toolkit</title>
		<link>http://jacobsantos.com/2006/general/creating-the-ajax-basic-toolkit/</link>
		<comments>http://jacobsantos.com/2006/general/creating-the-ajax-basic-toolkit/#comments</comments>
		<pubDate>Wed, 04 Jan 2006 17:46:28 +0000</pubDate>
		<dc:creator>santosj</dc:creator>
				<category><![CDATA[JavaScript]]></category>

		<guid isPermaLink="false">http://www.santosj.name/?p=125</guid>
		<description><![CDATA[<a href="http://jacobsantos.com/2006/general/creating-the-ajax-basic-toolkit/" title="Creating the AJAX Basic Toolkit"></a>I need to create a way to create an AJAX toolkit that works with all modern browsers and keeps a lot of the work of testing out of the way for the developer using it. It is going to involve &#8230;<p class="read-more"><a href="http://jacobsantos.com/2006/general/creating-the-ajax-basic-toolkit/">Read more &#187;</a></p>]]></description>
			<content:encoded><![CDATA[<a href="http://jacobsantos.com/2006/general/creating-the-ajax-basic-toolkit/" title="Creating the AJAX Basic Toolkit"></a><p>I need to create a way to create an AJAX toolkit that works with all modern browsers and keeps a lot of the work of testing out of the way for the developer using it. It is going to involve research, which I&#8217;m doing, and testing, which I haven&#8217;t yet started. I&#8217;m going to look at other toolkits and see how they do things and develop my own methods and see how well I can do things against the other one.</p>
<p>I also need to focus a little bit more on security to make sure that a person can&#8217;t take control using my methods and PHP Scripts against me. A lot of testing will be required, but I think it will have an awesome effect.</p>

<p><strong>Possibly Related Posts:</strong></p>
<ul>
<li><a href="http://jacobsantos.com/2012/programming/game-engine-development-and-open-source/">Game Engine Development and Open Source</a></li>
<li><a href="http://jacobsantos.com/2011/programming/plans-for-base-cms/">Plans for Base CMS</a></li>
<li><a href="http://jacobsantos.com/2011/general/bullet-e-book-library-management-and-content-server/">Bullet: E-Book Library Management and Content Server</a></li>
<li><a href="http://jacobsantos.com/2011/general/using-zendframework-2-beta1-for-directory-project/">Using ZendFramework 2 beta1 For Directory Project</a></li>
<li><a href="http://jacobsantos.com/2011/programming/project-plans/">Project Plans</a></li>
</ul><br />
]]></content:encoded>
			<wfw:commentRss>http://jacobsantos.com/2006/general/creating-the-ajax-basic-toolkit/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

