Atlanta Used Acura Find New Homes Chrysler Motor Domestic Violence The Lion King Tickets Scion Cleaning Maid Anxiety Relief Diversity Training Movado Watches Garage Doors Make Money On The Internet Berlin Germany Depression Counseling Nutrition Discount Microsoft Office Software Custom Logo Design Customized Promotional Products Electric Vibrators Anxiety Problems Makeup Cheap Gift Baskets Karaoke Machines New Jersey Cheap Airfare Tickets How To Make Money Online Fast Life Is Good T Shirt Making Easy Money Online Unique Gift Idea E Bay Alzheimers Disease Major Depression Parkour Gilmore Girls Tv Washington Dc Sliding French Doors Rent Audio Books Car Crash Desk Lamps Embassy Suites Mary Kay Consultants Las Vegas Show Granite Tile Flooring My Pay Uk Dr Phil Sympathy Gift Baskets Celtic Engagement Rings Coffee Makers Outdoor Grills Motorola Cell Advertising Signs Buy Diamonds Providian Window Treatments Hope Vitamins Electrical Engineering Toni Braxton School Fundraising Troy King Mattress Goverment Grants Pc Sales Custom Window Treatments Ovulation Kits Used Dodge Ram Double French Doors Grants Money Anti Spyware Stem Cells Panama Vacation Money From Home Computer Technology Sports Tickets For Sale Shutters Sports Illustrated Magazine Gold Bullion Coins Auto Dealer Kids Gift Baskets Cheap Airline Tickets To Florida Mattress Outlet Bulgaria Public Speaking Course Bass Pro Back Pain Treatment Discount Dog Beds Office Furniture Engraved Signs Mitsubishi Auto Glass Prices Modular Homes Ma Savannah Firestone Tires Flat Panel Tv Stands Web Proxy California Ebay Marketing Car Payment Calculator Mustang Dealer 42 Plasma Tv Used Audi Coffee Hoodia Plant Mercedes Convertibles Pontiac Grand Prix Car Work At Home Opportunity Candy Baskets Airfare Ticket Criminal Background Check Microsoft Office Software Cheap Car Parts Breast Cancer Screening Go Com Computer Desks The Rabbit Vibrator Landscape Design Wireless Microphone Genital Warts Discount Las Vegas Vacation Crystal Lamps Park City Skiing Stem Cell Next Cloths Home Office Computer Desk Gps Navigation Systems Martial Arts Training Tv Stands Unique Wedding Favors Social Anxiety Disorder Cancer Symptoms Home Entertainment Centers Purchase Microsoft Office 2003 Small Jewelry Boxes Consumer Report Work At Home Moms Constipation Replace Auto Glass Futon Mattress Designer Engagement Rings Cheap Checks Burr Coffee Grinder Kathy Ireland Magazine Subscription Deals Mens Pants Spring Break Trips Make Money Internet New Modular Homes Builders Online Calendar Compaq Cheap Granite Countertops Pontiac Gto Comparison Bmi Dentist Locator Minnesota Vacation Resin Wicker Furniture Samsung Blackjack Refacing Kitchen Cabinets Ford Hybrid Cars Personalized T Shirts Hotel Discounts Make Money Typing Make Easy Money Online Buy.com Major Depression Newport News Speaking In Public Modular Homes Ma Karaoke Cds Discount Dog Beds Cheap Car Rentals Instant Background Check Ellis Island Sports Tickets Tyler Wedding Reception Favors Friend Internet Money Motorola Q Modeling Classes Electrical Engineering Carnival Cruise Ship Akc English Bulldog Puppies Careers Cholesterol Desert Subscriptions Wrought Iron Balusters Ibs Honeymoon Destinations Buy Diamonds Lcd Flat Panel Tv Hotel Room Custom Gifts Logo Development Dance Accessories Email Cheap Magazines Tax Return Preparation Treasure Island Pearl Wedding Jewelry Beaver Tractor Part Buy Contemporary Art Brand New Homes New Baby Gifts Us Gold Coins Used Audi First Aid Certification Tax Cheap Magazine Subscription Auto Glass Windshield Replacement Spring Break Packages Hp Pet Grooming Supplies Radio City Christmas Spectacular Tickets Make Money With No Money Birthday Gift Baskets Mattress Store Firestone Tires Lincoln Car Mp3 Players Remedy Natural Cure For Yeast Infection Bar Ice Maker Air America Free Mls Listings 2006 Chrysler San Francisco Airport Security Albuquerque New Mexico 2005 Acura Elk Bifocal Reading Glasses New Acura Home Solar Panels Couples Baby Shower Invitations Find Romance Security Guards Zebra Christian Dating Service Do It Yourself Credit Repair Sliding French Doors Photo Cheap Laptops Wholesale Rhinestone Jewelry Jack Rabbit Vibe Government Grants Cheap Logo Design Flat Panel Tv Stands Custom Bumper Stickers Mls Personal Finance Company Metal Bar Stools Cell Phone Ring Tones Dating Agency Business Logo Nifty Logo Designers Wedding Bands Internet Gambling Vacation Rentals Computer Parts General Dentist Paris France Black Dating Services Holiday Gifts Bare Fireplace Screens Orthodontic Braces Portland Maine Single Dating Acura Dealership Easy Ways To Make Money Computer Desks Uk Gm Amber Earrings Billiard Pool Table North Myrtle Beach South Carolina Atlantis Investment Discount Dance Shoes Ways To Make Money Fast New Lincoln North Carolina To Make Easy Money Tax Refund Calculator Sympathy Gift Baskets Cheap Vacations Tool Federal Auto Auction Inexpensive Wedding Favors Motorola Cellular Phone Dating Site Bulk Candy Fundraising Ideas Newport News Va Maid Service Shower Invitations Funeral Flowers Maplestory Plasma Tv Sale Prescription Glasses Jewelry Store Colon Cleansing Product Office Furniture Warehouse Black Dating Site Sony Mp3 Player Wholesale Engagement Rings French Doors Breast Cancer Prevention Suntrust Bank Converse Boots Claire Hard Glass Shower Doors Overstock Electronics Band Saw Commercial Real Estate Viking Hotel Reservations Carhartt Coats New Real Estate Listings True Religion Brand Jeans Green Tea Diet Used Truck Sales Pc Sales Company Logo Men's Dress Shirts Boston True Com Flat Panel Tv Breast Cancer Support Mail Order Prescription Drugs Life Is Good Shirt Adult Braces Mass Cell Phone Accessories Anxiety Disorder All Inclusive Mexico Vacations Childrens Bunk Beds Gift Baskets Custom Invitations Notary Public Renewal At Dirt Cheap Cars Map Of The World Asian Lamps Gps Navigation Systems Tall Bar Stools Residential Construction Massage Chair Female Vibrators Mary Kay Beauty Consultant The Lion King Tickets Peta Winter Park Colorado Italian Gift Baskets Unique Baby Shower Invitations Free Advertising Corporate Chair Massage Sbc Dsl Used Grand Cherokee Used Acura Chevy Chase Small Computer Desks Adobe Photoshop Software New York Dating Breast Cancer Discount Laptops Sierra Charcoal Grills Lawn Care Landscaping Fitness Mattress Discounters Sony Psp Information Hewlett Packard Official Pda Cell Phone Wedding Gift Baskets Hud Homes Compact Tractors Memory Upgrades Massachusetts Farm Bureau Steel Garage Doors Custom Modular Homes Index Maui Hawaii John Deere Tractor Parts Rabbit Dildo Really Cheap Airline Tickets Education Grants Kitchen Cabinet Time Magazine Subscription Shop Laptop Weight Loss Pills Loose Diamonds Cheap Perfume Payment Calculator Cheap Carnival Cruises Vellum Birth Announcements Granite Tile Flooring Learn To Play The Guitar Pine Bunk Beds Cheap Vacation Deals Drawing Classes Ups.com Mls Real Estate Listing Bunk Beds Gaming Pc Online Background Check Ge Monogram Skin Care Products For Men Art Supplies Canvas Internet Via Satellite Online Gift Baskets Auto Payment Calculator Kodak Carnival Com Aladdin Graphic Design Firm Harley Davidson Cooking Bones Television Show Valentine Gift Maytag Replacement Parts Luxury Hotel Cheap Plane Tickets Hgh Las Vegas Travel Deal Security Officers Landscaping Service Myrtle Beach Rubber Stamps Aerosmith Concert Tickets Carbon Monoxide Alarm North Myrtle Beach Sc New Homes For Sale Cheap Flights Paris Cheap Diamond Rings Vegas Vacation Package Discount Ipods Hegre Quick Signs Swivel Tv Stands Furniture Warehouse Denmark Plymouth Neon Granite Contractors Yeast Infection Remedy Indoor Signs Unique Area Rugs Duke Energy Las Vegas Package Bed Sheets Fundraising For Schools Tanning Generators Oregon Yellowstone National Park Dick's Sporting Goods Genital Herpes Photo Mustang Dealership Seamless Shower Doors Microsoft Office Pro Toyo Tires Christmas Gifts For Dad Background Check Best Dating Sites Bones Tv Show Last Minute Airfare Phantom Of The Opera Diet And Weight Loss Fishing Tackle Store Blog Passion Online Background Checks Discount Florists Gifts Akon Ringtones All Inclusive Mexico Vacations Breast Cancer Research College Grants Lake Forest La Dating Baby Gap Sectional Garage Doors Bones Tv Show Cell Phone Ring Tones Online Employment Make Money Adsense Rack Jack Rabbit Vibrators Ways To Lose Weight Make Money With No Money Lower Back Pain Relief Hiv Information Beaver

četvrtak, 21. veljače 2008.

Javascript libraries

I spent days looking for new Javascript libraries and finally made a comprehensive list of almost all libs out there.

Pure JS Application libraries / Frameworks:

Prototype
Prototype is a JavaScript framework that aims to ease development of dynamic web applications.

Homepage: http://prototype.conio.net

Documentation:
http://blogs.ebusiness-apps.com/jordan/pages/Prototype%20Library%20Info.htm
http://www.sergiopereira.com/articles/prototype.js.html
http://wiki.script.aculo.us/scriptaculous/show/Prototype

Rico
Rico provides a very simple interface for registering Ajax request handlers as well as HTML elements or JavaScript objects as Ajax response objects. Multiple elements and/or objects may be updated as the result of one Ajax request.

Homepage: http://openrico.org/rico/home.page
Documentation: http://openrico.org/rico/docs.page
Demos: http://openrico.org/rico/demos.page

MochiKit
MochiKit is a highly documented and well tested, suite of JavaScript libraries that will help you get things done, fast.

Homepage: http://www.mochikit.com/
Documentation: http://www.mochikit.com/doc/html/MochiKit/index.html
Demos: http://www.mochikit.com/demos.html

Dojo Toolkit
Dojo is an Open Source toolkit that allows you to easily build dynamic capabilities into web pages and any other environment that supports JavaScript. Dojo provides components that let you make your sites more useable, responsive, and functional.

Homepage: http://www.dojotoolkit.org/
Documentation: http://dojotoolkit.org/docs/
Demos: http://dojotoolkit.org/examples/

Bajax
Bajax its a very small and simple javascript library to use Ajax on your pages. independent of programming language. You can put dynamic content using simple commands.

Homepage: https://developer.berlios.de/projects/bajax/
Documentation: https://developer.berlios.de/docman/?group_id=5319

Behaviour
Separate Structure (xhtml) from Behavior (javascript)

Homepage: http://bennolan.com/behaviour/

Solvent
The Solvent is a cross-browser AJAX application toolkit written in JavaScript. The Solvent is provided as modules or as an entire toolkit. The projects focus is to promote robust web applications and enable rapid web development.

Homepage: http://sourceforge.net/projects/solvent/
Documentation: http://sourceforge.net/docman/?group_id=144164

Moo.FX
moo.fx is a superlightweight, ultratiny, megasmall javascript effects library, written with prototype.js.

Homepage: http://moofx.mad4milk.net/
Demo: http://moofx.mad4milk.net/tests.html

WZ_DradDrop
A Cross-browser JavaScript DHTML Library which adds Drag Drop functionality to layers and to any desired image

Homepage: http://www.walterzorn.com/dragdrop/dragdrop_e.htm

WZ_jsGraphics
High Performance JavaScript Vector Graphics Library.

Homepage: http://www.walterzorn.com/jsgraphics/jsgraphics_e.htm

overLIB
overLIB is a JavaScript library created to enhance websites with small popup information boxes (like tooltips) to help visitors around your website.

Homepage: http://www.bosrup.com/web/overlib/
Documentation: http://www.bosrup.com/web/overlib/?Documentation
Command reference: http://www.bosrup.com/web/overlib/?Command_Reference

Scriptaculous
Javascript visual effects, togather with prototype.js

Homepage: http://script.aculo.us/

SACK
Simple AJAX Code-Kit

Homepage: http://twilightuniverse.com/projects/sack/
Documentation: http://twilightuniverse.com/projects/sack/docs.php

Sarissa
Sarissa is an ECMAScript library acting as a cross-browser wrapper for native XML APIs. It offers various XML related goodies like Document instantiation, XML loading from URLs or strings, XSLT transformations, XPath queries etc and comes especially handy for people doing what is lately known as “AJAX” development.

Homepage: http://sarissa.sourceforge.net/doc/

Nifty Corners
A small library for making rounded corners with Javascript.

Homepage: http://pro.html.it/esempio/nifty/nifty1js.html

dp.SyntaxHighlighter
dp.SyntaxHighlighter is a free JavaScript library for source code syntax highlighting.

Homepage: http://www.dreamprojections.com/SyntaxHighlighter/
Documentation: http://www.dreamprojections.com/SyntaxHighlighter/Usage.aspx
Demo: http://www.dreamprojections.com/SyntaxHighlighter/Examples.aspx

AJAX.NET
Michael Schwarz, a .NET developer in Germany has released the latest version of his Ajax .NET Wrapper. This class library simplifies the use of XMLHttp by providing .NET objects that generate the necessary Javascript code.

Homepage: http://weblogs.asp.net/mschwarz/archive/2005/04/07/397504.aspx

TOXIC
Toxic is an AJAX toolkit, or framework, for creating rich web applications. It handles the tedious and repetetive tasks involved in integrating a client created using html and javascript with a server backend. It enables client side javascript to directly call class methods in PHP5 (or any other suitable language). It also enables the server side PHP to directly call client side javascript functions. Using Toxic you can get rid of much of the tedious work in form intensive rich web applications.

Homepage: http://www.dotvoid.com/view.php?id=40

Plex Toolkit
Open source feature-complete DHTML GUI toolkit and AJAX framework based on a Javascript/DOM implementation of Macromedia’s Flex technology. Uses the almost identical markup language to Flex embedded in ordinary HTML documents for describing the UI. Binding is done with Javascript.

Homepage: http://www.plextk.org/

CPaint
CPAINT (Cross-Platform Asynchronous INterface Toolkit) is a multi-language toolkit that helps web developers design and implement AJAX web applications with ease and flexibility.

Homepage: http://cpaint.booleansystems.com/
Docs: http://cpaint.booleansystems.com/doc/

DOM-Drag
DOM-Drag is a lightweight, easy to use, dragging API for modern DHTML browsers.

Homepage: http://www.youngpup.net/2001/domdrag/
Tutorials: http://www.youngpup.net/2001/domdrag/tutorial
Demo: http://www.youngpup.net/2001/domdrag/examples

Tibet
Enterprise Class AJAX

Homepage: http://www.technicalpursuit.com/ajax.htm

Zimbra
Rubust AJAX framework

Homepage: http://www.zimbra.com
Documentation: http://www.zimbra.com/products/documentation.html
Demo: http://www.zimbra.com/products/hosted_demo.php

qooxdoo
qooxdoo is an advanced open-source javascript based toolkit. qooxdoo continues where simple HTML is not enough anymore. This way qooxdoo can help you to get your rich web application interface done - easier than ever before.

Homepage: http://qooxdoo.oss.schlund.de
Documentation: http://qooxdoo.oss.schlund.de/section/documentation
Demo: http://qooxdoo.oss.schlund.de/counter/refer.php?id=5

AJFORM
AJFORM is a JavaScript toolkit which simply submits data from any given form in an HTML page, then sends the data to any specified JavaScript function. AJFORM degrades gracefully in every aspect. In other words, if the browser doesn’t support it, the data will be sent through the form as normal.

Homepage: http://redredmusic.com/brendon/ajform/

ThyApi
ThyAPI is an api to allow the developement of better user interfaces for web applicaticions, Using javascript and Ajax, it allows a complete visual interface definition using CSS and encapsulates all objects data manipulateion.

Homepage: http://sourceforge.net/projects/thyapi/

Engine
Engine for Web Applications is an application framework for client-side development and Web applications. It provides an environment in which to develop and run JavaScript components and applications.

Homepage: http://www.imnmotion.com/projects/engine/
Documentation: http://www.imnmotion.com/projects/engine/api/engine_api.html

AJAXGear Toolkit
It is a toolkit that allows you to take advantage of the client-side technique known as AJAX. AJAX is shorthand for Asynchronous JavaScript and XML. It uses the XMLHttpRequest object to allow a Web browser to make asynchronous call to the Web server without the need to refresh the whole page.

Homepage: http://www.ajaxgear.com

Interactive Website Framework
A framework for creating highly interactive websites using javascript, css, xml, and html. Includes a custom xml parser for highly readable javascript. Essentially, all the plumbing for making AJAX-based websites, with js-based GUI toolkit.

Homepage: http://sourceforge.net/projects/iwf/

RSLite
RSlite is an extremely lightweight implementation of remote scripting which uses cookies. It is very widely browser-compatible (Opera!) but limited to single calls and small amounts of data.

Homepage: http://www.ashleyit.com/rs/main.htm
Demo: http://www.ashleyit.com/rs/techniques.htm

XHConn
XMLHTTP is a technology with which a developer can access external resources over HTTP from a static web page without ever having to reload the page itself. This library is meant to simplify and unify the code necessary to successfully send and receive simple data via XMLHTTP.

Homepage: http://xkr.us/code/javascript/XHConn/

Taconite
Taconite is a framework that simplifies the creation of Ajax enabled Web applications. It’s a very lightweight framework that automates the tedious tasks related to Ajax development, such as the creation and management of the XMLHttpRequest object and the creation of dynamic content.

Homepage: http://taconite.sourceforge.net/
Documentation: http://taconite.sourceforge.net/docs/jsdocs/index.html
Demo: http://taconite.sourceforge.net/examples.html

qForms
Great Javascript API for interfacing forms.

Homepage: http://pengoworks.com/index.cfm?action=get:qforms
Documentation: http://pengoworks.com/qforms/docs/
Demo: http://pengoworks.com/qforms/docs/examples/

JSPkg
jspkg is a package loader for Javascript, based on pluggable loaders for locating and loading scripts into a client-side Javascript application. It is designed to work best with unobtrusive Javascript libraries, but doesn’t impose any methodology or design on its users.

Homepage: http://jspkg.sourceforge.net/

Ajaxcaller
AjaxCaller is a thin XMLHttpRequest wrapper used in all the AjaxPatterns demos. The focus is on ease-of-use and full HTTP method support.

Homepage: http://ajaxify.com/run/testAjaxCaller/

libXmlRequest
The XmlRequest library contains a two public request functions, getXml and postXml, that may be used to send synchronous and asynchronous XML Http requests from Internet Explorer and Mozilla.

Homepage: http://www.whitefrost.com/reference/2005/09/09/libXmlRequest.html

SAJAX
Sajax is an open source tool to make programming websites using the Ajax framework — also known as XMLHTTPRequest or remote scripting — as easy as possible. Capable of stubbing calls to numerous server-side platforms: ASP/ ColdFusion/ Io/ Lua/ Perl/ PHP/ Python/ Ruby

Homepage: http://www.modernmethod.com/sajax/
Demo: http://www.modernmethod.com/sajax/examples.phtml

Sardalya
A small library for making dynamic HTML programming easy and fun.

Homepage: http://www.sarmal.com/sardalya/Default.aspx
Demo: http://www.sarmal.com/sardalya/Samples.aspx

X
One of the best javascript libraries out there.

Homepage: http://www.cross-browser.com/toys/

AjaxRequest
AjaxRequest is a layer over the XMLHttpRequest functionality which makes the communication between Javascript and the server easier for developers.

Homepage: http://ajaxtoolbox.com/request/
Documentation: http://ajaxtoolbox.com/request/documentation.php
Demo: http://ajaxtoolbox.com/request/examples.php

moo.ajax
moo.ajax is a very simple ajax class, to be used with prototype.lite from moo.fx.

Homepage: http://www.mad4milk.net/entry/moo.ajax
Demo: http://www.mad4milk.net/examples/mooajax/

PHP based AJAX Frameworks

AjaxAC
AjaxAC is an open-source framework written in PHP, used to develop/create/generate AJAX applications. The fundamental idea behind AJAX (Asynchronous JavaScript And XML) is to use the XMLHttpRequest object to change a web page state using background HTTP sub-requests without reloading the entire page.

Homepage: http://ajax.zervaas.com.au

XOAD
XOAD, formerly known as NAJAX, is a PHP based AJAX/XAP object oriented framework that allows you to create richer web applications.

Homepage: http://www.xoad.org
Documentation: http://www.xoad.org/documentation/source/
Demo: http://www.xoad.org/examples/

Zephyr
zephyr is an ajax based framework for php5 developers. you can easily develop business applications using this robust framework. this is extremely easy to learn and very simple to implement.

Homepage: http://zephyr-php.sourceforge.net/

PAJAJ
What is the PAJAJ framework, it stands for (PHP Asynchronous Javascript and JSON). It is a object oriented Ajax framework written in PHP5 for development of event driven PHP web applications.

Homepage: http://sourceforge.net/projects/pajaj/
Documentation: http://www.wassons.org/pajaj/public/docs/index.php

Symfony
A PHP 5 Development Framework inspired by Rails. It has integrated database abstraction and support for AJAX. Installation is fairly easy. Symfony is aimed at building robust applications in an enterprise context. This means that you have full control over the configuration: from the directory structure to the foreign libraries, almost everything can be customized. To match your enterprise’s development guidelines, symfony is bundled with additional tools helping you to test, debug and document your project.

AjaxBlog: http://ajaxblog.com/arc…….application-in-php-in-minutes-with-symfony

Homepage: www.symfony-project.com
Documentation: http://www.symfony-project.com/content/documentation.html
http://www.symfony-project.com/trac/wiki

XAJAX
xajax is an open source PHP class library that allows you to easily create powerful, web-based, Ajax applications using HTML, CSS, JavaScript, and PHP. Applications developed with xajax can asynchronously call server-side PHP functions and update content without reloading the page.

Homepage: http://xajax.sourceforge.net/

PEAR:: HTML_AJAX
Provides PHP and JavaScript libraries for performing AJAX (Communication from JavaScript to your server without reloading the page)

Homepage: http://pear.php.net/package/HTML_AJAX
Documentation: http://pear.php.net/package/HTML_AJAX/docs

Flexible AJAX
Flexible Ajax is a handler to combine the remote scripting technology, also known as AJAX (Asynchronous Javascript and XML), with a php-based backend.

Homepage: http://tripdown.de/flxajax/
Demo: http://tripdown.de/flexible_ajax_example.php

Javascript libs for Flash:

FlashObject
FlashObject is a small Javascript file used for embedding Macromedia Flash content.

Homepage: http://blog.deconcept.com/flashobject/

OSFlash - Flashjs
The Flash JavaScript Integration Kit allows developers to get the best of the Flash and HTML worlds by enabling JavaScript to invoke ActionScript functions, and vice versa.

Homepage: http://www.osflash.org/doku.php?id=flashjs
Documentation: http://www.mustardlab.com/developer/flash/jscommunication/

AFLAX
A JavaScript Library for Macromedia’s Flash™ Platform. AFLAX is a method through which developers may use JavaScript and Flash together to create AJAX-type applications, but with a much richer set of vector drawing controls than are available in either Internet Explorer or FireFox. Developers using this library have access to the full range of Flash features, but without ever touching the Flash IDE.

Homepage: http://www.aflax.org

Java based AJAX Frameworks

ZK
ZK is an AJAX-based solution for developing Web applications in Java. ZK includes an event-driven engine to automate interactivity, and a rich set of XUL-based components.

Homepage: http://zk1.sourceforge.net
Demo: http://www.potix.com/zkdemo/userguide

jWic
jWic is a java-based development framework for developing dynamic web applications with the convenience and familiarity of ‘rich client’ style programming. The component-based, event-driven programming model makes it easy for developers to quickly create flexible and robust web applications.

Homepage: http://www.jwic.de/home/
Documentation: http://www.jwic.de/home/documentation.htm
Demo: http://www.jwic.de/home/demo.htm

I dont know much about Java. Please suggest some more Java based AJAX frameworks.

ponedjeljak, 18. veljače 2008.

IncludeJS

Justin Meyer has been working on a JavaScript library named IncludeJS and has released a 0.1 alpha 1 Developer package. IncludeJS lets developers include and compress JavaScript files easily. The hope for the library is "to bridge the gap between frameworks like jQuery/Prototype which guess at what you will most likely need, and frameworks like MooTools, which are great if you know exactly what you want and don't need to look in the source."

IncludeJS was originally a component of JavaScriptMVC - an open source JavaScript Model-View-Controller framework. The framework is going through some major changes and individual components are being extracted to make each individually useful.

Features of IncludeJS:

Relative paths.

Instead of including files relative to the current page's url,
IncludeJS includes files relative to your JavaScript files' urls.
Forget about scanning the page's script tags for your library's path.
IncludeJS lets you organize your scripts however you want.

Dynamic compression.

IncludeJS uses Dean Edwards packer
to automatically compress your
JavaScripts. Unlike server-side compression scripts,
compression is determined at runtime. This makes
it easy to compress large libraries with optional plugins.

Highlights.

- Consistant include order (last-in-first-out)
- FF 1.5+, IE 6+, Opera 9, Safari 3.
- Works with libraries like Prototype and jQuery.
- MIT license.
- 3 KB compressed.
- Files visible in Firebug.

Usage

1) Include the library in your page

<script src="include.js" type="text/javascript"
script>

2) Include JavaScript files with the include function, files are relative to the including file and will be included in LIFO [last-in-first-out] order.

<script type="text/javascript">
include( 'javascripts/prototype',
'javascripts/myapplication'
)
script>

3) Compress your app by adding the line:

include.setup('compress')

before your includes, after the page loads you're presented with a compressed version of the code.

<script type="text/javascript">
include.setup('compress')
include( 'javascripts/prototype',
'javascripts/myapplication'

)
script

4) Run it! After you've saved the compressed version of the code, change the "compress" argument to "production" and specify the path to the newly created library as a second argument.

<script type="text/javascript">
include.setup('production','path/to/prod')
include( 'javascripts/prototype',
'javascripts/myapplication'
)

script

Truthy and falsy

JavaScript has keywords for true and false, but like many C-style derivative languages, it has concepts of truthy and falsy. These are non-boolean expressions that can be treated as a boolean value. The number zero is falsy, and any other number is truthy. Equally for strings, an empty string is falsy, and a non-empty string is truthy.

JavaScript also has the neat type-conversion functions. Strings containing numbers can be coerced into being just numbers. When combined with truthy and falsy logic, things can get a little surprising, and there are a few gotchas to avoid.

Expression Evaluation Reason
true true true is always true
false false false is always false
1 true non-zero numerics are truthy
0 false the numeric zero is falsy
'1' true a non-empty string is always truthy
'0' true a non-empty string is always truthy
1 - 1 false a numeric value of zero is falsy
'1' - '1' false The minus coerces both strings into being integers, and so a numeric value of zero is falsy
'0' + '0' true The plus does string concatenation, so the end result is a two character string, which is truthy
0 + '0' true The plus does string concatenation, so the end result is a two character string, which is truthy
0 + 0 false Because both operands a numerics, the plus does numerical addition, so the end result is zero, which is falsy

For a best practice approach, it makes sense to use the keywords true and false, and try to avoid code that uses 0 and 1 for the purposes of truthy and falsy. A common scenario this situation arises is when JavaScript is dynamically generated by a server-side language where the string '0' is treated as numeric in expressions.