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. ;)
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.