| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 07/11/2009 10:58:48
|
davidbuzatto
Moderador
![[Avatar]](/images/avatar/7ba6d33c373fea56b7258003b16c68e5.jpg)
Membro desde: 07/08/2004 23:47:57
Mensagens: 4013
Localização: Vargem Grande do Sul - SP
Offline
|
Pessoal, o Google acabou de liberar algumas bibliotecas que eles usavam internamente. Eu partilarmente acho que vou usar o Closure Compiler, ainda preciso testar.
Millions of Google users worldwide use JavaScript-intensive applications such as Gmail, Google Docs, and Google Maps. Like developers everywhere, Googlers want great web apps to be easier to create, so we've built many tools to help us develop these (and many other) apps. We're happy to announce the open sourcing of these tools, and proud to make them available to the web development community.
...
Mais detalhes em: http://googlecode.blogspot.com/2009/11/introducing-closure-tools.html
|
Seja educado. Agradeça quem te ajudou. Não custa nada.
Dúvidas de Java? Utilize o fórum! Não respondo via MP.
"Any fool can write code that a computer can understand. Good programmers write code that humans can understand." (Fowler)
"A vida é um escândalo, e no final dá sempre errado. O que humaniza o homem é o fracasso."
http://davidbuzatto.com.br | GitHub | uHunt | CV Lattes | Last.fm |
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 07/11/2009 11:20:25
|
davidbuzatto
Moderador
![[Avatar]](/images/avatar/7ba6d33c373fea56b7258003b16c68e5.jpg)
Membro desde: 07/08/2004 23:47:57
Mensagens: 4013
Localização: Vargem Grande do Sul - SP
Offline
|
Pessoal, estou usando o Closure Compiler aqui e é simplesmente sensacional!
Meu projeto tem 11 arquivos javascript com 210 KB no total.
Depois do build com WHITESPACE_ONLY cai para 89 KB. Com SIMPLE_OPTIMIZATION cai para 78 KB!!!
Não estou usando ADVANCED_OPTIMIZATION pq ele renomeia muita coisa que não pode e é inviável eu configurar para ele não fazer isso (uso muitas bibliotecas no meu projeto). A não ser que eu dê build das bibliotecas junto, mas ai fica muita coisa...
Enfim, para quem usa NetBeans e quiser testar, primeiramente configure o compiler.jar para ir para o build da aplicação e insira o seguinte código no build.xml do projeto.
Nesse exemplo, pego 3 arquivos (arquivo1, arquivo2 e arquivoN), otimizo os três e coloco o resultado em application-min.js.
Para mais opções vejam a documentação no site.
[]´s
This message was edited 1 time. Last update was at 07/11/2009 11:36:23
|
Seja educado. Agradeça quem te ajudou. Não custa nada.
Dúvidas de Java? Utilize o fórum! Não respondo via MP.
"Any fool can write code that a computer can understand. Good programmers write code that humans can understand." (Fowler)
"A vida é um escândalo, e no final dá sempre errado. O que humaniza o homem é o fracasso."
http://davidbuzatto.com.br | GitHub | uHunt | CV Lattes | Last.fm |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 07/11/2009 12:01:59
|
Sergio Lopes
Moderador
![[Avatar]](/images/avatar/8232e119d8f59aa83050a741631803a6.jpg)
Membro desde: 17/11/2003 00:22:10
Mensagens: 1368
Localização: São Paulo - SP
Offline
|
sabe a diferenca entre o closure compiler e o yui compressor? o closure faz algo a mais? sera q eh mais eficiente?
e aquela biblioteca closure eh feinha hein hehehehe prefiro muito mais o jquery
|
Sérgio Lopes - twitter: @sergio_caelum - blog pessoal: sergiolopes.org
Curso Java | Apostilas Java | Arquitetura Java | Curso Rails |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 07/11/2009 12:18:14
|
davidbuzatto
Moderador
![[Avatar]](/images/avatar/7ba6d33c373fea56b7258003b16c68e5.jpg)
Membro desde: 07/08/2004 23:47:57
Mensagens: 4013
Localização: Vargem Grande do Sul - SP
Offline
|
Sergio Lopes wrote:sabe a diferenca entre o closure compiler e o yui compressor? o closure faz algo a mais? sera q eh mais eficiente?
e aquela biblioteca closure eh feinha hein hehehehe prefiro muito mais o jquery 
Então Sergio, sinceramente não sei a diferença pois não cheguei a usar o YUI compressor. Já tentei integrar o JSBuilder (do pessoal do ExtJS) no meu projeto, mas não tive muito sucesso e desencanei. Ontem dando uma olhada no Reader eu vi Closure Compiler e decidi testar e gostei. Eu ia testar o YUI compressor essa semana, mas como já coloquei o Closure Compiler para funcionar, acho que não vou mais alterar isso.
Eu nem olhei a biblioteca deles justamente por ser fã de carteirinha do jQuery. No meu caso o que foi mais útil mesmo foi o Compiler.
[]´s
|
Seja educado. Agradeça quem te ajudou. Não custa nada.
Dúvidas de Java? Utilize o fórum! Não respondo via MP.
"Any fool can write code that a computer can understand. Good programmers write code that humans can understand." (Fowler)
"A vida é um escândalo, e no final dá sempre errado. O que humaniza o homem é o fracasso."
http://davidbuzatto.com.br | GitHub | uHunt | CV Lattes | Last.fm |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 07/11/2009 13:02:29
|
davidbuzatto
Moderador
![[Avatar]](/images/avatar/7ba6d33c373fea56b7258003b16c68e5.jpg)
Membro desde: 07/08/2004 23:47:57
Mensagens: 4013
Localização: Vargem Grande do Sul - SP
Offline
|
Sergio Lopes wrote:sabe a diferenca entre o closure compiler e o yui compressor? o closure faz algo a mais? sera q eh mais eficiente?
e aquela biblioteca closure eh feinha hein hehehehe prefiro muito mais o jquery 
Oi de novo Sergio.
Decidir testar aqui o YUI compressor. Ao meu ver até agora o Closure Compiler é melhor quanto ao uso e a quantidade de opções para se passar para o compressor. O YUI tem pouquíssimas opções e até agora não achei uma forma de colocar vários arquivos em um. Tem que fazer arquivo por arquivo.
Uma vantagem do YUI compressor é que ele compacta css tbm.
Algumas discussões quanto a falta da funcionalidade de juntar arquivos:
http://yuilibrary.com/projects/yuicompressor/ticket/1872317
http://yuilibrary.com/forum/viewtopic.php?p=4633
Até agora ainda estou achando o Closure Compiler melhor. Vou comparar os arquivos gerados e já posto o que obtive.
[]'s
|
Seja educado. Agradeça quem te ajudou. Não custa nada.
Dúvidas de Java? Utilize o fórum! Não respondo via MP.
"Any fool can write code that a computer can understand. Good programmers write code that humans can understand." (Fowler)
"A vida é um escândalo, e no final dá sempre errado. O que humaniza o homem é o fracasso."
http://davidbuzatto.com.br | GitHub | uHunt | CV Lattes | Last.fm |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 07/11/2009 13:22:59
|
davidbuzatto
Moderador
![[Avatar]](/images/avatar/7ba6d33c373fea56b7258003b16c68e5.jpg)
Membro desde: 07/08/2004 23:47:57
Mensagens: 4013
Localização: Vargem Grande do Sul - SP
Offline
|
Pessoal, segue uma comparação bem simples entre o Closure Compiler e o YUI Compressor.
Arquivo usado para compressão: application.js
Tamanho: 84.296 bytes ~ 82,3 KB
Arquivo comprimido com YUI Compressor: application-min-yui.js
Tamanho: 33.966 bytes ~ 33,1 KB
Arquivo comprimido com Closure Compiler: application-min-closure-w.js
Modo de compressão: WHITESPACE_ONLY
Tamanho: 39.607 bytes ~ 38,6 KB
Arquivo comprimido com Closure Compiler: application-min-closure-so.js
Modo de compressão: SIMPLE_OPTIMIZATIONS
Tamanho: 33.318 bytes ~ 32,5 KB
Arquivo comprimido com Closure Compiler: application-min-closure-ao.js
Modo de compressão: ADVANCED_OPTIMIZATIONS
Tamanho: 24.821 bytes ~ 24,2 KB
Conclusões:
- O tamanho dos arquivos gerados quando comparado o YUI compressor com o Closure Compiler em modo SIMPLE_OPTIMIZATION não varia muito.
- O código ofuscado gerado é praticamente o mesmo.
- O Closure Compiler tem muito mais opções que o YUI compressor.
- O YUI compressor também otimiza código css.
Ainda fico com o Closure Compiler.
[]´s
|
Seja educado. Agradeça quem te ajudou. Não custa nada.
Dúvidas de Java? Utilize o fórum! Não respondo via MP.
"Any fool can write code that a computer can understand. Good programmers write code that humans can understand." (Fowler)
"A vida é um escândalo, e no final dá sempre errado. O que humaniza o homem é o fracasso."
http://davidbuzatto.com.br | GitHub | uHunt | CV Lattes | Last.fm |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 07/11/2009 14:06:40
|
victorcosta
JavaGuru
![[Avatar]](/images/avatar/42c88875bb90aeed57f01609fef5d9d7.png)
Membro desde: 07/01/2007 01:29:37
Mensagens: 220
Localização: Recife - PE
Offline
|
Tem que testar também o tamanho do arquivo depois do gzip, que faz uma diferença brutal
|
Meu blog com tutoriais de jQuery
http://www.victorcisneiros.com/blog/
Outros projetos
http://www.todolistr.com
http://www.bibliasocial.com
http://www.dota2feedback.com/
http://www.posjogo.com.br/ |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 07/11/2009 20:06:54
|
Sergio Lopes
Moderador
![[Avatar]](/images/avatar/8232e119d8f59aa83050a741631803a6.jpg)
Membro desde: 17/11/2003 00:22:10
Mensagens: 1368
Localização: São Paulo - SP
Offline
|
boa, david! valeu pelos testes
e victor, tem razao sobre o gzip. precisa ver se o otimizador usado melhora ou piora o trabalho do gzip
e eu tava lendo sobre o closure e uma opcao pareceu interessante: ele remover codigo nao chamado. q eu saiba o yui nao faz isso
|
Sérgio Lopes - twitter: @sergio_caelum - blog pessoal: sergiolopes.org
Curso Java | Apostilas Java | Arquitetura Java | Curso Rails |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 07/11/2009 23:35:25
|
davidbuzatto
Moderador
![[Avatar]](/images/avatar/7ba6d33c373fea56b7258003b16c68e5.jpg)
Membro desde: 07/08/2004 23:47:57
Mensagens: 4013
Localização: Vargem Grande do Sul - SP
Offline
|
Pessoal, falando em gzip, estou compactando o resultado do Closure Compiler, mas o navegador simplesmente não consegue ler o arquivo .gz.
Minha página tem simplesmente um <script type="text/javascript" src="${pageContext.request.contextPath}/javascript/application-min.js.gz"></script>
Como eu faria para funcionar? Ja procurei bastante e não achei uma solução que funcione. Na verdade consegui algo passando por um servlet primeiro (setando o content-encoding para gzip. Não tem uma forma mais simples?
[]´s
This message was edited 1 time. Last update was at 08/11/2009 00:01:35
|
Seja educado. Agradeça quem te ajudou. Não custa nada.
Dúvidas de Java? Utilize o fórum! Não respondo via MP.
"Any fool can write code that a computer can understand. Good programmers write code that humans can understand." (Fowler)
"A vida é um escândalo, e no final dá sempre errado. O que humaniza o homem é o fracasso."
http://davidbuzatto.com.br | GitHub | uHunt | CV Lattes | Last.fm |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 08/11/2009 00:00:04
|
victorcosta
JavaGuru
![[Avatar]](/images/avatar/42c88875bb90aeed57f01609fef5d9d7.png)
Membro desde: 07/01/2007 01:29:37
Mensagens: 220
Localização: Recife - PE
Offline
|
Na aplicação você deixa o arquivo .js normal, sem gzip O gzip você vai configurar no Apache, habilitando o mod_deflate e adicionando isso no httpd.conf Assim o Apache vai automaticamente gzipar os htmls, javascripts, css enviados, caso os browser suportem (praticamente todos, até o IE6) Pra conferir o tamanho final dos arquivos enviados você pode usar algo como o plugin Firebug/YSlow do firefox
This message was edited 1 time. Last update was at 08/11/2009 00:02:11
|
Meu blog com tutoriais de jQuery
http://www.victorcisneiros.com/blog/
Outros projetos
http://www.todolistr.com
http://www.bibliasocial.com
http://www.dota2feedback.com/
http://www.posjogo.com.br/ |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 08/11/2009 00:03:09
|
davidbuzatto
Moderador
![[Avatar]](/images/avatar/7ba6d33c373fea56b7258003b16c68e5.jpg)
Membro desde: 07/08/2004 23:47:57
Mensagens: 4013
Localização: Vargem Grande do Sul - SP
Offline
|
victorcosta wrote:Na aplicação você deixa o arquivo .js normal, sem gzip
O gzip você vai configurar no Apache, habilitando o mod_deflate e adicionando isso no httpd.conf
Assim o Apache vai automaticamente gzipar os htmls, javascripts, css enviados, caso os browser suportem (praticamente todos, até o IE6)
Pra conferir o tamanho final dos arquivos enviados você pode usar algo como o plugin YSlow do firefox
É que eu não uso o Apache e sim o Tomcat para desenvolvimento. A minha aplicação vai rodar no Glassfish em produção.
Consegui fazer algo passando por um servlet, mas não gostei de como ficou.. Acho que um filtro tbm pode resolver minha questão... Vou dar uma testada.
|
Seja educado. Agradeça quem te ajudou. Não custa nada.
Dúvidas de Java? Utilize o fórum! Não respondo via MP.
"Any fool can write code that a computer can understand. Good programmers write code that humans can understand." (Fowler)
"A vida é um escândalo, e no final dá sempre errado. O que humaniza o homem é o fracasso."
http://davidbuzatto.com.br | GitHub | uHunt | CV Lattes | Last.fm |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 08/11/2009 00:22:17
|
Sergio Lopes
Moderador
![[Avatar]](/images/avatar/8232e119d8f59aa83050a741631803a6.jpg)
Membro desde: 17/11/2003 00:22:10
Mensagens: 1368
Localização: São Paulo - SP
Offline
|
cada servidor tem uma configuracao especifica pra gzip (tomcat/jetty etc). acho melhor configurar isso no deploy que fazer vc mesmo
|
Sérgio Lopes - twitter: @sergio_caelum - blog pessoal: sergiolopes.org
Curso Java | Apostilas Java | Arquitetura Java | Curso Rails |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 08/11/2009 00:23:22
|
davidbuzatto
Moderador
![[Avatar]](/images/avatar/7ba6d33c373fea56b7258003b16c68e5.jpg)
Membro desde: 07/08/2004 23:47:57
Mensagens: 4013
Localização: Vargem Grande do Sul - SP
Offline
|
Sergio Lopes wrote:cada servidor tem uma configuracao especifica pra gzip (tomcat/jetty etc). acho melhor configurar isso no deploy que fazer vc mesmo
Pensei que não tinha como configurar no Tomcat. Como que eu poderia fazer isso Sergio?
|
Seja educado. Agradeça quem te ajudou. Não custa nada.
Dúvidas de Java? Utilize o fórum! Não respondo via MP.
"Any fool can write code that a computer can understand. Good programmers write code that humans can understand." (Fowler)
"A vida é um escândalo, e no final dá sempre errado. O que humaniza o homem é o fracasso."
http://davidbuzatto.com.br | GitHub | uHunt | CV Lattes | Last.fm |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 08/11/2009 00:28:58
|
Sergio Lopes
Moderador
![[Avatar]](/images/avatar/8232e119d8f59aa83050a741631803a6.jpg)
Membro desde: 17/11/2003 00:22:10
Mensagens: 1368
Localização: São Paulo - SP
Offline
|
http://tomcat.apache.org/tomcat-6.0-doc/config/http.html
|
Sérgio Lopes - twitter: @sergio_caelum - blog pessoal: sergiolopes.org
Curso Java | Apostilas Java | Arquitetura Java | Curso Rails |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 08/11/2009 00:40:32
|
davidbuzatto
Moderador
![[Avatar]](/images/avatar/7ba6d33c373fea56b7258003b16c68e5.jpg)
Membro desde: 07/08/2004 23:47:57
Mensagens: 4013
Localização: Vargem Grande do Sul - SP
Offline
|
Sergio Lopes wrote:http://tomcat.apache.org/tomcat-6.0-doc/config/http.html
Obrigado Sergio, já consegui configurar aqui
[]´s
|
Seja educado. Agradeça quem te ajudou. Não custa nada.
Dúvidas de Java? Utilize o fórum! Não respondo via MP.
"Any fool can write code that a computer can understand. Good programmers write code that humans can understand." (Fowler)
"A vida é um escândalo, e no final dá sempre errado. O que humaniza o homem é o fracasso."
http://davidbuzatto.com.br | GitHub | uHunt | CV Lattes | Last.fm |
|
|
 |
|
|