bluejscript @ the first bluej day houston, 2006 matthew c. jadud university of kent

13
BlueJScript @ the First BlueJ Day Houston, 2006 Matthew C. Jadud University of Kent

Upload: calvin-thomas

Post on 05-Jan-2016

213 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: BlueJScript @ the First BlueJ Day Houston, 2006 Matthew C. Jadud University of Kent

BlueJScript @ theFirst BlueJ Day

Houston, 2006

BlueJScript @ theFirst BlueJ Day

Houston, 2006

Matthew C. JadudUniversity of Kent

Page 2: BlueJScript @ the First BlueJ Day Houston, 2006 Matthew C. Jadud University of Kent

First BlueJ Day, Houston, Texas, 1st March 2006 2

Outline

• What is it?• Demo: Purple Cow• “Hello World”• Wherefore BlueJScript?• Demo: Trails

Page 3: BlueJScript @ the First BlueJ Day Houston, 2006 Matthew C. Jadud University of Kent

First BlueJ Day, Houston, Texas, 1st March 2006 3

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

Page 4: BlueJScript @ the First BlueJ Day Houston, 2006 Matthew C. Jadud University of Kent

First BlueJ Day, Houston, Texas, 1st March 2006 4

Demo: Purple Cow

Page 5: BlueJScript @ the First BlueJ Day Houston, 2006 Matthew C. Jadud University of Kent

First BlueJ Day, Houston, Texas, 1st March 2006 5

“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

Page 6: BlueJScript @ the First BlueJ Day Houston, 2006 Matthew C. Jadud University of Kent

First BlueJ Day, Houston, Texas, 1st March 2006 6

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”

Page 7: BlueJScript @ the First BlueJ Day Houston, 2006 Matthew C. Jadud University of Kent

First BlueJ Day, Houston, Texas, 1st March 2006 7

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”

Page 8: BlueJScript @ the First BlueJ Day Houston, 2006 Matthew C. Jadud University of Kent

First BlueJ Day, Houston, Texas, 1st March 2006 8

What you get

• You have the full extensions API (effectively bluej.*)

• BlueJScript provided support classes (the jsConsole, htmlPane, event handling…)

• All of java.*, javax.*

Page 9: BlueJScript @ the First BlueJ Day Houston, 2006 Matthew C. Jadud University of Kent

First BlueJ Day, Houston, Texas, 1st March 2006 9

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…

Page 10: BlueJScript @ the First BlueJ Day Houston, 2006 Matthew C. Jadud University of Kent

First BlueJ Day, Houston, Texas, 1st March 2006 10

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…

Page 11: BlueJScript @ the First BlueJ Day Houston, 2006 Matthew C. Jadud University of Kent

First BlueJ Day, Houston, Texas, 1st March 2006 11

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

Page 12: BlueJScript @ the First BlueJ Day Houston, 2006 Matthew C. Jadud University of Kent

First BlueJ Day, Houston, Texas, 1st March 2006 12

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

Page 13: BlueJScript @ the First BlueJ Day Houston, 2006 Matthew C. Jadud University of Kent

First BlueJ Day, Houston, Texas, 1st March 2006 13

More questions?

• bluej.org (Documentation)• bluej-discuss (mailing list)• [email protected]

– Consider the list first…