Lobo browser
Author : Ilabarg1
From TechnologicalWiki
Contents |
Introduction. What is Lobo browser?
Lobo is an open source full Java implemented web browser developed with the aim to fully support of HTML4, Javascript, CSS2 but also enables rendering of arbitrary Rich Internet Application (RIA) languages and direct JavaFX.
The general goal of Lobo browser effort is to produce a web browser fast, complete, easy to extend, feature-rich and secured.
[edit] Lobo browser origin and evolution
Lobo is the evolution of Warrior, released in mid 2006 (Release 0.95). It was the first to have a HTML rendering capability but still very limited.
Version 0.92.2 adds the capability of incremental rendering to Lobo browser this also allows Javascript-driven animations occur.
Version 0.97 of Lobo still has a number of gaps in the rendering engine but many enhancements have been implemented such as page rendering is constantly improving.
Version 0.98 implements the support for direct Java and JavaFX rendering, also improve and solve some bugs and issues in the browser.
The last version (Release 0.98.4) is not ready to be used by a final user with fully reliability due to some errors and bugs that they still must be solved but it has many advanced features like cookies, HTTP authentication and others added to their usual capabilities of Java browser.
[edit] Lobo project
Lobo developers have been developing an API that can be used to implements new plugins which will run successfully in other O.S. according with Java portability (this concept could be similar to Eclipse structure).
The Lobo Project consists of the following efforts: - HTML Renderer & Parser effort (Cobra) - Java Web Browser effort (Lobo) - JavaFX Integration and other efforts
Lobo browser uses Cobra as HTML and CSS2 parser and renderer and also to process Javascript web content. But Cobra can be used alone in order to Parse and Render this kind of web content without Lobo API.
Lobo requirements are the needed of a JRE 1.5 or higher (JRE 1.6 for JavaFX supporting) in the target device in order to run well.
As Java browser architecture, lobo provides next advantages:
- Security: In principle, a Java program is less susceptible 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.
[edit] Lobo browser features
Lobo browser supports:
- Plugins. Lobo browser can be extended by some plugins easily.
- Browser features:
Normal web browser features such: HTTP Authentication, ssl, caching, preferences, bookmarks, navigation menus, download GUI.
Also some special features such: Tag-based navigation, directory menu, separated bookmarks, recent visited hosts, search engines, Wayback-style services and others.
- Incremental rendering (using Cobra).
- Javascript (using Rhino). Javascript supporting can be disabled also.
- HTML DOM. Almost all HTML DOM 2ยบ level architecture is implemented except for some attributes and methods.
- CCS2 components like: style tags, style attributes, class attributes, cascading, absolute positioning, overflow, and some style properties and selector types.
- Forms are supported. GET and POST are supported except on post reloading.
- Tables are almost plenty supported except on some feature like table option or character based alignment.
- Iframes and Framesets supported.
- Lists supported (except for advanced configuration using CSS) .
- Text formatting.
[edit] Lobo browser getting started
First step is to call PlatformInit.getInstance().init to initialize security, protocols, look & feel, the console, the default window factory and extensions. If not all these features are required, at the very least initProtocols and initExtensions should be called.
- FramePanel SWING class can be used to HTML, images, text files and all kind of lobo supported content rendering .
FramePanel example:[ToDo]
- BrowserPanel can be used to embed the frame browser with some tool and status bars.
BrowserPanel example:[ToDo]
[edit] External links
http://lobobrowser.org - Lobo project main page
http://lobobrowser.wordpress.com/2009/01/19/lobo-browser-0984-released - Lobo browser last Release
http://sourceforge.net/projects/xamj - Lobo browser sourceforge last Release download link


