On Wed, Jan 13, 2010 at 10:05 AM, Paul Lindner <[email protected]> wrote:

> I'm willing to use anything that helps reduce the size and improves the
> quality of the js.  For optimal usage the tool should allow for a maven
> plugin.
>
> In any case I think it might be interesting to generate externs.js files
> for
> each feature, and it might be interesting to concat the scripts for each
> feature together for more code size reduction.
>

FYI - Closure Compiler has an @export annotation (couldn't find it
documented, but source is here:
http://www.google.com/codesearch/p?hl=en#l5BkQmivP-Y/trunk/src/com/google/javascript/jscomp/FindExportableNodes.java&q=com.google.javascript%20package:%22http://closure-compiler.googlecode.com/svn%22&d=5
).

This may not work with the Shindig JS - not sure if the compiler is smart
enough to understand the anonymous function syntax that creates our
namespaces.


>
>
> 2010/1/12 ๏̯͡๏ Jasvir Nagra <[email protected]>
>
> > YUI compressor compresses all valid input javascript correctly.  Closure
> > compiler under simple mode accepts a subset of javascript and produces
> > output that tries to be compatible with Caja's output semantics (
> > http://code.google.com/closure/compiler/faq.html#caja).  If we are
> willing
> > to author in a subset of javascript, we should instead aim for the Caja
> > subset (specifically the cajita subset).  The Caja Web Tools package (
> >
> >
> http://code.google.com/p/google-caja/source/browse/#svn/trunk/src/com/google/caja/ancillary/opt
> > )
> > provides comparable compression as well as a linter and jsdoc tool.  The
> > significant advantage over targetting closure compiler would be the
> ability
> > to inline gadgets on a page instead of iframing them.
> >
> > On Tue, Jan 12, 2010 at 1:37 PM, Paul Lindner <[email protected]> wrote:
> >
> > > There isn't a closure compiler maven plugin quite yet.  Also be aware
> > that
> > > the closure compiler is quite slow.  However using it has uncovered a
> > > number
> > > of issues.  See the warnings I just attached to the jira issue.
> > >
> > >
> > > On Tue, Jan 12, 2010 at 1:25 PM, John Hjelmstad <[email protected]>
> > wrote:
> > >
> > > > Looks good. Do you have a CL for pom.xml updates as well that
> switches
> > > from
> > > > YUI to CC?
> > > >
> > > > -j
> > > >
> > > > On Tue, Jan 12, 2010 at 1:20 PM, Paul Lindner <[email protected]
> >
> > > > wrote:
> > > >
> > > > > With a large number of cleanups to the jsdoc I was able to get the
> > > > shindig
> > > > > javascript compiled using the closure compiler.  Overall there's a
> 5%
> > > > > reduction in gzip'd bytes (see table below)
> > > > >
> > > > > Normally closure compiler is not used piecemeal like this.  instead
> > > it's
> > > > > used on the entirety of a script.  Doing this for content from the
> > > concat
> > > > > servlet shows a 6% reduction in gzip'd bytes:
> > > > >
> > > > >   6671 Jan 12 12:34 rpc.cc.js.gz
> > > > >   7116 Jan 12 12:34 rpc.opt.js.gz
> > > > >  26427 Jan 12 12:32 if.cc.js.gz
> > > > >  28171 Jan 12 12:30 if.opt.js.gz
> > > > >
> > > > >
> > > > > To track the cleanups to the javascript I created
> > > > > https://issues.apache.org/jira/browse/SHINDIG-1264  There's a bit
> > more
> > > > > remaining cleanup and some remaining outstanding warnings from my
> > > build.
> > > > >
> > > > > REDUCTION IN GZIP BYTES
> > > > >
> > > > >  orig    yui     cc diff fname
> > > > >   595    104    103 1.0%
> > > > target/classes/features/auth-refresh/auth-refresh
> > > > >  2654    446    370 17.0% target/classes/features/core.auth/auth
> > > > >   542     59     57 3.4%
> target/classes/features/core.auth/auth-init
> > > > >  2883    590    545 7.6% target/classes/features/core.config/config
> > > > >  5266   2647   2285 13.7% target/classes/features/core.io/io
> > > > >   631    143    141 1.4% target/classes/features/core.io/taming
> > > > >  2726    842    797 5.3% target/classes/features/core.json/json
> > > > >   614    124    122 1.6% target/classes/features/core.json/taming
> > > > >  3063   1347   1247 7.4% target/classes/features/core.legacy/legacy
> > > > >  1220    303    288 5.0% target/classes/features/core.log/log
> > > > >   671    189    186 1.6% target/classes/features/core.log/taming
> > > > >  2575    777    725 6.7% target/classes/features/core.prefs/prefs
> > > > >   676    186    184 1.1% target/classes/features/core.prefs/taming
> > > > >   653    168    166 1.2% target/classes/features/core.util/taming
> > > > >  3544    991    926 6.6% target/classes/features/core.util/util
> > > > >   984    217    208 4.1%
> > > > > target/classes/features/dynamic-height.util/dynamic-height-util
> > > > >  2593    675    633 6.2%
> > > > > target/classes/features/dynamic-height/dynamic-height
> > > > >   630    144    141 2.1%
> > target/classes/features/dynamic-height/taming
> > > > >  2638   1116   1054 5.6% target/classes/features/flash/flash
> > > > >  2092    995    929 6.6% target/classes/features/flash/taming
> > > > >  1020    466    472 -1.3%
> > target/classes/features/i18n/currencycodemap
> > > > >  5240   1505   1451 3.6%
> target/classes/features/i18n/datetimeformat
> > > > >  1915   1313   1356 -3.3%
> > > target/classes/features/i18n/datetimeformattest
> > > > >  9641   2408   2276 5.5% target/classes/features/i18n/datetimeparse
> > > > >  2821   1838   1879 -2.2%
> > > target/classes/features/i18n/datetimeparsetest
> > > > >  2101    556    550 1.1% target/classes/features/i18n/formatting
> > > > >  5618   2514   2399 4.6% target/classes/features/i18n/numberformat
> > > > >  2251   1567   1586 -1.2%
> > target/classes/features/i18n/numberformattest
> > > > >  2609    999    933 6.6%
> > > target/classes/features/minimessage/minimessage
> > > > >   660    175    172 1.7% target/classes/features/minimessage/taming
> > > > >  2010    368    350 4.9%
> > target/classes/features/oauthpopup/oauthpopup
> > > > >  1695    727    723 0.6%
> > > > > target/classes/features/opensocial-0.6/opensocial6to7
> > > > >  1276    576    563 2.3%
> > > > > target/classes/features/opensocial-0.7/opensocial7to8
> > > > >   707    226    216 4.4%
> > > > > target/classes/features/opensocial-0.8/opensocial8to9
> > > > >  2184   1174   1099 6.4%
> > > > > target/classes/features/opensocial-base/fieldtranslations
> > > > >  1031    373    349 6.4%
> > > > > target/classes/features/opensocial-base/jsonactivity
> > > > >   731    191    186 2.6%
> > > > > target/classes/features/opensocial-base/jsonmessage
> > > > >   861    194    190 2.1%
> > > > > target/classes/features/opensocial-base/jsonmessagecollection
> > > > >  1186    580    548 5.5%
> > > > target/classes/features/opensocial-base/jsonperson
> > > > >  2310    660    601 8.9%
> > > > > target/classes/features/opensocial-data-context/datacontext
> > > > >  5767   2336   2216 5.1%
> target/classes/features/opensocial-data/data
> > > > >  4116   2596   2505 3.5%
> > > > > target/classes/features/opensocial-jsonrpc/jsonrpccontainer
> > > > >  3629    375    374 0.3%
> > > > > target/classes/features/opensocial-reference/activity
> > > > >  1343    290    290 0.0%
> > > > > target/classes/features/opensocial-reference/address
> > > > >  1093    195    194 0.5%
> > > > > target/classes/features/opensocial-reference/bodytype
> > > > >  1263    257    251 2.3%
> > > > > target/classes/features/opensocial-reference/collection
> > > > >  3997    673    607 9.8%
> > > > > target/classes/features/opensocial-reference/container
> > > > >  4130    798    774 3.0%
> > > > > target/classes/features/opensocial-reference/datarequest
> > > > >  1173    174    169 2.9%
> > > > > target/classes/features/opensocial-reference/dataresponse
> > > > >  1029    159    158 0.6%
> > > > target/classes/features/opensocial-reference/email
> > > > >  1726    381    384 -0.8%
> > > > target/classes/features/opensocial-reference/enum
> > > > >  1294    359    350 2.5%
> > > > > target/classes/features/opensocial-reference/environment
> > > > >  1590    264    260 1.5%
> > > > > target/classes/features/opensocial-reference/idspec
> > > > >  1318    286    278 2.8%
> > > > > target/classes/features/opensocial-reference/mediaitem
> > > > >  1893    452    452 0.0%
> > > > > target/classes/features/opensocial-reference/message
> > > > >  1213    214    212 0.9%
> > > > > target/classes/features/opensocial-reference/messagecollection
> > > > >  1096    247    245 0.8%
> > > > target/classes/features/opensocial-reference/name
> > > > >  1564    246    245 0.4%
> > > > > target/classes/features/opensocial-reference/navigationparameters
> > > > >  3858    606    592 2.3%
> > > > > target/classes/features/opensocial-reference/opensocial
> > > > >  1427    264    263 0.4%
> > > > > target/classes/features/opensocial-reference/organization
> > > > >  3389   1141   1138 0.3%
> > > > > target/classes/features/opensocial-reference/person
> > > > >  1029    157    156 0.6%
> > > > target/classes/features/opensocial-reference/phone
> > > > >  1556    333    330 0.9%
> > > > > target/classes/features/opensocial-reference/responseitem
> > > > >  1448    851    870 -2.2%
> > > > > target/classes/features/opensocial-reference/taming
> > > > >  1066    174    174 0.0%
> > > target/classes/features/opensocial-reference/url
> > > > >  4314   1595   1505 5.6%
> > > > target/classes/features/opensocial-templates/base
> > > > >  9647   3885   3672 5.5%
> > > > > target/classes/features/opensocial-templates/compiler
> > > > >  4375   1842   1714 6.9%
> > > > > target/classes/features/opensocial-templates/container
> > > > >  4153    978    905 7.5%
> > > > >
> target/classes/features/opensocial-templates/jsTemplate/jsevalcontext
> > > > >  9977   2767   2482 10.3%
> > > > > target/classes/features/opensocial-templates/jsTemplate/jstemplate
> > > > >  4231   1122   1060 5.5%
> > > > > target/classes/features/opensocial-templates/jsTemplate/util
> > > > >  2989   1246   1143 8.3%
> > > > > target/classes/features/opensocial-templates/loader
> > > > >  1301    308    297 3.6%
> > > > > target/classes/features/opensocial-templates/namespaces
> > > > >  2559    919    824 10.3%
> > > target/classes/features/opensocial-templates/os
> > > > >  1644    645    620 3.9%
> > > > > target/classes/features/opensocial-templates/template
> > > > >  1441    386    360 6.7%
> > > > target/classes/features/opensocial-templates/util
> > > > >  1849    447    387 13.4% target/classes/features/osapi/batch
> > > > >  1920    505    466 7.7%
> > > > target/classes/features/osapi/gadgetsrpctransport
> > > > >  1401    551    508 7.8%
> > target/classes/features/osapi/jsonrpctransport
> > > > >  1158    388    360 7.2% target/classes/features/osapi/osapi
> > > > >   985    194    193 0.5%
> target/classes/features/osapi/peoplehelpers
> > > > >   989    336    328 2.4% target/classes/features/osapi/taming
> > > > >   981    227    210 7.5% target/classes/features/pubsub/pubsub
> > > > >  1415    454    412 9.3%
> target/classes/features/pubsub/pubsub-router
> > > > >   622    128    126 1.6% target/classes/features/pubsub/taming
> > > > >  1785    474    445 6.1% target/classes/features/rpc/fe.transport
> > > > >  2444    728    683 6.2% target/classes/features/rpc/ifpc.transport
> > > > >  4045    887    840 5.3% target/classes/features/rpc/nix.transport
> > > > >  6619   1420   1317 7.3% target/classes/features/rpc/rmr.transport
> > > > >  9270   2292   2134 6.9% target/classes/features/rpc/rpc
> > > > >  1610    454    429 5.5% target/classes/features/rpc/wpm.transport
> > > > >  1181    359    328 8.6% target/classes/features/setprefs/setprefs
> > > > >   723    121    120 0.8% target/classes/features/settitle/settitle
> > > > >   606    116    114 1.7% target/classes/features/settitle/taming
> > > > >  1226    253    242 4.3% target/classes/features/skins/skins
> > > > >   608    117    115 1.7% target/classes/features/skins/taming
> > > > >  5496   2640   2491 5.6% target/classes/features/tabs/tabs
> > > > >   716    223    222 0.4% target/classes/features/tabs/taming
> > > > >   705    215    212 1.4% target/classes/features/views/taming
> > > > >  3653   1643   1550 5.7% target/classes/features/views/views
> > > > >  1867    755    728 3.6% target/classes/features/xmlutil/xmlutil
> > > > > ---------------------------------------------------
> > > > > 238629  75921    728 5.1%
> > > > > YUI Better   : 6 (131)
> > > > > CC Better    : 92 (4017)
> > > > >
> > > >
> > >
> >
>

Reply via email to