EmbeddedBrowserPlan68
Plan for integration of Embedded Browser in NetBeans 6.8
Motivation and Goals
Make NetBeans more integrated development environment, minimize the time user has to spend switching between the IDE and external web browser, keeping the user inside the IDE when for example reading our online/offline resources, when interacting with our online services, and when coding his web pages.
Usecases
| Usecase | Prio | Description | Comments |
|---|---|---|---|
| EB1 - Embedded web preview for user's pages and projects | P1 | Present an authentic preview inside a separate top component for HTML, CSS, .. pages that the user is editing in the IDE. Automatically reload the preview when the user saves his changes. Open and automatically reload the web preview component also for the pages of executed web and java ee projects. | |
| EB2 - Embedded interaction with online services | P2 | Interaction with a predefined set of online services. The first service to address is project pages on kenai.com. | The list of such services will be created and tested against. Issues that have to be considered are JavaScript support, cookies and password management. Kenai in Embedded Browser |
| EB3 - Embedded browsing of online/offline resources | P2 | Open all links to the offline and online docs, tutorials and blogs inside an embedded web browsing component. | Navigation to other pages will work, but the user must understand that the web browing component is not intended as full-featured web browser for viewing any pages on the Internet. Some pages may not work as good as they work in an external browser or at all (reasons: missing plugins, ...?). |
| EB4 - Fancy web-like Start Page | P3 (not in 6.8) | Render the Start Page as a regular web page, embedded in the product. Provide fancy graphics with animation effects (using JavaScript, or JavaFX). Show dynamically adjusted content to the user, taking into consideration what projects he is working on in NetBeans and what information he might be interested in. | |
Platforms and status
- latest JDK update is required
| Operating System | JDK5 32-bit | JDK5 64-bit | JDK6 32-bit | JDK6 64-bit | Comments |
|---|---|---|---|---|---|
| Windows XP | green | not supported | green | not supported | |
| Windows Vista | green | not supported | green | not supported | |
| Ubuntu Linux - Metal LaF | green | not supported | green | not supported | |
| Ubuntu Linux - GTK LaF | - | - | with issues | not supported | |
| OpenSolaris - Metal LaF | green | not supported | green | not supported | |
| OpenSolaris - GTK LaF | - | - | with issues | not supported | |
| Mac OS X | with issues | not supported | - | not supported | |
Plan
So far we had only a very limited time for prototyping. Both integration of JWebPage/WebKit and XULrunner have their issues and we keep both options open. However, we prefer XULrunner for its stability, speed, excellent rendering and out-of-the-box support of JavaScript, cookies and plugins.
Embedding a browser is targeting all our supported platforms (windows, linux, mac os x, solaris sparc, solaris x86). Individual native components on these platforms may have different problems. Also different versions of Java (5 and 6, Sun and Apple) behave differently.
We plan to do a quick integration on one (windows) or two platforms (windows, linux) as soon as possible to allow a parallel work on the usecases already during M1. The rest of M1 and M2 will be dedicated to tuning the behaviour of the UI component on all the platforms, identifying additional problems and working around them (or choosing fallback to the external browser in certain cases).
| Task | Milestone | Owner | Comment |
|---|---|---|---|
| Initial integration | M1 | Standa | Needed to allow the work on usage of the embedded browser for the usecases |
| Evaluation of interaction with kenai.com pages | M1 | Milan | Possible using javascript execution and cookie manipulation. |
| UI Spec | M1 | Ondra, Milan, Standa | |
| APIs | M1 | Standa, Milan | |
| All URLs in IDE opening in EB | M1 | Standa | EB as optional choice for M1 |
| Test on all platforms | M1 | Jara Pospisil | EmbeddedBrowserTesting |
| EB1 | M2 | Milan | |
| EB2 | M2 | Milan | |
Embedded Browser In Competitive IDEs
EmbeddedBrowserPrototypingJWebPane
EmbeddedBrowserPrototypingXULRunner
Attachments
