struts-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Joe Hudson" <joe...@gmail.com>
Subject Re: If your evaluating new template engines, what about ZipScript
Date Fri, 01 Aug 2008 14:58:57 GMT
Thank you for your feedback Al.

While you can't see the code in action with a deployed application,
you can view some of the unit test/scripts/output (there are more)
with the following links:

- if directive
  - test case: http://code.google.com/p/zipscript/source/browse/trunk/core/src/main/test/test/hudson/zipscript/DirectiveTestCase.java#108
  - zipscript code:
http://code.google.com/p/zipscript/source/browse/trunk/core/src/main/test/templates/if_test.zs
  - merged output:
http://code.google.com/p/zipscript/source/browse/trunk/core/src/main/test/templates/if_result.txt

- foreach directive
  - test case: http://code.google.com/p/zipscript/source/browse/trunk/core/src/main/test/test/hudson/zipscript/DirectiveTestCase.java#38
  - zipscript code:
http://code.google.com/p/zipscript/source/browse/trunk/core/src/main/test/templates/foreach_test.zs
  - merged output:
http://code.google.com/p/zipscript/source/browse/trunk/core/src/main/test/templates/foreach_result.txt

- while directive
  - test case: http://code.google.com/p/zipscript/source/browse/trunk/core/src/main/test/test/hudson/zipscript/DirectiveTestCase.java#80
  - zipscript code:
http://code.google.com/p/zipscript/source/browse/trunk/core/src/main/test/templates/while_test.zs
  - merged output:
http://code.google.com/p/zipscript/source/browse/trunk/core/src/main/test/templates/while_result.txt

- set directive
  - test case: http://code.google.com/p/zipscript/source/browse/trunk/core/src/main/test/test/hudson/zipscript/DirectiveTestCase.java#134
  - zipscript code:
http://code.google.com/p/zipscript/source/browse/trunk/core/src/main/test/templates/foreach_test.zs
  - merged output:
http://code.google.com/p/zipscript/source/browse/trunk/core/src/main/test/templates/foreach_result.txt

- import directive
  - test case: http://code.google.com/p/zipscript/source/browse/trunk/core/src/main/test/test/hudson/zipscript/DirectiveTestCase.java#94
  - zipscript code:
http://code.google.com/p/zipscript/source/browse/trunk/core/src/main/test/templates/import_test.zs
  - macro libraries:
http://code.google.com/p/zipscript/source/browse/trunk/core/src/main/test/templates/imports
  - merged output:
http://code.google.com/p/zipscript/source/browse/trunk/core/src/main/test/templates/import_result.txt

- include directive
  - test case: http://code.google.com/p/zipscript/source/browse/trunk/core/src/main/test/test/hudson/zipscript/DirectiveTestCase.java#86
  - zipscript code:
http://code.google.com/p/zipscript/source/browse/trunk/core/src/main/test/templates/include_test.zs
  - include templates:
http://code.google.com/p/zipscript/source/browse/trunk/core/src/main/test/templates#templates/includes/foo
  - merged output:
http://code.google.com/p/zipscript/source/browse/trunk/core/src/main/test/templates/include_result.txt

evaluating booleans:
  - test case: http://code.google.com/p/zipscript/source/browse/trunk/core/src/main/test/test/hudson/zipscript/BooleanTestCase.java

evaluating objects:
  - test case:
      - http://code.google.com/p/zipscript/source/browse/trunk/core/src/main/test/test/hudson/zipscript/ListTestCase.java
      - http://code.google.com/p/zipscript/source/browse/trunk/core/src/main/test/test/hudson/zipscript/MathTestCase.java

logic
  - test case: http://code.google.com/p/zipscript/source/browse/trunk/core/src/main/test/test/hudson/zipscript/LogicTestCase.java

variables
  - test case: http://code.google.com/p/zipscript/source/browse/trunk/core/src/main/test/test/hudson/zipscript/VariableTestCase.java
  - zipscript code:
http://code.google.com/p/zipscript/source/browse/trunk/core/src/main/test/templates/variable_simple_test.zs
  - merged output:
http://code.google.com/p/zipscript/source/browse/trunk/core/src/main/test/templates/variable_simple_result.txt
  - special methods:
http://code.google.com/p/zipscript/source/browse/trunk/core/src/main/test/test/hudson/zipscript/SpecialMethodsTestCase.java
      - defaults:
http://code.google.com/p/zipscript/source/browse/trunk/core/src/main/test/test/hudson/zipscript/VariableDefaultsTestCase.java
      - formatting:
http://code.google.com/p/zipscript/source/browse/trunk/core/src/main/test/test/hudson/zipscript/VariableFormattingTestCase.java

XML
  - test case: http://code.google.com/p/zipscript/source/browse/trunk/core/src/main/test/test/hudson/zipscript/XMLTestCase.java
  - XML input: http://code.google.com/p/zipscript/source/browse/trunk/core/src/main/test/templates/xml_input.xml
  - zipscript code:
http://code.google.com/p/zipscript/source/browse/trunk/core/src/main/test/templates/xml_test.zs
  - merged output:
http://code.google.com/p/zipscript/source/browse/trunk/core/src/main/test/templates/xml_result.txt

macros
  - test case: http://code.google.com/p/zipscript/source/browse/trunk/core/src/main/test/test/hudson/zipscript/MacroTestCase.java
  - zipscript code 1:
http://code.google.com/p/zipscript/source/browse/trunk/core/src/main/test/templates/macro_test.zs
  - merged output 1:
http://code.google.com/p/zipscript/source/browse/trunk/core/src/main/test/templates/macro_result.txt
  - zipscript code 2:
http://code.google.com/p/zipscript/source/browse/trunk/core/src/main/test/templates/macro_common_test.zs
  - merged output 2:
http://code.google.com/p/zipscript/source/browse/trunk/core/src/main/test/templates/macro_common_result.txt
  - zipscript code 3:
http://code.google.com/p/zipscript/source/browse/trunk/core/src/main/test/templates/macro_nesting_test.zs
  - merged output 3:
http://code.google.com/p/zipscript/source/browse/trunk/core/src/main/test/templates/macro_nesting_result.txt
  - zipscript code 4:
http://code.google.com/p/zipscript/source/browse/trunk/core/src/main/test/templates/macro_fulltest_test.zs
  - merged output 4:
http://code.google.com/p/zipscript/source/browse/trunk/core/src/main/test/templates/macro_fulltest_result.txt



On Fri, Aug 1, 2008 at 10:26 AM, Al Sutton <al.sutton@alsutton.com> wrote:
> Joe,
>
> My advice would be to spend some time writing demo apps and deploying them
> on some servers, that way people can see the library in action.
>
> S2 has a wide user base and so (imho) we can't afford to take risks by
> dedicating time to converting the core templates to work on an unproven
> library when we have a fully tested alternative.
>
> Al.
>
> Joe Hudson wrote:
>>
>> Thank you for taking the time to evaluate zipscript.
>>
>> This is not currently being used in any real world apps because it is
>> new.  That is certainly a valid concern.  It is kind of a catch 22
>> because how can you ever be used in a real world app if people only
>> want an engine that is being used in a real world app?
>>
>> Anyway, I'd like to address my assumption of your main concerns
>> regarding real world app usage:
>>
>> 1) Is it reliable?
>> All of the functionality is unit tested before a release is performed
>> and there are many unit tests which can be seen here:
>> - Unit Tests:
>> http://code.google.com/p/zipscript/source/browse/#svn/trunk/core/src/main/test/test/hudson/zipscript
>> - Referenced Templates and Results:
>>
>> http://code.google.com/p/zipscript/source/browse/#svn/trunk/core/src/main/test/templates
>>
>> 2) How does it perform?
>> There is a unit test that merges a template consisting of multiple
>> macro references (called PerformanceTest)
>>
>> http://code.google.com/p/zipscript/source/browse/trunk/core/src/main/test/test/hudson/zipscript/PerformanceTestCase.java
>> This test, when performed on my laptop, can perform 1000 merges in
>> about 1 second.
>>
>>
>> As to the other issues of porting to other languages.  That isn't
>> currently in the plan now but certainly would be something on the
>> plate if this language got a foothold.
>>
>> Joe
>>
>>
>> On Fri, Aug 1, 2008 at 6:20 AM, Ted Husted <husted@apache.org> wrote:
>>
>>>
>>> For me, it's the "real world apps", *plus* the interest in porting GXP
>>> to other platforms, like C++, and Ruby. Personally, I'd like to add C#
>>> to that list. ASPX, like JSF, has its charms, but many .NET developers
>>> (including me) would like alternatives.
>>>
>>> I do find the zipscript YUI examples interesting, since we are also
>>> looking for an alternative approach to supporting Ajax with the Struts
>>> tags.
>>>
>>> -Ted.
>>>
>>> On Fri, Aug 1, 2008 at 1:30 AM, Al Sutton <al.sutton@alsutton.com> wrote:
>>>
>>>>
>>>> Joe,
>>>>
>>>> My main reason for backing GXP is that it's been used in high volume
>>>> "real
>>>> world" apps by Google and so has been proven to scale.
>>>>
>>>> Does ZipScript have the same real world testing, and if so where is it
>>>> used?
>>>>
>>>> Al.
>>>>
>>>>
>>>> Joe Hudson wrote:
>>>>
>>>>>
>>>>> Hello,
>>>>>
>>>>> With all the talk about GXP, I wanted to let you know about another
>>>>> template engine called ZipScript (zipscript.org).
>>>>>
>>>>> Ok, you're probably saying... another one??? but this has some
>>>>> distinct advantages and I would love for you to give it a try - I
>>>>> really think you'll be happy you did.
>>>>>
>>>>> 1) it can be used to create complex UI components
>>>>> 2) it has a powerful non XML-based syntax (which is helpful since the
>>>>> most common output is XML)
>>>>> 3) it can also be used to get more than just text from expressions
>>>>> (like booleans or objects) - great for having smarter config
>>>>> properties
>>>>>
>>>>>
>>>>> Here are some quick links:
>>>>> - homepage:
>>>>>        http://zipscript.googlecode.com
>>>>> - Yahoo! UI macro examples:
>>>>>        http://code.google.com/p/zipscript/wiki/YUIMacros
>>>>> - Language Syntax Examples
>>>>>        http://code.google.com/p/zipscript/wiki/SyntaxExamples
>>>>>
>>>>> Thanks
>>>>>
>>>>> Joe Hudson
>>>>>
>>>
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: dev-unsubscribe@struts.apache.org
>>> For additional commands, e-mail: dev-help@struts.apache.org
>>>
>>>
>>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: dev-unsubscribe@struts.apache.org
>> For additional commands, e-mail: dev-help@struts.apache.org
>>
>>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@struts.apache.org
> For additional commands, e-mail: dev-help@struts.apache.org
>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@struts.apache.org
For additional commands, e-mail: dev-help@struts.apache.org


Mime
View raw message