Generic Web Page Designer for Netbeans, anyone?
By winston on Jul 11, 2008
Visual JSF designer in Netbeans provides a way to design a web page visually. Unfortunately, Visual JSF web page designing is limited to JSP based JSF web pages created by Visual JSF framework. However, Netbeans users might want to design web pages created by various frameworks. Such pages include HTML, PHP, JSP, RHTML (Ruby on Rails), XML (facelet) etc. So I thought it is worth a time to explore the concept of a generic Web Page Designer, with out any restrictions of any particular framework. If you are interested, you can read my proposal for a generic Web Page Designer at http://wiki.netbeans.org/WebPageDesigner The proposal includes Web Page Designer Concept Overview and Web Page Designer Design Concepts.
I also spent some time to create a prototype of a HTML designer. This designer will be the foundational designer for all other page designers (like PHP, JSP etc). Other page designers would be extended from this designer. This is obvious because HTML is a subset in all page types.
This HTML designer embeds Mozilla Layout Engine (XULRunner) for rendering the web pages. Therefore, unlike Visual JSF designer, user would get hi-fidelity rendering of the web pages. Details on embedding Mozilla in Netbeans is available here.
JAVA-XPCOM API to interact with underlying XULRunner to facilitate page
design. Unlike other Mozilla based Web Page authoring tools like
NVU, in this designer I'm not
exposing the Mozilla Composer, but directly manipulating the Mozilla DOM for visual
popular WYSIWYG HTML designers, I could lay my hand on, like DreamWeaver or Microsoft
expression. Another interesting feature I implemented, is the direct manipulations of CSS style of a HTML element selected in the designer using the Style Builder view docked in the bottom. Any modification of a CSS property in the Style Builder is immediately reflected in the designer.
Oh!, but one bigger question still bothers me - Are Netbeans users really interested in a Web Page Designer or am I just wasting my time?