logo
  • Home
  • Acerca
  • Autores
  • Faq
  • Rede
  Twitter   Feed-me! RSS!
Nov 9

Conhecendo o LESS. The Dynamic Stylesheet.

Escrito por DClick Team em 1, 2.0, 4, 6, Adobe, Air, app, apple, AR, back, BI, browser, C#, class, classe, classes, código, css, css3, Curso, Cursos, custom, dados, demo, Desenvolvedor, Desenvolvimento, Desenvolvimento Web, Design, Destaque, Dica, Diversos, Documentação, dynamic, empresas, err, erro, error, Estilo, exemplo, Exemplos, for, function, gc, Google, html, html5, ide, IE, if, int, Java, Javascript, kit, layout, menu, Microsoft, MIX, NaN, O, on, Opinião, Outros, padrão, problema, problemas, programação, prova, pt, referencia, RIA, Ria’s Geral, RoR, S+S, Sem categoria, site, tag, TAT, Twitter, UI, uint, Utilidades, Ved, web, zend @ 11 9th, 2011 | via http://blog.dclick.com.br/pt/ | Sem comentários
DClick Team
? X
  • Bookmarks

Blinkbits BlinkLists BlogLines Blogmarks Buddymarks CiteULike Co.mments Del.icio.us Digg Diigo

Fark Feed Me Links Furl Google Linkagogo ma.gnolia Mister Wong Newsvine Propeller Rawsugar

Reddit Rojo Simpy Sphinn Spurl Squidoo StumbleUpon Tailrank Technorati Yahoo

More »

Twitter!

Como todos devem ter percebido, nos últimos meses o CSS3 e o HTML5 tem ganho um grande destaque no desenvolvimento web. Grandes empresas como o Google, Microsoft, Adobe e Apple estão apoiando fortemente o desenvolvimento web utilizando WebStandards. Caso você já conheça algo sobre CSS, provavelmente deve saber como é complicado a organização desses documentos em um projeto de médio ou grande porte. Dado esses problemas conhecidos, foram surgindo os chamados pré-processadores de CSS, que viabilizam a criação de documentos de estilo, adicionando novas funcionalidades.

Hoje vamos conhecer o LESS, The Dynamic Stylesheet Language. O objetivo dessa biblioteca em javascript é prover uma série de funcionalidades para as, usualmente criadas a mão, folhas de estilos. Recursos tais como, variáveis, mixins (Multiple Inheritance, Traits), mixins parametrizáveis, funções, namespaces, importação, etc. Vamos aprender como utilizar os principais recursos dessa biblioteca em um projeto e como aproveitar o melhor dessa biblioteca para organizar corretamente nossas folhas de estilo.

Variables

As variáveis ajudam-nos a definir valores que podem ser utilizados em diversas regras do nosso CSS. Elas possuem escopo assim como em uma linguagem de programação orientada a objetos, trocando em miúdos:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
// Arquivo stylesheet.less
// Essa variável foi definida no escopo do arquivo, logo, todas as regras do arquivo podem acessar seu valor.
@siteBackgroundColor: #FF3300; // Laranja

h1
// A variável headingColor foi criada no escopo da regra h1, logo, apenas ela e outras regras criadas dentro
// do mesmo escopo tem acesso ao seu valor.
@headingColor: #333333; // Cinza

// Isto significa que, se criarmos uma outra regra chamada &.mainTitle
// Observe o uso do &.classe, isso copia a regra pai e associa uma classe, o output disso seria exatamente h1.mainTitle
&.mainTitle
// Como essa regra esta contida na regra h1, podemos acessar o valor da variável headingColor.
color: @headingColor;

}

h2
// Se tentarmos acessar o valor nessa regra, que não encontra-se contida na regra h1, receberemos um erro da biblioteca
// informando que a variável headingColor não encontra-se definida.
color: @headingColor; // Brrrrrr! Error.

O que é interessante no uso de variáveis é a reutilização e organização. Imagine uma design guideline onde existem RGBs específicos a serem seguidos, essas cores poderiam ser definidas em um documento chamado color_variables.less e adicionados ao nosso arquivo principal utilizando a clausula @import.

@Import – Importando outros arquivos

Quando um arquivo LESS é importado, todas as suas variáveis e mixins são adicionados ao arquivo principal. Os escopos serão mantidos e a extensão .less é opcional.

@import “lib.less”
@import “lib”

É possível utilizar pastas nas clausulas de @import:

@import “where/is/my/stylesheet.less”
@import “where/is/my/stylesheet”

Mixins

No LESS, mixis são como uma espécie de classe CSS que pode ser reutilizada em diversas outras regras. Quando utilizadas, todas as propriedades definidas no mixin são adicionadas a regra onde a mesma foi adicionada, caso um mixin mude, todas as regras que o referenciam serão também modificadas.

Imagine o conceito de mixin como classes CSS orientadas a objeto, o que é interessante do mixin é que temos aqui algo como uma herança múltipla, caso uma mesma instrução seja declarada em mixins diferentes, e esses mixins adicionados a uma regra, o mixin declarado por último terá vantagem na construção final do CSS da regra onde foi adicionado.

1
2
3
4
5
6
7
8
9
10
11
12
.bordered
border-top: dotted 1px black;
border-bottom: solid 2px black;

// Declaramos agora uma regra qualquer que fará uso do nosso mixin.
div.someDiv
.bordered; // Simples assim, adicionamos todas as propriedades contidas no mixin em nossa regra.

div.anotherDiv
.bordered; // A mesmas propriedades serão adicionadas nessa regra.

Quando modificarmos o mixin .bordered, todos os elementos que o estão utilizando serão modificados. Reutilização!
Vamos para um exemplo mais usável para exemplificar como é um mixin parametrizável.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
// Bordas arredondadas cross-browser.
// Observe que utilizamos algo parecido com uma função de javascript para declararmos nosso mixin.
// A notação de variável deve ser adicionada (@radius), com isso, criamos uma variável chamada “radius” no escopo
// do mixin que poderá ser utilizada apenas internamente pelo método.
// Observe também que declaramos um valor padrão para o parâmetro, de 5px.
.border-radius( @radius: 5px )

// Repare que utilizamos a mesma variável para todas as regras.
border-radius: @radius;
-moz-border-radius: @radius;
-webkit-border-radius: @radius;

// Para utilizarmos a regra, seguimos o mesmo padrão
div.someDiv
.border-radius; // Nesse caso estaremos utilizando o valor padrão de 5px.

div.anotherDiv
.border-radius(10px); // Nessa aplicação, modificamos o valor da propriedade para 10px.

É importante destacar que um mixin pode conter diversos parâmetros. Isso pode ser feito da seguinte forma:

1
2
3
4
5
6
// Declaramos um novo mixin
.border-radius-and-color( @radius: 5px, @borderColor: #000000 )

.border-radius( @radius ); // Observe que aqui reutilizei o mixin previamente definido. Composição de mixins.
border: 2px solid @borderColor; // Adicionamos agora a cor para a borda.

Nested Rules

Com o LESS você pode criar suas regras de CSS utilizando uma espécie de hierarquia. Vamos ver como isso funciona na prática.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
// Dado o CSS abaixo
div#header #menu
…
rules

div#header #menu li a
…
more rules

div#header #topNav
…
another rules

Com o LESS, o mesmo CSS acima poderia ser escrito da seguinte forma:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
// Como utilizar hierarquia com Less
div#header
#menu
ul
li


}
}

#topNav


}

Depois de processado, o CSS será exatamente igual. Você não precisa utilizar esse esquema de hierarquia caso não queira, é importante lembrar que o LESS é apenas uma extensão do CSS, se for de desejo do desenvolvedor, podemos escrever um código LESS sem usar nenhum recurso especial, como se fosse um CSS tradicional.

Operations

Com o LESS o seu CSS sabe fazer contas. Qualquer número, cor ou variável pode ser utilizada em uma operação aritmética.
Ele sabe identificar quando estamos utilizando uma cor ou um número, por exemplo:

1
2
3
4
5
6
7
@base: 5%;
@filler: @base * 2;
@other: @base + @filler;

color: #888 / 4;
background-color: @base-color + #111;
height: 100% / 2 + @filler;

Assim como no javascript, é possível também utilizar parênteses nas suas operações:

1
width: (@var + 5) * 2;

Color Functions

Na minha opinião um dos recursos mais úteis durante o desenvolvimento de uma aplicação. Podemos efetuar operações em cima de RGBs, por exemplo, imagine que o layout do seu website foi criado baseado-se em apenas uma cor, utilizando diversos tons dessa cor. Com o LESS é possível utilizar métodos pré-definidos como lighten, saturate, darken, fadein, fadeout e spin. Esses métodos retornam sempre um RGB que pode ser utilizado em seu LESS. Vejamos alguns exemplos:

1
2
3
4
5
6
7
8
9
@base: #f04615;

.class
// Saturo em 5% a cor base.
color: saturate(@base, 5%);

// Utilizo a cor base 25% mais clara
background-color: lighten(@base, 25%);

É possível também extrair informações de uma determinada cor para ser utilizada em outra.
Isso é feito a partir dos métodos hue, saturation e lightness.

1
2
3
hue(@color); // retorna o valor do canal ‘hue’ da cor @color
saturation(@color); // retorna o valor do canal ‘saturation’ da cor @color
lightness(@color); // retorna o valor do canal ‘lightness’ da cor @color

Namespaces

Em dado momento necessitamos organizar uma série de mixins e variáveis. Para isto podemos utilizar um conceito presente no LESS chamado Namespaces. Assim como em linguagens de programação orientadas a objetos, que possuem o conceito de pacotes, os namespaces fornecem encapsulação para nossas folhas de estilo. Isso pode ser implementado facilmente utilizando a mesma notação de ID do CSS tradicional. Vejamos.

1
2
3
4
5
6
7
8
9
10
11
12
#bundle

.button ()

display: block;
border: 1px solid black;
background-color: grey;
&:hover background-color: white
}
.tab …
.citation …
}

Verifique que acima, criamos um mixin chamado button dentro do namespace bundle. Para o utilizarmos devemos fazer da seguinte forma:

1
2
3
4
#header a
color: orange;
#bundle > .button; // Estamos acessando o namespace ‘bundle’ e fazendo uma chamada para o mixin ‘button’.

Uma utilização muito comum dos namespaces é na criação de pequenas bibliotecas de utilidades. Imagine que sua empresa pode possuir uma série de arquivos LESS, e em um determinado projeto você necessita de acesso a esses mixins, variáveis, etc. Organizar seus documentos com namespaces fácilita a visualização e localização de uma determinada instrução no seu documento LESS, como por exemplo, um mixin customizado que pode ser facilmente encontrado a partir da sua indicação de namespace.

1
2
3
someRule
#dclick > .border-radius(10px);

Conclusão

Como podemos ver, o LESS facilita uma série de tarefas que são praticamente impossíveis de serem efetuadas pelo CSS tradicional.
Aconselho a todos que tenham interesse em se aprofundar mais na biblioteca a conhecer o website (http://lesscss.org/). Lá você poderá encontrar a documentação com maior riqueza de informações também poderá ver alguns exemplos de código que não foram abordados nesse post.

Qualquer dúvida, sinta-se a vontade e envie-nos um comentário!
Abraço!

Mar 11

Preview dos exemplos da palestra FXG no Café com Tom

Escrito por Ved em 1, 4, AR, Design, Flex, Flex4, for, IE, if, layout, O, on, Palestra, Review, Ria’s Geral, Treina Tom, UI, Utilidades, UX @ 03 11th, 2011 | via http://www.vedovelli.com.br | Sem comentários
Ved
? X
  • Bookmarks

Blinkbits BlinkLists BlogLines Blogmarks Buddymarks CiteULike Co.mments Del.icio.us Digg Diigo

Fark Feed Me Links Furl Google Linkagogo ma.gnolia Mister Wong Newsvine Propeller Rawsugar

Reddit Rojo Simpy Sphinn Spurl Squidoo StumbleUpon Tailrank Technorati Yahoo

More »

Amanhã ministrarei uma palestra no Treina Tom e aqui mostro o preview do que foi preparado para exemplificar seu uso. Mais informações: Título: FXG: Leveza no design para aplicações Flex Onde: www.treinatom.com.br. Basta acessar a URL e se inscrever gratuitamente, na hora. Quando: 12/03/2011 sábado as 14h (horário de Brasília) Porque: aprender coisa nova e ver [...]

Set 2

Desenvolvendo games para Nintendo Wii com Adobe Flash

Escrito por Leonardo França em 1, 2.0, 4, 6, Access, action, Actionscript, ActionScript 3, Actionscript 3.0, Adobe, api, Aplicativos, app, AR, arte, back, bar, BI, blog, Blogs, Botões, browser, class, código, control, demo, Design, Documentação, event, Evento, Eventos, exemplo, flash, flash lite, Flash Player, FullScreen, game, html, ide, IE, if, image, int, internet, Java, Javascript, jogo, lite, live, mg, O, on, Outros, PHP, player, produto, pt, RIA, Ria’s Geral, screen, site, Teste, UI, uint, Utilidades, Ved, wave, wii @ 09 2nd, 2010 | via http://www.leonardofranca.com.br | Sem comentários
Leonardo França
? X
  • Bookmarks

Blinkbits BlinkLists BlogLines Blogmarks Buddymarks CiteULike Co.mments Del.icio.us Digg Diigo

Fark Feed Me Links Furl Google Linkagogo ma.gnolia Mister Wong Newsvine Propeller Rawsugar

Reddit Rojo Simpy Sphinn Spurl Squidoo StumbleUpon Tailrank Technorati Yahoo

More »



O Nintendo Wii é um dos consoles mais populares da atualidade, com seu controle até então inovador para época de seu lançamento, se tornou um video game “para família” e para varias utilidades. Hoje o Nintendo Wii é usado em varias partes do mundo não somente para diversão, mas também em aréas como fisioterapia para recuperação de pacientes :D

Hoje o Nintendo Wii é usado em varias partes do mundo não somente para diversão, mas também em aréas como fisioterapia para recuperação de pacientes :D

Bom, sabemos que é possivel desenvolver em Flash para o Nintendo Wii, mas precisamos observar alguns detalhes primeiro. Vejamos a especificação do Flash Player para o Nintendo Wii que consta no Adobe Device Central CS5.

Especificação Flash Player no Nintendo Wii

Note que teremos que trabalhar com o Flash Player 7, mas no site da Nintendo consta que pode ser atualizado para o Flash Player 8, e o aplicativo rodará pelo browser do Wii, seu browser é uma versão do Opera feita exclusivamente para o Wii.
Wikipedia diz que o Flash Player foi atualizado para o Adobe Flash Lite 3.1, que corresponde ao Flash Player 8 com algumas features do Flash Player 9. Mas eu criei um arquivo Flash Player 9 com ActionScript 2.0 e funcionou, criei um arquivo Flash Player 9 com ActionScript 3.0 e não funcionou, criei um Flash Lite 3.1 e funcionou. Fiquei com Flash Player 9 e ActionScript 2.0 para meus testes.(System.capabilities.version mostra AFL 9,1,122,0)

Vamos fazer um primeiro exemplo para ver como fica o funcionamento do Flash Player com o Wii Remote.

  • Crie um novo arquivo do tipo ActionScript 2.0 e logo em seguida, coloque o filme para compilar no Flash Player 8 ou 9. Ou pode fazer isso diretamente pelo Adobe Device Central CS5, que deixa tudo configurado para você, inclusive com o tamanho ideial para rodar no navegador do Wii.
  • O objetivo desse exemplo é avaliar o funcionamento dos botões do Wii Remote, criaremos um simbolo do tipo MovieClip.
  • Insira o seguinte código no MovieClip para que nosso simbolo possa ser arrastado pelo Wii Remote:
    PLAIN TEXT
    ACTIONSCRIPT:

    1. onClipEvent(mouseDown)
    2. {
    3.     this.startDrag();
    4. }
    5. onClipEvent(mouseUp)
    6. {
    7.     this.stopDrag();
    8. }

Pelo que pude perceber, somente nos eventos de mouse que podemos utilizar no Nintendo Wii, não foi possivél usar os outros botões e o direcional pad.
Você pode testar o exemplo abrindo a seguinte URL no navegador do Wii http://www.leonardofranca.com.br/wii ou veja no video abaixo.

Apesar da limitação de só usar eventos do mouse, dá pra fazer aplicativos bem interessantes em Flash para Nintendo Wii. Deixo um link com alguns games para Nintendo Wii feitos em Flash. :D
http://www.eiksoft.com/wii/index.htm

Para saber mais:
Documentação ActionScript 2.0

Aproveite e compre seu Nintendo Wii :D
Nintendo Wii com Jogo Wii Sports

Ago 30

Usando Acelerômetro no Flash Lite com Nokia Platform Services

Escrito por Leonardo França em 1, 2.0, 4, 6, action, Actionscript, Adobe, Air, api, Aplicativos, app, AR, arte, auto, back, bar, BI, busca, camp, class, classe, classes, código, cs4, Curso, developer, Download, err, erro, error, event, exemplo, flash, flash lite, Flash Player, fonte, for, FullScreen, function, game, html, ide, IE, if, image, int, Java, Javascript, library, lite, Mac, map, mg, mobile, movimento, O, on, PHP, platform, player, procura, produto, programação, pt, RIA, Ria’s Geral, RoR, screen, SmartPhone, string, tag, TAT, Tech, Tema, Touch, UI, Utilidades, window, windows, XP @ 08 30th, 2010 | via http://www.leonardofranca.com.br | Sem comentários
Leonardo França
? X
  • Bookmarks

Blinkbits BlinkLists BlogLines Blogmarks Buddymarks CiteULike Co.mments Del.icio.us Digg Diigo

Fark Feed Me Links Furl Google Linkagogo ma.gnolia Mister Wong Newsvine Propeller Rawsugar

Reddit Rojo Simpy Sphinn Spurl Squidoo StumbleUpon Tailrank Technorati Yahoo

More »



Acelerômetro é um sensor de movimento, sendo um dispositivo responsável por medir as posições relativas nos eixos x, y e z, ou seja, calcular a aceleração do objeto. Hoje em dia é usado para as mais variadas utilidades como por exemplo: air bags, medição de vibrações, medições de inclinação, smartphones, video games etc.

O Acelerômetro é usado hoje em dia é usado para as mais variadas utilidades como por exemplo: air bags, medição de vibrações, medições de inclinação, smartphones, video games etc.

O Flash Player 10.1(só para mobile) e o Flash Lite 4.0 possuem acesso ao acelerômetro do dispositivo. Estou ancioso para colocar as mãos em um Nokia N8 para testar as novas funcionalidades do Flash Lite 4.0, mas esta dificil. Enquanto isso, vamos desenvolvendo com Flash Lite 3.0 e 3.1.
A Nokia criou uma biblioteca especialmente para trabalhar em conjunto com o Flash Lite dando acesso a recurso que nativamente não são possivéis como acesso ao acelerômetro, GPS, agenda de contatos etc.

A Nokia criou uma biblioteca especialmente para trabalhar em conjunto com o Flash Lite dando acesso a recurso que nativamente não são possivéis como acesso ao acelerômetro, GPS, agenda de contatos etc.

Vou mostrar um exemplo simples do uso do acelerômetro com Flash Lite 3.0 e Nokia Platform Services.
Baixe a biblioteca da Nokia e em seguida salve no diretorio de acordo com seu sistema operacional:

O Nokia Platform Services só funciona em dispositivos com o Symbian S60 5th.

  • No Mac – Copie para /Users//Library/Application/Support/Adobe/Flash CS5/en/Configuration/Classes/
  • No Windows Vista – Extraia para /Users//AppData/Local/Adobe/Flash CS4/en/Configuration/Classes.
  • No Windows XP – Extraia para //Local Settings/Application Data/Adobe/Flash CS5/en/Configuration/Classes/

Começaremos nosso primeiro exemplo:

  • Crie um arquivo do tipo ActionScript 2.0 e peça para compilar para o Flash Lite 3.0 ou 3.1. Ou pode criar diretamente pelo Adobe Device Central CS5.
  • Crie um simbolo do tipo MovieClip e dê o nome de instância de “ball_mc”.
  • Crie três campos de textos do tipo dinâmicos, neles serão mostradas as posições x, y e z.
  • Devemos ter o stage parecido com isto:

    Stage para testar Acelerômetro

Feito isto, vamos a parte de programação agora:
Começaremos configurando o stage para não modificar o tamanho do aplicativo caso a janela sejá redimensionada. O “DisableKeypadCompatibilityMode” serve para usar em smartphones com telas touchscreen, se não for usado, o smartphone automaticamente adicionar as teclas virtuais referente a um smartphone não-touchscreen.

PLAIN TEXT
ACTIONSCRIPT:

  1. Stage.scaleMode = "noScale";
  2. Stage.align = "LT";
  3.  
  4. fscommand2("DisableKeypadCompatibilityMode");
  5. fscommand2("FullScreen", "true");

Agora vamos importar as classes feitas pela Nokia e utilizar a classe Device e desabilitar a autorotação do aplicativo.

PLAIN TEXT
ACTIONSCRIPT:

  1. import com.nokia.lib.Service;
  2. import com.nokia.lib.Device;
  3.  
  4. var deviceObject:Object = new Device();
  5. deviceObject.DisableAutoRotation(true);

Utilizaremos a classe Service passando o paramentro Sensor e em seguida passando como criterio de busca as coordenadas do acelerômetro.

PLAIN TEXT
ACTIONSCRIPT:

  1. var sensors = new Service("Service.Sensor", "ISensor");
  2. var inParam = {SearchCriterion:"AccelerometerAxis"};
  3. var outParams = sensors.FindSensorChannel(inParam);

Será retornado uma serie de valores que usaremos para “avisar” o smartphone que nosso aplicativo será atualizado a cada mudança de valor das coordenadas do acelerômetro através de um método callback.

PLAIN TEXT
ACTIONSCRIPT:

  1. var channelInfo = outParams.ReturnValue;
  2. var channelId = channelInfo[0].ChannelId;
  3. var contextType = channelInfo[0].ContextType;
  4. var quantity = channelInfo[0].Quantity;
  5. var channelType = channelInfo[0].ChannelType;
  6. var location = channelInfo[0].Location;
  7. var vendorId = channelInfo[0].VendorId;
  8. var dataItemSize = channelInfo[0].DataItemSize;
  9. var channelDataTypeId = channelInfo[0].ChannelDataTypeId;
  10. var channelParams = {ChannelId:channelId, ContextType:contextType, Quantity:quantity, ChannelType:channelType, Location:location, VendorId:vendorId, DataItemSize:dataItemSize, ChannelDataTypeId:channelDataTypeId};
  11.  
  12. var inParams = {ListeningType:"ChannelData", ChannelInfoMap:channelParams};
  13. sensors.RegisterForNotification(inParams, callBack);
  14. function callBack(transactionID:String, eventID:String, outParam:Object)
  15. {
  16.     if (outParam.ErrorCode == 0)
  17.     {
  18.         var channelData = outParam.ReturnValue;
  19.         txtX.text = channelData.XAxisData;
  20.         txtY.text = channelData.YAxisData;
  21.         txtZ.text = channelData.ZAxisData;
  22.        
  23.         xSpeed -= channelData.XAxisData/NOISE;
  24.         ySpeed += channelData.YAxisData/NOISE;
  25.     }
  26. }

Depois basta atualizar as coordenadas x e y com os valores xSpeed e ySpeed em nosso MovieClip. Disponibilizei no fonte um código para delimitar até onde o MovieClip pode andar, ou seja, somente na area do nosso aplicativo.
DOWNLOAD SOURCE

Para saber mais:
http://www.forum.nokia.com/Develop/Other_Technologies/Flash_lite/
http://library.forum.nokia.com/index.jsp?topic=/Flash_Lite_Developers_Library/GUID-46EABDC1-37CB-412A-ACAD-1A1A9466BB68.html

Se você esta procurando um livre sobre Flash Lite, recomendo Flash Lite 2: Crie Aplicativos e Games para Celulares do meu amigo Fabricio Manzi, creio que seja o único em português que temos ;)

Mai 3

Eclipse Plugin para identificar assets não usados

Escrito por João Augusto em 1, 4, 6, action, Actionscript, AR, AUG, auto, blog, bug, busca, class, css, Eclipse, Flex, fonte, for, git, html, ide, IE, if, image, imagens, Java, layout, mg, MXML, O, on, Plugin, procura, produto, pt, RIA, Ria’s Geral, screen, site, UI, update, Utilidades, window, XML, zend @ 05 3rd, 2010 | via http://blog.joaoaugusto.com.br | Sem comentários
João Augusto
? X
  • Bookmarks

Blinkbits BlinkLists BlogLines Blogmarks Buddymarks CiteULike Co.mments Del.icio.us Digg Diigo

Fark Feed Me Links Furl Google Linkagogo ma.gnolia Mister Wong Newsvine Propeller Rawsugar

Reddit Rojo Simpy Sphinn Spurl Squidoo StumbleUpon Tailrank Technorati Yahoo

More »

Aqui na Informant utilizamos várias imagens para desenvolver um produto em Flex e à medida que vamos fazendo alterações de layout acabamos por deixar de usar algumas até mesmo sem saber. Isso faz com que nosso projeto no Eclipse fique poluído e deixa o tamanho do nosso EAR maior.
Para que nós não precisássemos procurar se a imagem estava sendo usada, uma por uma, criei um plugin para o Eclipse que faz isso. É o Assets Analyzer:

Features:

  • Busca referências a arquivos de assets dentro dos fontes Java, Mxml, ActionScript e Css e mostra os que não estão sendo usados

To-dos:

  • Implementar método para cancelar operação
  • Fazer com que já abra a busca de diretórios dentro da workspace
  • Opção para excluir automaticamente as imagens identificadas como não usadas
  • Criar um update site para o plugin
  • Implementar busca para .html e  .js
  • Melhorar layout

Bugs:

  • Se um arquivo de imagem é usado dentro de um .properties (I18N) o procura não considera e informa que ele não está sendo usado

Screenshot:

plugin

Para utilizar o pluign basta jogá-lo na pasta eclipse/plugins, reiniciar o Eclipse e ir em Window > Show View e digitar Assets Analyzer.

Até mais!

|

ACERCA

O que é o RedeRIA ?

O redeRIA não é nada mais que um agregador de feed's que disponibiliza o conteudo de varios blogs e autores ao redor do mundo RIA, actualmente agregamos mais de 2795 entradas vindas de 53 blogs especializados em ria’s, pelo que só fica a ganhar em assinar o feed ou seguir a comunidade no twitter.

Se acha que o seu blog ou um blog de um amigo é interessante e util para os leitores o redeRIA, faça a sua submissão aqui.

Feed: assine já
Twitter: siga-nos

GOOGLE

Votação


Deveria o RedeRia agregar conteúdo em inglês?
Ver Resultados

AUTORES


Eduardo KrausAlexandre TadashiBindableCognitiva SoluçõesDaniel LopesDaniel SchmitzDanielPedrinhaDClick TeamEbercomEdgard DavidsonElvis FernandesErko BrideeFabiel PrestesFábio Batista da SilvaFabio da SilvaFabriccio BernardesFelipe BorellaFlavia MoreiraGabriel VersalliniGabriela T. PerryIgor MusardoJanderson CardosoJoão AugustoJose Carlos FielKelps SousaLeonardo FrançaLucas MarçalLuis MessiasLuiz TarabalMario JuniorMário SantosMauro MartinsPablo SouzaPedro ClaudioreneRia BrazilriaPTRicardo CerqueiraRobson FernandesRodrigo Pereira FragaSaintBrSamuelFacchinelloSergio SouzaSilva DeveloperStefan HorochovecTech CaffeTecinforThiago BuenoVedVinícius SandimWillian ManoXAML Cast

PUBLICIDADE








Powered by Wordpress & msdevstudio.com