Home
Download Lobo
Lobo Browser
  Browser Library
   API Docs
  Plugin HOWTO
   API Docs
Cobra Toolkit
JavaFX, etc.
Source Code
Our Blog
Contact Us
SF Services
Donations
Thanks

 
SourceForge.net Logo
Lobo@SF
 
 
Support This Project
 
 

Lobo: Java Web Browser

Lobo Web Browser rendering of Google News Lobo [download] is an open source web browser that is written completely in Java.

Lobo is being actively developed with the aim to fully support HTML 4, Javascript and CSS2. Lobo also supports direct JavaFX rendering.

The general goal of the Lobo browser effort is to produce a browser that is fast, complete, easy to extend, feature-rich and secure.

Download

Please visit our download page to obtain the recommended version of Lobo installer, or the SourceForge download area of this project to obtain other released versions of the browser, and ZIP-packaged distributions.

Why a Pure Java Browser?

There are a number of advantages to be derived from a browser that is written in Java as opposed to a language compiled into native code, namely:
  • Security.- In principle, a Java program is less suceptible to certain types of vulnerabilities such as a buffer overflow attack. Java's security model can also allow web content to have access to a complex set of APIs, except in a controlled sandbox.
  • Extensibility.- A Java-based application can be extended via powerful cross-platform plugins. Consider the difference this has made for Java software such as jEdit and Eclipse. (Lobo already has a plugin API).
  • New paradigms.- With the help of Java we can implement new powerful cross-platform and secure mechanisms to represent web content. As of version 0.98, JavaFX and Java are first-class citizens in Lobo, on par with HTML.
  • Portability.- This is the obvious advantage of a pure Java application.

Current Status

Lobo Web Browser download dialog Version 0.98 of Lobo still has a number of gaps in the rendering engine, but improvements are occurring all the time.

Browser features related to navigation, cookies, HTTP authentication and so on are functioning well at this point.

We will continue to work on incrementally improving the rendering capability primarily based on user feedback. Some of the supported features and limitations are listed below:

  • Plugins.- A extensions (plugin) capability was released in version 0.97.
  • Browser features.- Starting with Lobo 0.97 several features you would expect to find in any browser are available, such as HTTP authentication, SSL, caching, preferences, bookmarks, navigation menues, a download GUI, etc. There are also some unique and advanced features we have started to introduce, e.g. a different type of bookmarks system based on tags, with search; a directory menu, separate to bookmarks; a list of recent hosts visited; multiple startup pages; search engines; page services such as Wayback Machine; etc.
  • General rendering.- Incremental rendering was implemented in 0.96.2. This also allows Javascript-driven animations to occur.
  • Javascript.- The Javascript engine is functional, but not all APIs are complete. The AJAX class XMLHttpRequest was implemented in 0.96.2. Basic element events are supported.
  • HTML DOM.- A good portion of the HTML DOM Level 2 interfaces are implemented. Some attributes and methods may not be functional.
  • CSS2.- Style tags, style attributes and class attributes are functional, but not all style properties are implemented at this point. Property overriding (cascading) is functional. Absolute positioning, overflow (scrolling) and other such features have been implemented. Support for different types of selectors is currently limited. The only pseudo-element supported is hover. The CSS parser we use is fairly strict, so some existing CSS documents may not parse.
  • Forms.- POST and GET are functional. POST reloading is not supported (and we're not sure we want to support it). All input types, including file, are currently implemented.
  • Tables.- There is good support for tables. Some features such as the table caption and character-based alignment are still pending.
  • Frames.- There is support for both IFRAMEs and pages consisting only of framesets.
  • Lists.- Lists are almost fully functional, except for advanced configuration via CSS.
  • Text formatting.- Style properties for colors, backgrounds, fonts, and text decorations are functional. Deprecated tags such as FONT, FONTBASE, etc. are implemented as well.

Rendering Engine API

We provide a separate Java-based programming library, named Cobra, which implements the HTML parsing and rendering capabilities of Lobo. Cobra is also open source.

Browser API

We document Lobo's Java code such that it can be used as an embeddable browser API. This API is released under the GPL license.

Plugin API

Lobo supports extensions (plugins) written in Java. See the Plugin HOWTO page.

Licensing

The Lobo web browser is open source and is released under the terms of the GPL license. We make the source code available in CVS.

Contributing

Lobo is work in progress. If you would like to contribute, please see the source code page for information on how to set up an environment for development of Lobo, and on how to submit code patches.

If you have any specific suggestions on improving Lobo, please don't hesitate to contact us.

Help

If you need assistance using Lobo, please visit our Help Forum.

Support The Project