Lobo Java Based Browser

Lobo 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.

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

Latest version 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.

Browaser 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.

Get more information Project home page and Download Lobo Java Based Browser

Leave a Reply