On 12/13/06, Zaheed Haque <zaheed.haque at gmail.com>
wrote:>
> Jeff:
>
> I am in the start of a new project and I am a bit confused by all the
> template-technologies out there. My use case is similar to yours i.e
> "designers of HTML pages are local design house". I have come
across
> the following project.
>
> http://www.kuwata-lab.com/kwartz/
>
> Your view/opinion?
>
> Also it would be nice if you could make a page in masterview.org about
> "Template technology comparison or matrix".
>
> I look forward to hear your views.
>
> Regards,
> Zaheed
>
Zaheed,
Thanks for writing. Yes, I am somewhat familiar with Kwartz, in fact I
evaluated using/modifying it to meet my needs before building MasterView. In
the end I felt it would be much cleaner to build fresh.
>From what I can tell Kwartz appears to be an active project like MasterView,
so you should be safe going with either depending on your requirements.
Both projects try to provide a better xhtml safe templating solution and
here are some of the differences. (These opinions are based on my knowlege
of Kwartz from my original evaluation and from reviewing their latest
documentation for updates as of November 2006). (We will plan to add some
comparison page to our site as well)
MasterView provides full html with partials and layouts for WYSIWYG editing
MasterView allows you to work with your full html page in your editor and
underneath the covers it will create all of the layouts and partials for
you. This allows you to have true WYSIWYG editing and html prototypes.
Kwartz and other template solutions like Amrita don''t have a simple way
of
doing this. Using one of these tools you will typically either duplicate
your layout and partial into each template or you would do some sort of
import however even if you do this, you won''t be working with the full
html
when you are editing. MasterView allows you to work just like you would in
Rails where you keep things DRY having shared layouts and partials which are
not duplicated. MasterView can manage all of the details of importing things
when shared objects change so you can always be editing with the current
objects.
MasterView Rails support
Although I noticed recently that Kwartz has started to provide some
experimental Rails directives (that look very similar to MasterView''s)
their
feature set with regards to Rails is much more limited. MasterView''s
specialized Rails directives inherit the style and design from the html in
generating the Rails form helpers, so any styling changes are automatically
picked up and used. MasterView has support for all of the major Rails form
helpers. MasterView is provided as a gem and/or plugin for ease of use with
Rails. MasterView has the ability to automatically pick up and cache changes
to the templates when running in Rails, Kwartz has compile step.
MasterView has close to production quality scaffold generator
To make it just as easy to get started with MasterView as Rails, MasterView
provides a close to production quality scaffold CRUD generator. It smartly
styled html that can easily be tweaked with CSS to customize the layout.
MasterView provides full power of ERB
MasterView allows you to use the full power of ERB in your templates without
jumping through hoops or creating additional presentation objects. You can
access your rails models and helpers just like you would in ERB. Kwartz and
other templating solutions use another layer to insulate (presentation
object) that needs to be created/configured to provide data to your
template. The nice thing about this abstraction is that this provides
additional layer of security but also means extra work each and everytime
you add a new model or add properties to an existing model. (FYI. We have
plans to also add non-evaling features to MasterView in the future to
support both operational modes for cases where you allow the general public
to modfiy views).
Kwartz provides ability to generate views for JSTL and PHP
Although theoretically MasterView could generate JSTL or PHP code as well
(since it can generate any text format), this has not yet been a focus, so
Kwartz''s capabilities are more fully developed in this area if one is
interested in doing cross language deployments.
MasterView is extensible with custom directives
One of the design goals with MasterView was to make it easy for developers
to add their own directives. This allows MasterView to be easily
customizable by in house teams and the community. Commonly used
functionality can be abstracted into new directives using a DSL style ruby
syntax.
Kwartz can use any text file
Kwartz can parse any text file as a template, where as MasterView uses valid
xhtml/xml to parse. MasterView provides integration with Tidy so that
invalid html can automatically be cleaned up for parsing. MasterView can
however generate any type of text output not just xhtml, so it can be used
for email text or other pure text needs. MasterView''s primary focus is
xhtml/xml and thus has nice functionality to support
communication/cooperation between nested directives.
MasterView admin tools
MasterView has a variety of console and web based tools to facilitate
working with templates (synchronizing imported sections), validating format,
creating new templates by copying existing, etc.
MasterView planned features (in upcoming releases)
We are working on some advanced features that will really improve
productivity with regards to ajax enabled tables. By adding simple directive
to a normal html table, you will be able to get fully ajax''d pagable,
sortable, table grid that will also degrade gracefully to normal views if
javascript is disabled. Many features like these are planned for release in
2007.
Well that is all I can think of off the top of my head. If you have any
other specific questions or need clarifications, please let me know.
If I can be of any further help, please let me know.
Blessings,
Jeff
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
http://rubyforge.org/pipermail/masterview-devel/attachments/20061213/06322579/attachment-0001.html