Skip to main content

Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.

Jump to: navigation, search

Difference between revisions of "VJET/JavaScript Run As"

(VJET supports running JavaScript and vjojs)
 
(12 intermediate revisions by the same user not shown)
Line 1: Line 1:
== VJET supports running JavaScript and vjojs ==
+
== VJET supports running JavaScript and vjojs ==
  
=== Simple JS Run with Rhino ===
+
=== Simple JS Run with Rhino ===
  
Basic run as vjet js application should work for simple functions and vjojs.
+
Basic run as vjet js application should work for simple functions and vjojs.  
  
VJET provides a simple api for outputting to the console and is automatically wired into Rhino. vjo.sysout and vjo.syserr. This idea was borrowed from java System class.
+
VJET provides a simple api for outputting to the console and is automatically wired into Rhino. vjo.sysout and vjo.syserr. This idea was borrowed from java System class.  
  
ie
+
add this file foo.js into vjet project
  
add this file foo.js into vjet project
+
<source lang="javascript">
 
+
<source lang=javascript>
+
 
function foo(a){
 
function foo(a){
 
vjo.sysout.println(a)
 
vjo.sysout.println(a)
Line 18: Line 16:
 
foo(20);
 
foo(20);
 
foo(30);
 
foo(30);
</source>
+
</source>  
  
 +
<br> run as vjet js application
  
run as vjet js application
+
yields in eclipse console  
 
+
yields in eclipse console
+
  
 +
<source lang="text">
 
20.0
 
20.0
 
30.0
 
30.0
 +
</source>
  
=== Simple JS Run with Web Browser ===
+
=== Simple JS Run with Web Browser ===
  
<source lang=javascript>
+
<source lang="javascript">
 
function foo(a){
 
function foo(a){
 
alert(a)
 
alert(a)
Line 37: Line 36:
 
foo(20);
 
foo(20);
 
foo(30);
 
foo(30);
</source>
+
</source>  
 +
 
 +
should open web browser and display two alert boxes
 +
 
 +
- alert box with 20 in it - alert box with 30 in it
 +
 
 +
=== js file with vjo.needs dependencies  ===
 +
 
 +
MyProject/src/foo/bar.js <source lang="javascript">
 +
function foo(a){
 +
vjo.sysout.println(a)
 +
}
 +
</source>
 +
 
 +
MyProject/src/foo/usingbar.js <source lang="javascript">
 +
vjo.needs("foo.bar")
 +
foo(20);
 +
foo(30);
 +
</source>
 +
 
 +
run as vjet application yields
 +
 
 +
<source lang="text">
 +
20.0
 +
30.0
 +
</source>
 +
 
 +
VJET launcher automatically loads any js files included using vjo.needs
 +
 
 +
=== using simple js with vjojs class  ===
 +
 
 +
MyProject/src/foo/MyClass.js <source lang="javascript">
 +
vjo.ctype('foo.MyClass') //< public
 +
.protos({
 +
//>public void foo(Number)
 +
foo : function(a){
 +
vjo.sysout.println(a)
 +
}
 +
})
 +
.endType();
 +
</source>
 +
 
 +
MyProject/src/foo/usingbar.js <source lang="javascript">
 +
vjo.needs("foo.MyClass")
 +
foo.MyClass().foo(20);
 +
foo.MyClass().foo(30);
 +
</source>
 +
 
 +
run as vjet application yields
 +
 
 +
<source lang="text">
 +
20.0
 +
30.0
 +
</source>
 +
 
 +
=== using vjojs main with vjo class dependencies  ===
 +
 
 +
MyProject/src/foo/MyClass.js <source lang="javascript">
 +
vjo.ctype('foo.MyClass') //< public
 +
.protos({
 +
//>public void foo(Number)
 +
foo : function(a){
 +
vjo.sysout.println(a)
 +
}
 +
})
 +
.endType();
 +
</source>
 +
 
 +
MyProject/src/foo/Main.js <source lang="javascript">
 +
vjo.ctype('foo.Main') //< public
 +
.needs("foo.MyClass")
 +
.props({
 +
//>public void main(String... args)
 +
main : function(args){
 +
foo.MyClass().foo(20);
 +
              foo.MyClass().foo(30);
 +
}
 +
})
 +
.endType();
 +
</source> run as vjet application yields
 +
 
 +
<source lang="text">
 +
20.0
 +
30.0
 +
</source>
 +
 
 +
=== TODO<br>  ===
  
should auto open an html file with this js inserted and alert 2 windows.
+
*Support needs comment as dependency
 +
*Debugging JS documentation
 +
*Running Js runner with vjojs and java
 +
*Debugging JS in Web browser
 +
*Support console api rather than vjo.sysout - easier to switch between web and rhino
 +
*Linking this with homepage
  
alert box with 20 in it
+
<br>
alert box with 30 in it
+
  
 +
<br> Tested with Indigo SR2 and Juno SR1 versions of Eclipse.
  
This should work with Indigo SR2 and Juno SR1 versions of Eclipse.
+
[[Category:VJET|JavaScript Debugging]]

Latest revision as of 18:18, 15 March 2013

VJET supports running JavaScript and vjojs

Simple JS Run with Rhino

Basic run as vjet js application should work for simple functions and vjojs.

VJET provides a simple api for outputting to the console and is automatically wired into Rhino. vjo.sysout and vjo.syserr. This idea was borrowed from java System class.

add this file foo.js into vjet project

function foo(a){
	vjo.sysout.println(a)
}
 
foo(20);
foo(30);


run as vjet js application

yields in eclipse console

20.0
30.0

Simple JS Run with Web Browser

function foo(a){
	alert(a)
}
 
foo(20);
foo(30);

should open web browser and display two alert boxes

- alert box with 20 in it - alert box with 30 in it

js file with vjo.needs dependencies

MyProject/src/foo/bar.js
function foo(a){
	vjo.sysout.println(a)
}
MyProject/src/foo/usingbar.js
vjo.needs("foo.bar")
foo(20);
foo(30);

run as vjet application yields

20.0
30.0

VJET launcher automatically loads any js files included using vjo.needs

using simple js with vjojs class

MyProject/src/foo/MyClass.js
vjo.ctype('foo.MyClass') //< public
.protos({
	//>public void foo(Number) 
	foo : function(a){
		vjo.sysout.println(a)
	}
})
.endType();
MyProject/src/foo/usingbar.js
vjo.needs("foo.MyClass")
foo.MyClass().foo(20);
foo.MyClass().foo(30);

run as vjet application yields

20.0
30.0

using vjojs main with vjo class dependencies

MyProject/src/foo/MyClass.js
vjo.ctype('foo.MyClass') //< public
.protos({
	//>public void foo(Number) 
	foo : function(a){
		vjo.sysout.println(a)
	}
})
.endType();
MyProject/src/foo/Main.js
vjo.ctype('foo.Main') //< public
.needs("foo.MyClass")
.props({
	//>public void main(String... args) 
	main : function(args){
		foo.MyClass().foo(20);
               foo.MyClass().foo(30);
	}
})
.endType();
run as vjet application yields
20.0
30.0

TODO

  • Support needs comment as dependency
  • Debugging JS documentation
  • Running Js runner with vjojs and java
  • Debugging JS in Web browser
  • Support console api rather than vjo.sysout - easier to switch between web and rhino
  • Linking this with homepage



Tested with Indigo SR2 and Juno SR1 versions of Eclipse.

Back to the top