Recently, I presented a private demo of a new embeddable Java browser component tentatively named the Chrome Browser for Java (CB4J).

To my knowledge, CB4J is the first Java implementation of the open-source C++ Chromium WebKit framework (the foundation of Google's Chrome Browser). Expected uses of CB4J are in desktop Java applications and tools that have a need to seamlessly integrate dynamic Web content and browser-based application functionality.

Genuitec plans to use CB4J in its MyEclipse IDE and open-source FireFly mobile Web developer kit project. Notably, versions of CB4J are being developed for the Eclipse SWT and Java Swing UI toolkits for maximum flexibility. While the licensing model of CB4J has not been fully defined, we are considering an open source version of CB4J as well as a low-cost, advanced version.

 

 Screenshot of CB4J SWT Sample Application

As many of us know, the release of the Chrome browser last last year ignited a new "browser war" with the incumbent IE and FireFox browsers. But why is Chrome significant, other than the name "Google" in front of it? Chrome is built on top of the open-source WebKit browser engine which also powers Apple's Safari browser and iPhone mobile Safari browser, Google's Android browser, Nokia and Motorla mobile web browsers and several others. WebKit has emerged as the reference implementation for HTML5 and conforms to standards better than either IE or FireFox. Additionally, Chrome ses the new V8 JavaScript engine which Google claims to be many times quicker than IE or FireFox. This makes WebKit a compelling standard for the future of mobile Web and application development.

To be fair, a current drawback of adopting the Chromium framework is that it only runs on the Windows platform at this time. Linux and Mac implementations of Chromium are in the works however, and we would anticipate respective versions of CB4J being released when stable ports of Chromium for Linux and Mac are available.


While CB4J is still in development, significant progress has been made. As you can see from the screen shot above, the API is very simple, and we will be expanding the API to support DOM editing and JavaScript debugging.

I'm hoping that we will have a publicly accessible version of CB4J in early February. Due to the noted lack of support by Chromium for Linux or Mac, the initial release will be for Windows only.

Wayne, Genuitec, LLC

 

Bookmark this entry on del.icio.us  |  digg this entry  |  See this page in technorati  |  Say you Reddit  |  Slashdot This  |  Vote on Developer Zone

Tags: webkit, java, jni, swt, swing, javascript, v8, chrome
Technorati tags: , , , , , ,

Related Posts

Top Angular Courses – Our Ten Picks! You just know that frontend development is your cup of tea, but where do you start your adventure? Or perhaps you already have some skills and are wondering how to continue. Today we would like to share our choice of the top Angular courses, going from general, all-inclusive ones to area-specific.Angular - the Whole ThingAngular 5 - The Complete Gu...
2017 CI 11 – Sprucing up Your IDE 2017 is over, but our commitment to improving our products continues, as we bring to you our 2017 CI 11 release. It comes with key fixes and improvements in the TypeScript space, as well as the new two-way theme sharing in DevStyle, among others.NOTE: This release does not include MyEclipse, which will be released shortly.Angular & TypeScriptAd...
Eclipse — Still the Best IDE! As a developer, you’ve probably grown to love using an IDE — but in the modern coding universe of choices, how do you choose the best IDE? While some might try to convince you that the "cool kids" are using IntelliJ, whether you’re looking for your first IDE, or being pressured into switching, here are some reasons to choose Eclipse!Eclipse — The B...
Angular 5, Firebase, and Angular Universal: Creati... We will be creating a blog using Angular 5, and Firebase in a 3 part series - our app will allow for easy creation and publishing of blog posts. A normal Angular application executes in the browser, rendering pages in the DOM in response to user actions. In order to improve the user experience, we want to render the pages server side and send the g...

Posted on Jan 21st 2009