Ian Bull

Ian is an Eclipse committer and the Principal Architect for Yoxos Enterprise. Ian co-leads the Eclipse p2 project, serves on the Eclipse RT PMC, the Eclipse Planning Council and the Eclipse Architecture Council. His interests include software architecture, component oriented design, release engineering, human-computer interaction and just about everything related to software engineering. Ian holds a Bachelor and Master's degree from the University of Waterloo and a PhD from the University of Victoria.

Twitter LinkedIn Google+ Vimeo 

Jul 28th, 2016

Java Methods as JSFunctions

When J2V8 was first released, all callbacks from JavaScript to Java required a registered Java method. That is, all Java methods that you wished to invoke must be first registered with J2V8. For some applications this was fine, but it made for a complex programming model. Furthermore you could not use anonymous inner classes or [...]

2 Comments
Jul 26th, 2016

Running Node.js in a Java World

sl1

Last week I finally published the Node.js bindings for Java. These bindings allow developers to embed the Node.js runtime directly onto the JVM through the Java Native Interface. In March I gave a pre-release presentation at EclipseCon on this work, which was recorded by InfoQ. You can check it out at: https://www.infoq.com/presentations/node4j-nodejs-java. The slides are also [...]

Leave a Comment
Jul 26th, 2016

🎉🌞💐 J2V8 Supports 16bit Characters

Screen Shot 2016-07-25 at 3.22.19 PM

When J2V8 was first released, all Java characters passed between Java and V8 were converted to 8bit C-Style strings. For many applications this was just fine, but if your JavaScript contained 16 bit Unicode characters, then you were hosed. When you use the word "hosed" to mean broken, you're probably Canadian. — Wayne Beaton (@waynebeaton) [...]

Leave a Comment
Jul 26th, 2016

TypedArrays — Sharing Memory Between V8 and Java

J2V8 provides the technology to link V8 and Node.js with the JVM. Using JNI, Java developers can directly call V8 and Node.js APIs. This seamless integration brings improved JavaScript performance, NPM modules and the Node.js APIs to the Java ecosystem. An alternative approach could have been to invoke two separate processes (Java and Node.js) with a [...]

Leave a Comment
Jul 27th, 2016

Announcing J2V8 4

After over a year of development, I am very excited to announce that J2V8 4 is publicly available on all supported platforms. J2V8 is set of V8 bindings for Java. This means that you can embed V8 (Google’s ultra fast JavaScript engine) into your Java applications. J2V8 4 is built on Node.js, which means you can also [...]

3 Comments
Jul 28th, 2016

Running Node.js on the JVM

J2V8-with-no-2-and-J

Gone are the days of single vendor lock-in, where one technology stack is used across an entire organization. Even small organizations and hobbyists will find themselves mixing technologies in a single project. For years, Java reigned king on the server. Today Node.js is everywhere. But even with the rise of Node.js and popularity of JavaScript, [...]

2 Comments
Jun 30th, 2016

Decoding Symmetric Cyphers with Crypto-JS

Symmetric cryptographic algorithms are algorithms that use the same key for both encryption and decryption. That is, a Code + Key will produce a Cypher, and the Cypher + Key will produce the Code. Crypto-JS is a popular cryptography library which supports a number of different cryptographic algorithms including Advanced Encryption Standard (AES). Encrypting and decrypting [...]

Leave a Comment
Jun 30th, 2016

Debugging JavaScript with Tabris.js

Screen Shot 2016-05-26 at 9.54.25 AM

Tabris.js was designed to help developers build native cross-platform apps using a single JavaScript codebase. We offer many tools to boost efficiency – like the Tabris.js developer app and the cloud build service. With Tabris.js 1.8 we’ve introduced a new enhancement that will make a major difference when it comes to getting things done – an [...]

3 Comments
Apr 8th, 2016

Getting Started with Microsoft ChakraCore

Earlier this year Microsoft released ChakraCore — their powerful next generation JavaScript engine — as an OpenSource project under an MIT license. Microsoft also announced that they would be integrating Chakra with Node.js on Windows. At EclipseSource we have a long tradition of bridging technologies. We brought Eclipse/RCP to the web via RAP; we brought JavaScript as [...]

1 Comment