ASP.NET e web standards

Essa matéria não pretende mostrar, nem de longe, todos os problemas e suas soluções para o desenvolvimento com web standards no VS, mas aponta alguns caminhos e mostra que isso é possível. Quando você se deparar com casos mais complicados que os citados, por favor contribua e nos envie o problema ( e se possível a sloução, rs).

Por | @oficinadanet Programação
'Potência não é nada sem controle'!
Ouvi isso recentemente sobre a dificuldade em se trabalhar com ASP.Net seguindo web standards. Essa frase é o slogan de uma grande fabricante de pneus, mas tem tudo haver com o caso do Visual Studio e suas técnicas de 'faciltação' da vida do desenvolvedor. Porém, nesse caso preciso dar um crédito para a Microsoft e tentar mostrar que, de certa forma, as dificuldades encontradas nessa tarefa são minimizadas caso a ferramenta seja bem estudada.

Como todas as ferramentas Microsoft, o VS (Visual Studio) também foi desenvolvido para pessoas que não precisam necessariamente saber o que está fazendo! Ou seja, caso você saiba construir uma tabela no banco de dados e queira fazer uma interface web para manipular registros, o VS vai tornar isso possível.

Porém, se você deseja realizar tarefas mais avançadas, resolver problemas mais específicos ou trabalhar de uma maneira menos amadora, o VS deve ser bem estudado e ter seus recursos bem utilizados para que, em certo momento do desenvolvimento, os problemas surgidos sejam controlados por você e não pelos diversos recursos 'arrastar e soltar'. Isso inclui a possibilidade de desenvolver seguindo web standards.

Os componentes são os principais vilões neste momento, pois teimam em criar divs, spans e atributos em algumas tags, sujando o código e muitas vezes invalidando do XHTML. Então seguem algumas dicas para evitar a criação de tabelas, alguns atributos inúteis e, principalmente, tornar-se responsável pelos problemas que poderão surgir (ou seja, se você é o responsável você pode consertar!)

1° - O mais básico de tudo: só utilize o componente Label para ser realmente um Label de um input/select/textarea! E para associá-lo utilize a propriedade 'AssociatedControlId', caso contrário será utilizada uma tag span inútil.

2° - Caso queira controlar um campo de texto não use o label! (talvez você já não use, mas já vi muitos programadores oriundos do Vb.Net utilizá-lo) Utilize o componente 'Literal', que não cria nenhuma tag, apenas escreve o texto/código.

3° - Não utilize as propriedades de estilos para formatação. Apenas associe os componentes às classes CSS através da propriedade ClassName. Isso evita a criação dos atributos diretamente nas tags para formatá-los.

4° - Não utilize Auto Formats em nenhum componente, eles sempre sujam o código e também criam atributos diretamente em tags.

5° - Não utilize componentes 'super prontos' iguais aos do sistema de login, FormView, Menu, etc... eles vão criar tabelas que vão ser difíceis ou impossíveis de serem removidas.

6° - Ao colocar radios ou checkboxs, prefira colocá-los um a um ao invés dos grupos, mas caso isso seja necessário, ao colocá-los altere a propriedade RepeadtLayout para o valor Flow (o padrão é Table, o que faz gerar uma tabela para formatá-lo), mesmo assim o VS irá gerar alguns spans, mas pelo menos não invalida o código com tabelas inúteis. Quando colocá-los um a um lembre-se de utilizar a propriedade GoupName para os checkboxs pertencerem ao menos grupo.

7° - Alguns componentes, como a GridView, apresentam poucos problemas do ponto de vista do desenvolvimento em web standards, mas apresentam outros mais difíceis de se lidar do ponto de vista do controle sobre suas limitações. Ou seja, nesse caso há prós e contras em que apenas cada caso irá dizer se é válida a utilização do caminho mais prático do que fazê-lo a moda antiga.

8° - Os componentes de validação de formulários são muito bons, mas tome cuidado com os detalhes. No ValidationSummary e na maioria dos validadores, apague qualquer valor que estiver na propriedade ForeColor, pois essa propriedade cria o atributo style diretamente na tag div. Utilize então o ClassName, como sugerido mais acima. (obs.: Ainda não conseguir evitar que o RequiredFieldValidator crie o atributo style com o valor 'dispay:none', caso consiga ficaria grato com sua colaboração)

9° - E, para finalizar, leia o artigo Aplique padrões da Web para melhorar a acessibilidade e Building ASP.NET 2.0 Web Sites Using Web Standards, do MSDN, esses dois textos mostram que o VS também se preocupa com web standards e, apesar de não facilitar pelo menos não impossibilita seu desenvolvimento.

A questão que pode estar passando agora em sua cabeça é: se eu tenho tanto trabalho com o VS para desenvolver meu projeto com web standards, qual seria a vantagem em utilizar .NET já que a sua principal vantagem é a produtividade? Por quer pagar por uma licença cara para sub-utilizar uma ferramenta já que os componentes não me serão úteis?
Bem, o VS lhe oferece muitos outros recursos avançados, como o sistema de DataSources, o IntelliSense, o controle total da aplicação em uma única IDE, o sistema de trabalho em grupo e uma série bibliotecas que facilitam a programação (falo pelo VB.NET, pois não conheço as demais). Não é um simples facilitador de arrastar e soltar, é muito mais completa que isso.

Essa matéria não pretendeu mostrar, nem de longe, todos os problemas e suas soluções para o desenvolvimento com o VS, mas apontou alguns caminhos e mostrou que isso é possível. Quando você se deparar com casos mais complicados que os citados acima, por favor contribua e nos envie o problema ( e se possível a sloução, rs).

Mais sobre: .net web standards asp.net
Share Tweet
Comentários
Carregar comentários
Destaquesver tudo
  • ASSINE NOSSA NEWSLETTER

    As melhores publicações no
    seu e-mail

  • Preencha para confirmar