Web Programming


General Information

Yahoo Video logoYUI Theater. A series of videos on programming, many on the topic of Web programming. The collection includes an excellent series on JavaScript by Douglas Crockford. These lectures are also indexed here, along with other video lectures on javaScript.

CodePress, web-based source code editor with syntax highlighting written in JavaScript that colors text in real time while it's being typed in the browser.

Codepress
roScripts logoroScripts is categorized into five areas. Using the system it's very easy to start adding weight to your preferences. Once you log in and begin bookmarking resources that you find important, roScripts will automatically create a tag cloud representing your savings.

Structured on many programming and design categories, articles are manually approved and selected in order to meet your expectations. Everything from beginners to advanced tutorials, monthly galleries with the best websites and various other resources designed to help you on your way of creating rich, well structured and SEO friendly websites.

See also:

Flash


General Info | Flash & XMLTutorials | Classes | Other VenuesVideoFlex
I Just Want To... Simple Demos of Simple Processes | Flash Media Server
Flash Web Site Development | Progressive Enhancement 
Text Layout Framework | Flash RegEx | FileReference | Flash CSS | AIR

If you're coming to AS3 from AS2, save yourself a lot of time by reading the two pieces referenced above first. Then go to Senocular's AS3 Tutorial, as well as Senocular's ActionScript 3 Tips and Tricks. Finally, get a copy of the AS3 Bible. You'll need your Bible, as Satan obviously had a hand in the creation of AS3.

Note: Information on versions prior to Flash 9 is not indexed.

Flash logoPROGRAMMING ACTIONSCRIPT™ 3.0 familiarizes you with the concepts behind the ActionScript 3.0 programming language and gives you implementation details and samples illustrating important language features. However, this manual is not a complete language reference. For that, see the ActionScript 3.0 Language and Components Reference, which describes every class, method, property, and event in the language. The ActionScript 3.0 Language and Components Reference provides detailed reference information about the core language, Flash components (in the fl packages), and Flash Player APIs (in the flash packages

See also:
  • ActionScript 3.0 Cookbook, by Joey Lott, Darron Schall, and Keith Peters, excerpts, including chapters 1, 2, 3, 5, and 6 in PDF format. This full book, available in paperback, offers more than 300 solutions to solve a wide range of coding dilemmas.

  • Essential ActionScript 3.0, by Colin Mook. Chapters 20 and 21 are excerpted in PDF format. The excerpt covers display and interactivity. The book is available in paperback.
Tame Your Game with CS3 & ActionScript 3 by Jay Laird.
ActionScript 3.0 - Display Object Primer  One important change in Flash CS3 from a programming standpoint is the usage of the MovieClip properties such as the old AS2 attachMovie, createEmptyMovieClip et all.  This tutorial introduces the new way. On Last ActionScript Hero.
Flasher Magazine logo
Yaho logo  FLASH DEVELOPER CENTER--a collection of Flash tools, resources and information — all open source and freely available for your use. Join the ydn-flash Yahoo! Group to exchange information with Flash developers.
Further reading:


See also:

Flash Blogs:

A great visualizer for bezier curves, and an explanation.


Flash and XML:
See also:

htmlText in a Textfield

Flash Tutorials:

Flash Classes and Libraries

Google Code logoActionscript 3 on Google Code.
Graffiti logo AS3 Bitmap Drawing Library is designed for developers to easily integrate drawing functionality into a Flash, Flex or Air application. It is free to use and modify for noncommercial projects.
TweenLite., Also a TweenLite Basic Tutorial on the Zedia Flash Blog. Documentation on Edutech Wiki.

See also:
Further reading:

See also:
  • Flare is a collection of ActionScript 3 classes for building a wide variety of interactive visualizations. For example, flare can be used to build basic charts, complex animations, network diagrams, treemaps, and more. Flare is written in the ActionScript 3 programming language and can be used to build visualizations that run on the web in the Adobe Flash Player. Flare applications can be built using the free Adobe Flex SDK or Adobe's Flex Builder IDE. Flare is based on prefuse, a full-featured visualization toolkit written in Java. Flare is open source software licensed under the terms of the BSD license, and can be freely used for both commercial and non-commercial purposes.

  • The AnimatedBitmap Class provides functionality for Bitmap objects that are animated by using a series of still images. When creating a new AnimatedBitmap you provide a BitmapData object that contains an image that consists of the ’single-frame’ images for the animation.

  • List of ActionScript 3.0 API’s

  • Mike Chambers at Google Code.

  • List of 22 ActionScript 3.0 API’s

  • A YouTube class in AS3 on Lost in Actionscript.

  • Actionscript Classes.

  • Open Flash Charts, an open source Flash charting application, with source code.

  • Actionscript Layout Engine, shown in action here.

  • Falcon for Flash CS3, A Simple Connection to Server Scripts with  Flash 9


  • The AS3 Core Library at Google Code, and a tutorial on using the JPEG Encoder.

  • Create a pseudo-class from a runtime-loaded image in AS3 by Josh Tynjala.

  • ScaleBitmap : 9-slice bitmap class by Didier Brun

  • Getting JPG dimensions with AS3 without loading the entire file.

  • The StreamLoader Class, which loads an image using the URLStream class, and passes ByteArray to the Loader class.

  • BulkLoader is a minimal library written in Actionscript 3 (AS3) that aims to make loading and managing complex loading requirements easier and faster. BulkLoader takes a more dynamic, less architecture heavy aproach. Few imports and making heavy use of AS3's dynamic capabilities, BulkLoader has a one-liner feel that doesn't get your way. Discussed.

  • Gummy and the Custom BitmapTransformer Class.

  • R. Haws, A Collection of Custom Classes.

  • 30+ useful as3 open source projects, on Ntt.cc.

  • GoASAP, a versatile, generic base library for building animation tools in ActionScript 3.0.

  • BulkLoader, by Arthur Debert. This class allows you to load data from files in an streamlined way, and provides a series of features - like maximum number of retries, cache bypass, and others - that makes the whole process a lot easier than it would normally be in AS3. On Zeh. And an explanation here.

  • Senocular's Actionscript Libraries.

Flash RegEx

RegExr is an online tool for editing and testing Regular Expressions (RegExp / RegEx). It provides a simple interface to enter RegEx expressions, and visualize matches in real-time editable source text. It also provides a handy RegExp snippet sidebar with descriptions and usage examples to make it easier to learn Regular Expressions through trial and error. It isn't as powerful as a product like RegExBuddy, but it has the advantage of being online and free. By Grant Skinner.


Parsing Tags and Text From HTML,  Mar 13, 2008 by Grant Skinner.

Using Regular Expressions with JavaScript and ActionScript, on Regular-Expressions.info.

Using regular expressions, on the Adobe Resource Center.

AS3 Syntax Highlighting in AS3 , on the Atlas Blog.

AS3: Regular Expression Basics on Snipplr.

See also:

Flash Web Site Development

Flash Enabled logoCreating liquid GUIs with Flash and ActionScript 3.0, April 28, 2008 on The Flash Enabled Blog, by James O’Reilly.
Swffit logoswffit, a JavaScript that automatically resizes your SWF to 100% width and 100% height when your browser window is greater than the minimum desired size and resizes flash to the minimum desired size when the browser window is smaller... It can also resize the flash movie to a maximum size if the browser window size is greater than the maximum size.
Gaia logo elementGaia is an open-source front-end Flash Framework for AS3 and AS2 designed to dramatically reduce development time, targeted at anyone who develops Flash sites. It provides solutions to the challenges and repeated tasks we all face with front-end Flash site development, such as navigation, transitions, preloading, asset management, site structure, deep linking and SEO. It provides speed and flexibility in your workflow and a simple API that gives you access to its powerful features.
Liquid Layouts:

See also:
  • SWFObject, an easy-to-use and standards-friendly method to embed Flash content utilizing one small JavaScript file. The FAQ contains a lot of good information regarding Flash and browser issues.

  • SWFAddress.

  • jQuery Address, a direct port of the SWFAddress library utilizing a plugin (API sample).

  • htmlwrapper, a cross-browser HTML/CSS rendering engine written in ActionScript that sits on top of your standards-compliant HTML page. Wrapper eliminates cross-browser issues and makes integrating ActionScript and HTML/CSS projects possible without needing to compile.

  • A Full-Screen Flash Website - (True Full Screen) on Flash Workshop.

Flash CSS


Coming Soon

See also:
 

Adobe AIR


The primary emphasis here is on AIR development in Flash.
Adobe AIRAdobe AIR Developer Center Adobe AIR is a cross-operating system runtime that enables you to use your existing HTML/Ajax, Flex, or Flash web development skills and tools to build and deploy rich Internet applications to the desktop.

Adobe AIR applications support native desktop integration, including clipboard and drag-and-drop support, local file IO, system notification, and more.

Tutorials:
See also:

An Overview by Mozart Petter.

How to port Adobe AIR to WRT on the Developer Community WIKI

Geting Start with the AIR Flash CS3 Professional, by Alpesh Vaghasiya, on Actionscript.Org

RefreshingApps.Com is a showcase for some of the Adobe AIR applications that are being developed today. It is also an agggregator of AIR developer resources.

Adding auto update features to your AIR application in 3 easy steps, by Greg Wilson.

Other Flash Venues

Complete starter guide for developing Flash projects using Eclipse/FDT--covers all the basics of setting up Eclipse and FDT environment to develop some kick-ass websites in a more structured Object Orientated approach. From managing workspaces to connecting with repositories, this document should be all-inclusive for any new Actionscripter who wants to start doing some serious Flash projects.

See also:
  • OS Flash --a watering hole for open source Flash developers and users to meet, talk about and contribute to new and existing open source projects for the Flash Platform.

  • Papervision 3d.
  •     -Blog
        -Introductory tutorials.
        -Papervision 3D Tutorials (with Videos) on the Flash Enabled Blog.
        -Papervision on the blogcatalog.

  • Sandy is an intuitive and user-friendly 3D open-source library developed in Actionscript 2.0 and now Actionscript 3.0 for Adobe Flash.

  • AWAY 3-D, a realtime 3-D Engine for Flash.

  • OpenLaszlo is the a rich internet platform that lets you write once and compile to both flash and DHTML.

Flash Video

Adobe Developer Network logoADOBE DEVELOPER NETWORK, Video Technology Center. Start out with the Flash Video Learning Guide,then check out the samples and tutorials in the Video Topics areas.

See also:

BUG ALERT! Choppy video on Macintosh machines.

Flash Media Server

Flash ServerStream protected, high-quality live and on-demand video Adobe® Flash® Media Streaming Server 3 software is a step up from using progressive download to deliver video. It offers dramatically improved performance, more secure streaming, live streaming enhancements, industry-standard H.264 and HE-AAC support, and streaming delivery to mobile phones with Adobe Flash Lite™ 3 and Adobe Media Player software.

See also:
  • FMSGuru.com has a bunch of video tutorials, articles and a forum on the topic of FMS.

  • Learning Flash Media Server 3,  an in-depth book on the topic, including installation, setup, SharedObject, and streaming video, audio, and server side programming. Previewed by Google.

  • Flashcomguru

  • Flash Streaming with Akamai in AS3.

  • Video tutorial : installing Flash Media Server 3, A walk through the installation process and then creating a video player - using videoMaru - to stream movies from FMS. There is also a videoRecorder included in the samples download so that you can see how to use your webCam to record videos to your hard drive. The tutorial also covers how to set your router up so that you can stream videos from your PC to anyone on the Internet. Which can be very handy for application development. On polygeek.
RELATED TOPICS:
RED FIVE:

I Just Want To...

NOTICE: When you click on an example in a rollover-popup window on the Safari browser, the zip file containing the source code will begin the download process. This bug is apparently confined to Safari. The only workaround at this time is to use any other browser.
Play a sound in a SWF  (A rollover triggers a popup; click to download the FLA.) The accompanying popup contains a button that triggers an external MP3 file. The code in the FLA is commented.
BUG ALERT! Flash Player 10 (Windows) audio delays and lags when using Sound.play() API

Create A Shared Object . (A rollover triggers a popup; click to download the FLA.) The accompanying popup creates and retrieves data from a shared object. Close, then reopen the file after you have saved data to the shared object to see that the data has indeed been saved into a file on your hard drive.
Courtesy of Terry Deglow

See also:


More on the Shared Object . (A rollover triggers a popup; click to download the FLA.) This demo stores a selection into a SO, including a timestamp. It then retrieves that data, and performs a calculation based on the amount of time elapsed.

This demo was developed in conjuction with an ecommerce site linked to PayPal. In the application, the user's selections are stored into a SO, which are then retrieved, forcing a return behavior The trigger is based on a query string coming back from PayPal.

The timestamp is used in a routine that prevents a cached or bookmarked version of the page that contains the query string from triggering an old return behavior.


Submit to a PHP script . (A rollover triggers a popup; click to download the FLA.) The accompanying popup presents a Flash Web form with a single input text box into which you may enter a number. When you click on the "Submit" button, the number is sent to a PHP script that evaluates the number and returns an assesment of whether the number is greater than or less than 5. Click here for the PHP script as a text file.
See also:



Create a liquid layout in Flash . (A rollover triggers a popup; click to download a Zip containing the FLA and a package.) The accompanying popup presents a Flash SWF with two features: (1) The image doubles in size when clicked, then goes back to the original size when clicked again. (2) A button will open this same SWF file in a new browser window to demonstrate the liquid, or fluid, layout properties. These two separate and distinct properties are contained within the same package.

The whole idea of a liquid layout revolves around the concept of controlling the relative positions of elements on the page when the browser window is resized. This package was developed by Dale Sattler of New Zealand. Everything, including an expanded explanaton, is available on his site.

When you click "Click here for browser," you will want to resize the window, pulling it in and out to see the liquid effect. I just set the parameters to collapse in all the way in all directions. However, as the documentaton shows, you have a lot more control than that.

See also:

Duplicate A Loaded-In Image (A rollover triggers a popup; click to download a Zip containing the FLA and an image.) Back in the old days, a duplicateMovieClip worked so well and was so simple that Adobe had to eliminate it for something a bit more obscure.

In this case, we want to load in a JPG image just once, then display it a second time without loading a new version. In order to accomplish this, we first load in the image Then using this code:

var myBitmapData:BitmapData = new BitmapData(myImageLoader.width, myImageLoader.height);

Create a Simple Timer . (A rollover triggers a popup; click to download a Zip containing the FLA.)

See also:

Make the timeline run backwards. . (A rollover triggers a popup; click to download a Zip containing the FLA.)

Communicate between an AS2 and an AS3 SWF . (A rollover triggers a popup; click to download a Zip containing the FLA.). This demo uses Grant Skinner's SWFBridge class that implements a very easy local connect between an AS2 and an AS3 SWF.

The AS2 file loads into the AS3 in this instance. Then the local connect passes variables back and forth. I did this for a project which required putting an AS3 photo gallery into an AS2 Web site. I had trouble trying to load the AS3 into the AS2, so I simply did it the other way around.

Make The Background Transparent  (A rollover triggers a popup; nothing to download this time.) I threw everything in the book at this one, so I'm not certain what is working and what is irrelevant. The key here is to set the background to transparent in the publish settings of your SWF file. Publish settings>HTML>Window Mode>Transparent Windowless. There's always the danger of browser incompatibility, so the only real fool-proof method would be to make an all-Flash page.

I changed the CSS for this rollover-popup to have a transparent background, and to load in a transparent GIF. 
a.info2 {
  position: relative;
  z-index: 24;
  font-size: 1em;
  font-weight: bold;
 color: #000099;
}
a.info2:hover {
  z-index: 25;
  //background-color: #ffff00;
  background-color: transparent;
  background-image:transparent url(transparent.gif);
}
a.info2 span {
  display: none;
}
a.info2:hover span {
  border: 2px solid #cc6600;
  display: block;
  position: absolute;
  top: 1em;
  left: -0.75em;
 // background-color: #ffffcc;
  background-color: transparent;
   background-image:transparent url(transparent.png);
  color: #000099;
  text-align: center;
}
In the SWF, I made the image into a MC, then set the opacity at 50%. I then made the black reverse to demonstrate full opacity within the same file.

I'd appreciate any further information on this technique anyone may have, or information on what, if any, irrelevant code I'm using in the CSS.

See also:


Fire a function from an HTML text link . (A rollover triggers a popup; click to download a Zip containing the FLA.)  This process is somewhat more daunting than the asfunction of yore. When you take a closer look, however,  it's not as complicated as it might first seem.

To begin, we have three MCs set to invisible. Our functions will change these to visible. Next, we have two dynamic text boxes, each set to selectable. If you turn off selectivity, the functions won't fire. We then populate in the htmlText. This text will contain the links to fire the functions.

The functions each fire from a specific a href. Note that quote marks within the string of the htmlText must be escaped. The linked text is set to blue and underlined to simulate the default browser look for a link.

Event text is contained within the href tag. This text acts as a reference to the link. Linked text is is the visible text on which the user will click.

In the first string, event:showStar is where the magic happens. showStar is the event text. here is the linked text. Actually, unlike the event text in second function, showStar has something of a placeholder function, because it doesn't do anything. This text block contains a single function. The listener listens for a click on the linked text, and then fires off the function. Never mind what the event text is.

In the second text block, the function must distinguish between two actions--clicking on the link for the red star, or on that for the blue. Here, Flash looks for the event text to determine which of the two links was clicked. showRed is contained within the tag for the red star link, and showBlue is within that for the blue star.

Here's the code as it is in the download FLA.
redStar_mc.visible=false;
redStar2_mc.visible=false;
blueStar_mc.visible=false;
textBox_txt.htmlText="Click <font COLOR=\"#0000FF\"><u><a href=\"event:showStar\">here</a></u></font> to show the red star.";
textBox_txt.addEventListener("link", starClickHandler);
function starClickHandler(e:TextEvent) {
    redStar_mc.visible=true;
}
textBox2_txt.htmlText="Click <font COLOR=\"#0000FF\"><u><a href=\"event:showRed\">here</a></u></font> to show the red star, and <font COLOR=\"#0000FF\"><u><a href=\"event:showBlue\">here</a></u></font> to show the blue star.";
textBox2_txt.addEventListener("link", starClickHandler2);
function starClickHandler2(e:TextEvent) {
    if (e.text=="showRed") {
        redStar2_mc.visible=true;
    } else if (e.text=="showBlue") {
        blueStar_mc.visible=true;
    }
}

Scroll CSS-styled, dynamically-loaded text from an XML file. Click to download the source code. The code is commented, but still a lot remains to be explained. More explanation is forthcoming.

Content on this page requires a newer version of Adobe Flash Player.

Get Adobe Flash player


See also: See How The Cinch-O-Matic Script Generator Works.

Download the source files here. The application has been deployed here.

Here's an Overview of the Cinch-O-Matic

This application has been upgraded from a Flash 9 to a Flash 10 version. Formerly, a PHP script was employed to process the files. Now, Flash reads and writes the files directly to the local hard drive.

The application opens a system dialog box, prompting the user to open an HTML file containing the form. It opens, then then passes the data in the form of a string to a series of functions for processing.

The first error checking done in this process uses regex to pull out the form elements, which are examined to determine whether or not a PHP script file is referenced. If it is, then this file name is stored in a variable, which will be pulled out when the file is written back to the hard disk.

The string then goes through another regex routine to normalize any forms contained within. Caps in the form elements are reduced to lower case, and extraneous spaces are removed. Variable names are not changed. Then the string is broken down, using Flash string functions to ferret out multiple forms, which are put into arrays. The process then loops over the arrays pulling out the file names of the scripts, the methods, and the variable names.

Next, Flash loops over the contents of the form arrays looking for exceptions such as the presence of unsupported processes such as image maps. Error messages are displayed, which, when closed, take the user to the email configuration page. Here, the user is presented input text boxes for information such as the email address to which the email will be sent, the boilerplate for the email, and the names of the thank you and the error files. If no PHP "action=s" are present, nothing can be done, and so an error message informing the user is displayed. The user is then returned to the beginning of the application, where he may enter in a new file name.

Next, the user is presented the script assembly page. Form elements for non-PHP scripts are skipped, and the first PHP script is displayed. Regular expressions remove the array access notation from elements having the "[]" attached. A for each routine is then written into the script that will loop over each of those arrays to return the elements selected by the form respondent. Such an element might be a series of checkboxes having the same name.

The script assembly page contains two movie clips. The first contains the form element names, and the second houses a series of text boxes for processing the script. The form names movie clip places a radio button in front of each of the form names. When the user clicks on a radio button, a listener in the processing movie clip populates that name into a dynamic text box that is adjacent to an input text box where the user enters in the corresponding tag to go along with the contents returned from the form. A typical name might be "theName," in the part of the form where the respondent has entered his name. The input text box might receive something like, "The name of the person sending this form is." When the script is deployed, then, this part of the email might look something like, "The name of the person sending this form is John Smith."

An "Add" button then passes this information to a function that writes the script. Each element of the script is populated into an array. A writing function then pulls out the array elements and writes them to a string that will constitute the script. This writing function first clears out the script as it was constituted before the current element was added, and then rewrites the script, including the new element. This, then, allows the user to make corrections to any of the script elements.

Finally, the user presses a button to complete the process. A system dialog box is opened with the file name pulled out of the stored variable from the beginning of the process.


Make a simple Flash Slideshow. Actually, this isn't a simple slideshow; but it is pretty much basic. When you click on the arrow buttons, the scrolling is enabled. Scrolling speed and direction are governed by the X position of the mouse. When the mouse Y position goes up to the level of the bottom of the icons, the scrolling freezes. The user must click again on an arrow to resume the scrolling. As the icons pass specific X positions near the left and right edges, they fade out and are disabled.

Rolling over an icon enlarges it. Clicking on it swaps in a new picture. Metadata and the captions are contained in an XML file. The caption is styled by an external CSS file. TweenLite is used for the transitions between pictures.

This gallery is a prototype for a user-managed gallery.  The source code is here.

See also:

Make A Draggable Zoomable Map [COMING SOON].
See also:

See also:
  • FlashSourceCode.com.

  • flCodr is two things:
    • An online repository of Flash snippets (small bits of re-useable code you can use to save time when developing)
    • An extension for Flash which gives you access to the online repository from within Flash, meaning that you never have to leave the authoring environment to get code.
    For the first time you will be able to access code directly from within Flash using a new extension, which will allow you to connect to an online repository of code snippets.

 

Text Layout Framework


The Text Layout Framework (released on Labs) is an extensible library, built on the new text engine in Adobe Flash Player 10 (and also available in AIR 1.5), which delivers advanced, easy-to-integrate typographic and text layout features for rich, sophisticated and innovative typography on the web.

The Text Layout Framework API Reference.

Text Layout Framework Overview, a PDF from Adobe.

Flash Text Engine, by Veronique Brossier, on O'Reilly InsideRIA.

Progressive Enhancement


Progressive enhancement is a strategy for web design that emphasizes accessibility, semantic markup, and external stylesheet and scripting technologies. Progressive enhancement uses web technologies in a layered fashion that allows everyone to access the basic content and functionality of a web page, using any browser or Internet connection, while also providing those with better bandwidth or more advanced browser software an enhanced version of the page.
From a Flash standpoint, Flash would be the top level in the stack.
Providing alternative content for SWF files by Bobby van der Sluis on the Adobe Developer Connection.
See also:

FileReference


Using the new FileReference Class in Flex to save and load without a server. In the new Flash Player 10, you will be able to write/read files without the need to send anything back to the server. Here are two examples using Flex.

 AS3 FileReference and uploading files with php on gotoAndLearn.com.

Reading and Writing Local Files in Flash Player 10, by Mike Chambers, on his blog.

Communication in AS3, on Sheridan Interactive Multimedia.

AS3 FileReference Example, on The Danosphere.

Uploading Multiple Selectable Files with Flash9 and AS3, on [draw*logic].

Upload Multiple Files With a Single Request in Flash, on Mike Stead's Blog.

Using FileReference To Download PDFs (AS3), on Mike Garcia's Blog.

Using AS3 to Upload and Encode Images, on Substance Labs.

See also:

  • ASZip lets you generate ZIP files from ActionScript 3, a Google Code library.

  • BulkLoader, by Arthur Debert. This class allows you to load data from files in an streamlined way, and provides a series of features - like maximum number of retries, cache bypass, and others - that makes the whole process a lot easier than it would normally be in AS3. On Zeh. And an explanation here.

  • Flash Player 10 FileReference Changes, by Lee Brimlow.

Flex

Flex illustrationAn Absolute Beginner's Tutorial In Flex 3, by Rhys Tague, April 23rd 2008, on Sitepoint.

Developers are picking up Flex with great speed. One of the reasons for this is that Flex programming is relatively easy to learn if you're already familiar with XHTML. Of course, there's always a transition period when you're getting used to a new environment, but learning Flex won't take long!

Javascript

 Javascript logo
  • Programming Texts and Tutorials, JavaScript Section.

  • Learning JavaScript with Douglas Crockford at Yahoo.

  • Google Directories Javascript tutorials.

  • MooTools, a compact, modular, Object-Oriented JavaScript framework designed for the intermediate to advanced JavaScript developer. It allows you to write powerful, flexible, and cross-browser code with its elegant, well documented, and coherent API.

See also:
  • JAVASCRIPT TOOLBOX: 25+ Tools & Tutorials For JavaScript from Mashable.

  • JavaScript Kit.

  • Moo Tools--a powerful, lightweight javascript library designed to ease interactive JavaScript web development. In a way, you can think of a lot of things that Mootools can do as CSS extensions. For example, CSS lets you change a property on hover. Javascript allows you to recognize more events (click, mouseover, keystrokes, …) and Mootools makes it almost painfully easy to take advantage of this.

  • A re-introduction to JavaScript on the Mozilla Site.

  • LiveValidation is a small open source javascript library built for giving users real-time validation information as they fill out forms. Not only that, but it serves as a sophisticated validation library for any validations you need to make elsewhere in your javascript, it is not just limited to form fields.

  • A collection of Ajax, Javascript and DHTML Libraries on TechnoTarget.

  • Prototype Window, a Javascript class that allows you to add window in a HTML page. This class is based on Prototype. The code is inspired by the powerful script.aculo.us library. You can even use all script.aculo.us effects to show and hide windows if you include effects.js file , but it's not mandatory. It has been tested on Safari, Camino, Firefox and IE6, Opera looks fine.

Further reading:
AJAX:

XML

Berkeley logo INFOSYS 290A: XML Foundations, The School of Information Management and Systems, UC Berkeley. Online lectures in Real Player format. Includes course materials.

Tutorials:
Further reading:

See also:
  • 20+ Tools For XML from Mashable.

  • XML-Training-Guide.Com an extensive discussion of XML, and applied XML, as well as an exhaustive list of XML-related resources.

  • Flash and XML (above.

  • PHP and XML (below).

  • TopXML--a news and information aggregator for XML-related topics.

  • W3C XML Validator

  • <oXygen/> XML Editor or Author is a multi-platform XML editor, XSLT/XQuery debugger and profiler with Unicode support. It is a Java application, so it can run in Windows, Mac OS X, and Linux. It also has a version that can run as an Eclipse plugin..

PHP

PHP logoPHP is a widely-used general-purpose scripting language that is especially suited for Web development, and can be embedded into HTML. PHP is free, and open-source. This programming language is second in popularity only to Javascript, and uses a lot of dollar signs. PHP has some sort of relationship to the Zend Company. Nobody is exactly sure how that works. However, Zend provides a lot of good support and tutorials for PHP.

Food PHP Tutorials logoJust that--beginner to advanced PHP programming tutorials.
php MagazineAn online periodical of all things PHP.

More tutorials:

See also:
File uploading:

And going the other way:
Further reading:


PHP and MySQL:
  • The SQL side of PHP/MySQL. Many web developers are self-taught, learning HTML, then moving on to a programming language such as PHP. From there, they often learn to integrate this with a database. Too few though have a good theoretical knowledge of databases. Mention foreign keys, or referential integrity, and you're met with a blank stare. Small databases can be easily designed with little database theory knowledge. But large databases can easily get out of hand when badly designed, leading to poor performance, and resulting in the whole database needing to be rebuilt later. This article is a brief introduction to the topic of relational databases, and will hopefully whet your appetite for further exploration.

  • Secure Website Login Programming with PHP & MySQL on the EIOBA open base of articles

  • Learning SQL Using phpMyAdmin a tutorial aimed at programmers, analysts, and designers of dynamic Web sites who want to learn the basics of SQL, using the MySQL (www.mysql.com) database server and its powerful phpMyAdmin ( www.phpmyadmin.net) interface.

  • SQL Buddy – Web based MySQL administration.

  • PHP Mini Admin for MySQL one ~10Kb file and it's ready to use!

  • Backup MySQL DB with PHP on Tech-Geeks.Org

  • Using MySQL Full-text Searching--Using directories to group articles by category is a great way to help people to navigate through many articles. At some point, however, someone will want to find all the articles that pertain to a certain topic that may not have a directory of it’s own, or may span many directories . This is what the search engine is for.

  • A tutorial from Astute Computing,  intended to quickly bring you up to speed on connecting to the MySQL database using as PHP as the Web front end. It will have multiple examples of selects in their myirad forms. It also includes Inserts, Updates and Deletes.

  • PHP MySQL Tutorial.

  • MySQL PHP Web Database Tutorial from Web Blazonry.

  • The PHP MySQL Tutorial.

  • PHP / MySQL Tutorial from TIZAG.

  • Building a Database-Driven Web Site Using PHP and MySQL by Kevin Yank, from MySQL.

  • Start Using MySQL with PHP - MySQL Tutorial with PHP and PHPMyAdmin, by Abraham Chaffin, on CreativeCOW.net. This tutorial is designed to give the beginning web designer some basic knowledge and tools to start using MySQL with PHP. This tutorial includes a PHPMyAdmin tutorial, a simple Content Management System for your MySQL table, and file templates to start displaying MySQL data on web pages.

  • PHP howto - Sanitize database inputs.

  • xkcd

  • PHP MySQL Functions, from W3Schools.

  • Tutorial on "How to Understand a Database Schema," by Barry Williams

PHP and XML:

PHP Snippets:
  • 10 code snippets for PHP developers, a small list of some useful code snippets which might help you when writing your PHP scripts, on the html blog.

  • PHP Snippets, a projects page, where you can download software projects-- things like Content Management Systems (CMS), Online Web Stores, File/Web Hosting, and anything else.

  • SNIPPLR's searchable library of PHP snippets.

  • PHP snippets

RegEx

Expresso logo Expresso 3.0 RegEx builder, a regular expression development tool.

Regex Coach icon The Regex Coach enables you to try out the behaviour of Perl's regular expression operators (namely m//, s///, and split) interactively and in "real time", i.e. as soon as you make changes somewhere the results are instantly displayed. You can also query the regex engine about selected parts of your regular expression and watch how it parses your input.

Of course, this application should also be useful to programmers using Perl-compatible regex toolkits like PCRE (which is used by projects like Python, Apache, and PHP) or CL-PPCRE. Also, Java's regular expressions and those of XML Schema are very similar to Perl's.

Further reading:

Tutorials:


See also:

MySQL

Easy As Pie LogoEasy As Pie--Working With A Database
This post is the third in a continuing series of DIY tutorials, which aims to make things as simple as possible.

The [Easy as Pie] series focuses on tasks that most people consider too challenging and presents it in a way that is easy (as pie!) to understand.
See also:
  • Web Developer's Field Guide, a list of resources.

  • Database Tutorials on the Web, from Get It Done with MySQL 5&6.

  • Database Normalization and Table structures, on bytes.com.
    Normalisation is the term used to describe how you break a file down into tables to create a database. There are 3 or 4 major steps involved known as 1NF (First Normal Form), 2NF (Second Normal Form), 3NF (Third Normal Form) and BCNF (Boyce-Codd Normal Form). There are others but they are rarely if ever used. A database is said to be Normalised if it is in 3NF (or ideally in BCNF). These steps are descibed in the article.

  • Drizzle, A Lightweight, Open Source SQL Database for Cloud and Web.
    This project is about building a building a database designed for the typical Web usage patterns for a database. It is being designed for massive concurrency on modern multi-cpu/core architecture. The code is originally derived from MySQL. 

  • Common MySQL Queries, Extending Chapter 9 of Get it Done with MySQL5&6. A kind of cheatsheet/compendium.

  • SQL Injection Attacks by Example, on Steve Friedl's Unixwiz.net Tech Tips.
    A customer asked that we check out his intranet site, which was used by the company's employees and customers. This was part of a larger security review, and though we'd not actually used SQL injection to penetrate a network before, we were pretty familiar with the general concepts. We were completely successful in this engagement, and wanted to recount the steps taken as an illustration.

  • SQLzoo.net, an interactive SQL tutorial--learn about: SQL Server, Oracle, MySQL, DB2, Mimer, PostgreSQL, SQLite and Access.

  • SQL Course.Com is an introductory SQL tutorial not only providing easy-to-understand SQL instructions, but it allowing you to practice what you learn using an on-line SQL interpreter. You will receive immediate results after submitting your SQL commands. You will be able to create your own unique tables as well as perform selects, inserts, updates, deletes, and drops on your tables. This SQL tutorial currently supports a subset of ANSI SQL. The basics of each SQL command will be covered in this introductory tutorial.

  • SecurePHPandMySQLWebApplicationsTutorial.