Quanto javascript é javascript demais?

5 respostas
louds

No sistema que estou trabalhando atualmente a quantidade de javascript escrito aumenta mais que a de java e da forma que tá indo logo logo vai ser maioria.

Tou começando ficar com a sensação de que o sistema tá virando uma bomba-relogio sendo armada. Em que ponto o uso do javascript se torna mais nocivo que vantajoso?

Alguêm aqui já trabalhou em um sistema com toneladas de js tem alguma dica de como tornar o crecimento do repositorio sustentavel?

5 Respostas

Rafael_Steil

Mas ele eh realmente necessario nos lugars onde esta sendo usado? pq, se for, tmb nao ha muita opcao, nao?!
O maior problema que geralmente acontece eh ter uma quantidade tao absurda de functions que uma hora voce acaba duplicado elas por pensar que nao existe, ou entao algumas ficam jogadas no meio da pagina ( e nao em arquivos .js )…

Ja tentou ver se da para refatorar algumas functions?

Rafael

fenrir

Eu particularmente acho que o Javascript passa a ser excessivo quando, sem ele, a página não funciona! 8)

Para adicionar facilidades, é saudável. Mas quando passa a dar pepino se está usando o IE ou o Mozilla…aí complica!

Mas também há vezes em que ele é imprescindível, infelizmente.

cv1

3 coisas que vc tem que ter em mente quando usa JavaScript client-side:

  • Padrões
  • Padrões
  • Padrões

Hmmm… acho que tem mais uma: padrões. Se vc programar seguindo os padrões e não abusando de nenhuma feature que possa estar mal implementada nos browsers atuais (por exemplo, DOM2), a coisa funciona que eh uma maravilha. Mas a partir do momento em que vc faz um “if(Mozilla) else if(IExplorer)”, fodeu tudo.

Outra dica muuuuuito importante: JavaScript é orientado a objetos. Use isso sempre que possível, e pegue leve nos métodos anônimos e na falta de tipagem. Pra um programador Java, isso até que é fácil de fazer… basta seguir as mesmas convenções normais de programação que vc está acostumado a ter em Java: métodos curtos, com nomes inteligíveis, nomes de variáveis decentes, etc e tal.

Procure não usar:

document.nomeDoForm.nomeDoControle.value

E sim:

document.getElementById("nomeDoComponente")

…isso te força a dar id’s unicos pra tudo - além de ficar mais fácil trabalhar no CSS depois, caso vc refatore a página e mova o elemento pra outro form, ou troque o nome dele por causa de alguma mudança no server-side, não estoura com o teu script :wink:

No mais, dah uma lida no codigo dos caras da WebFX - http://webfx.eae.net …mestres :wink: :smiley:

black_fire

Creio que o JS fica muito amarrado no IE. A maioria das coisas não funciona direito no Mozilla, netscape e outros, a pagina www.webmotors.com.br é um exemplo.
As facilidades tbm são relativas, mas a página fica muito menos dinâmica.

Onde trabalho tem um sistema do banco ABN em :snipersmile: asp, que tem mais JS que ASP. O controle é todo feito com JS, tanto que a pagina só funciona no IE5.5+.
:arrow: Isso é uma puta desvantagem.

Comprei o livro JS a Biblia, acho que no mínimo 40% das funcões são invompativeis com o outro browser que não seja o IE, e geralmente as coisas mais legais.

Quando você tem que fazer um pagina para a Intranet vc tem controle do browser, mas na internet tudo fica mais dificil… :cry:

Acho que em algumas vezes é melhor usar um Aplet, do que usar JS. Seria por exemplo o casos de combos dinâmicos…

Um abraço galera…

louds

O código todo só difere entre IE e mozilla quando vou usar 1 componente ActiveX, e faço shielding suficiente para o resto todo do código isso ser transparente.

Usar somente DOM é obrigatorio se vc quer que fique portavel, trabalho sempre com o DOM HTML level 1 sempre aberto para não cometer deslizes.

Quanto a usar OO, isso acabou acontecendo naturalmente, com js isso funciona muito bem, tirando herança que nunca fiz funcionar direito.

Porem o mais legal de js são as funções anonimas e programação funcional, é muito prático, alem de fazer 1 H e tanto:

function adder(d) {
   return function(e) { return e + d; }
}

[/code]

Criado 22 de outubro de 2003
Ultima resposta 22 de out. de 2003
Respostas 5
Participantes 5