140 likes | 280 Vues
Discover BlueJScript, a powerful dynamic scripting language designed to enhance Java programming with full access to Java libraries and APIs. This presentation, delivered at the First BlueJ Day in Houston on March 1, 2006, explores BlueJScript’s capabilities through engaging demos, including the basic "Hello World" script and the more complex event-listening application. Gain insight into the advantages of using BlueJScript for educational purposes, enabling simple extensions and interactive applications for learners tackling Java.
E N D
BlueJScript @ theFirst BlueJ DayHouston, 2006 Matthew C. Jadud University of Kent
Outline • What is it? • Demo: Purple Cow • “Hello World” • Wherefore BlueJScript? • Demo: Trails First BlueJ Day, Houston, Texas, 1st March 2006
What is BlueJScript? • It’s just Javascript… • With privileges! • What can it do? • Full access to extensions API • Full access to standard Java libraries (java.*, javax.*) • BlueJ überscripting environment First BlueJ Day, Houston, Texas, 1st March 2006
Demo: Purple Cow First BlueJ Day, Houston, Texas, 1st March 2006
“Hello World” • In the project folder: • extensions/bluejscript.jar • profile.js • What do these do? • Without the BlueJScript extension, there is no BlueJScript • The profile.js is where the magic happens First BlueJ Day, Houston, Texas, 1st March 2006
A simple profile.js • A “hello, world” if you will • Shows the BlueJScript console • Prints something to it • This is the BlueJ project I’ve called “SimpleProfile” First BlueJ Day, Houston, Texas, 1st March 2006
A less simple profile.js • You’ll probably find yourself listening to BlueJ events a lot • This BlueJScript application: • Listens for any events from BlueJ • Prints out their name • This is the BlueJ project I’ve called “WatchingEvents” First BlueJ Day, Houston, Texas, 1st March 2006
What you get • You have the full extensions API (effectively bluej.*) • BlueJScript provided support classes (the jsConsole, htmlPane, event handling…) • All of java.*, javax.* First BlueJ Day, Houston, Texas, 1st March 2006
Start brainstorming… • You have full access to all of the Java class libraries from a dynamic scripting language! • In NetDemo, I grab data from external sources • In SwingDemo, I illustrate what might be a BlueJ bug, or BlueJScript worst-practice… First BlueJ Day, Houston, Texas, 1st March 2006
Wherefore? • Low cost of entry • Neat things can be done simply as BlueJScript extensions • Full access to BlueJ • We can inspect classes and objects • Create objects, invoke methods • Windows, dialogs, etc… First BlueJ Day, Houston, Texas, 1st March 2006
Take over world, contd. • Functional, dynamic language for driving BlueJ • Treat BlueJ, Java libs as a “rich API” for creating interactive instructional applications • Easy, lightweight deployment option for interacting with student code First BlueJ Day, Houston, Texas, 1st March 2006
Demo: Trails • Provide scaffolding for adult learners tackling Java in a condensed course of study • Tackle syntax and semantics at a finer grain than Objects First • Represents a starting point for a class of applications, not an endpoint First BlueJ Day, Houston, Texas, 1st March 2006
More questions? • bluej.org (Documentation) • bluej-discuss (mailing list) • mcj4@kent.ac.uk • Consider the list first… First BlueJ Day, Houston, Texas, 1st March 2006