June FrameworkCode JavaScript better. Really.


June 27, 2008. Update:

JUNE Framework 1.1 now available.

Please refer to the download page to upgrade to the last version or to the details page to see what changed.

[Download] [Details]

JUNE framework

JUNE is a javascript library inspired from the Core library published by Kevin Yank and Cameron Adams in their Simply JavaScript book.

In its initial form, the Core library didn't offer too much except basic DOM manipulation using the Object literal notation. I liked that, and because at that time I was looking for a library (having a similar structure and not wanting to use Prototype or JQuery) to help me building some of my projects, I decided to extend it so it will better fit my requirements.
And it became: JUNE.

At the begining I tried to implement it the same way as the big libraries are but it just didn't look right to me, by that I mean I couldn't use it the way I wanted so I tried different approaches before deciding to implement it using the Module design pattern.
Now it looks right to me.

Animations and Drag and Drop

It doesn't have support for animations or drag and drop like big libraries have, and that's because it targets small and medium size websites that don't need fancy effects like these but functionality. Though, if you do need these effects you can include alongside JUNE all libraries you need without worrying they'll conflict because JUNE is namespaced.
It also, like Peter Michaux said when describing his FORK library,

does not add a layer of sugar on top of JavaScript to make writing JavaScript like writing in another language.

JUNE can only help you coding JavaScript in JavaScript.

Documentation support

JUNE has been fully documented by me and if you're using it in Visual Studio 2008 IDE, you will simply love it(well, at least I do)! The docummentation is using the Visual Studio's Intellisense format so you won't have to learn all functions and all their arguments' types literally if you don't want that. You can do it while coding, with the Intellisense's help. ;)

The Visual Studio 2008 Intellisense

Browser support

JUNE has been successfully tested in the following browsers:

Windows platform
Internet Explorer 6, 7, 8
FireFox 2+
Opera 9+
Safari 3
Maxthon 2
Flock 1+
Netscape 9

and it's expected to give the same results in their previous versions too.

Widgets

JUNE has a set of 8 predefined widgets:

Available widgets
Accordion
Banner rotator
Feed reader
Modal window
Page clock
Random quote
Tab control
Treeview

All you have to do is to include the dependant files each widget requires and following the provided markup template start using it. Yeap, that simple.

AJAX support

JUNE offers full support for AJAX requests such: get or post. It also offers you the posibility of writing your own customized functions if you don't find the existing ones suitable for your needs.

 

While using this framework, I see the following as advantages:

  • It's namespaced; only one main namespace is used across this framework wrapping all others,
  • It's using Object Literal Notation,
  • It's simple and intuitive,
  • It's fully documented,
  • It's modular; you can include only the libraries you need,
  • It's flexible; you can customize it the way you want it(keep only what you need),
  • It has full support for Visual Studio 2008 IntelliSense,
  • and many more...

Design Guidelines

The following design guidelines were used in this framework:

  • member variables are written using camelCasing,
  • functions' parameters are written using camelCasing,
  • local variables are written using camelCasing,
  • the main classes(identified as namespaces) are written using PascalCasing.

 

© 2008 Costin Trifan. All rights reserved.

The JUNE Framework is released under the MIT license.