Ajax and Ajax Frameworks

I have been a developer for nearly 20 years and a web developer for about 10 years. Over the years, I have considered creating a blog to share the things I have learned (and am learning) about web design and development, but I never seemed to have the time. When I began learning about web development using Ajax and Ajax Frameworks, I decided to take the time to create this blog.

My intention for this blog is to focus primarily on Ajax Frameworks, but since web development requires knowledge of many technologies, I will occasionally write about things such as CSS, Javascript, PHP, MySQL, Flash, etc.

Lately, I have been using JQuery as my primary Ajax tool. Although I have used other Ajax Frameworks in the past (Dojo Toolkit, Yahoo! User Interface Library, Scriptaculous/Prototype), JQuery has thus far been the easiest to learn. In my first few posts I will discuss some of the JQuery Plugins that I have created. Some of these include: a plugin for Google Maps (jquery.imGoogleMaps), Form validation and submission  (jquery.imValidateForm), Page Populater (jquery.imPagePopulate), and a plugin to create lists (jquery.imList).

While I am still learning about some of the other Ajax Frameworks, I hope that what I have learned will be helpful to others. Just remember, “When you can pull the pebbles from my hand…”

Archive for May, 2010

I have nearly completed my new portfolio site. I developed the Flash Movie on my Windows machine, but the rest of the development (Joomla, etc) has been done on my Ubuntu box. I’m using ActionScript’s ExternalInterface Class for this project. During integration, I learned that the Javascript code on Linux is a bit different than the code needed for Windows.

Read the rest of this entry »

Share

I came across an interesting problem the other day with regards to AS3 garbage collection. I assumed that when an object is removed from the stage, everything is removed, including event listeners. This is not the case. I created a carousel class for my new portfolio site. The carousel displays images for a specific portfolio category (web, business cards, magazines, etc). When the user clicks a link for a different category, all images for the current category are removed and then the new images are loaded. But when the new images loaded, I received the error:

?View Code ACTIONSCRIPT
Error #1009: Cannot access a property or method of a null object reference.

After some testing, I found that the event listeners were not being removed.

Read the rest of this entry »

Share

I have nearly completed my new portfolio site. I built it using Flash and Joomla. I created a Flash application to display the actual portfolio (thumbnails, links, etc). I then created a Joomla component and module (gsPortfolio) that incorporates the Flash portfolio application.

When I created the Joomla template for my site, I designed it specifically for the display my portfolio. Unfortunately, this layout was not generic enough to accommodate secondary pages (my portfolio is displayed on the home page). After looking at the code of the JA_Purity template, I was able to figure out how to create multiple views in a single template.

Read the rest of this entry »

Share

I’m working on a portfolio site where I’m using Flash to display my work. When a user clicks on a link for a website that I designed, they will be taken to the actual website. But when the user clicks on the link for book cover or magazine, I want the large image to be displayed using lightbox (A JQuery Plugin). The primary reason is that I want to use lightbox is because the Flash movie has a height of 225 pixels – not nearly enough to display a large image. Surprisingly, with the help of ActionScript’s ExternalInterface Class and JQuery, creating this functionality was easier than I thought.

Read the rest of this entry »

Share

I ran into an interesting problem today when I attempted to remove all objects from the Stage. I didn’t realize that there was not an ActionScript method like removeAll (or something). After about a half hour of trying I was finally able to create a script that will remove all children from the Stage.

Read the rest of this entry »

Share

I created a global utilities class as part of my gpAS3Library. This ActionScript class is essentially a Singleton class that can be used throughout my Flash application without being instantiated.

Read the rest of this entry »

Share

Extending a custom class with ActionScript is fairly straightforward. As part of my gpAS3Library, I have a button class (gpButton) that extends a shape class (gpShapes). Originally (in my AS2 version), I instantiated the shape class from within the button class and the shape class was always a separate entity. Now that I have created the button class by extending my shape class, interacting with and manipulating the button is much more tidy and easier to maintain.

Read the rest of this entry »

Share

Although, I have been creating Flash Classes for some time, I had never created a class for my main Flash document – it has always been just a bunch of ActionScript functions. This wasn’t the OO way, so I decided to use the Document Class for the current application that I am working on. I was easy to set up.

Read the rest of this entry »

Share

I’m creating a new portfolio site using Joomla and Flash. I’ve spent this past weekend creating AS3 class packages (and converting some of my AS2 classes to AS3).

I began loading thumbnails using AS3′s URLRequest and URLLoader in my main application file. I decided to create a package that would request/load the thumbnails, but I needed to return the data from the URLRequest to my main application. I was able to accomplish it using the dispatchEvent method.

Note: This functionality is the basis for my gpUrlLoader class (part of my gpAS3Library).

Read the rest of this entry »

Share

I’m working on a Flash/AS3 application where I am loading various types of files (images, xml, etc). After writing the same code over and over again, I decided to create an AS3 class to use with my application. This class will load image, swf, text, xml, html, stylesheet, json, and sound files.

Read the rest of this entry »

Share