Sou desenvolvedor web há quase 10 anos e adquiri o hábito de tentar não usar JavaScript sempre que possível. Não estou falando sobre a criação de aplicativos Web aqui, mas de sites direcionados a bancos de dados.
Essa é uma abordagem boa / respeitada?
javascript
Ryan
fonte
fonte
Respostas:
É o instinto da maioria dos programadores de reduzir todos os tipos de código. Quanto menos código, menos complexidades e menos pontos de erro possível no referido código. Esta regra se aplica ao Javascript, bem como a outros idiomas. Você está apenas mantendo a tradição.
Use o Javascript conforme necessário / desejado nas páginas HTML ... mas não há motivo para usá-lo quando não for realmente necessário.
fonte
10 anos atrás, poderia ter sido uma boa ideia. Atualmente, a maioria das partes da Internet (pelo menos algumas partes muito populares) tornou-se quase inutilizável ou fornece apenas uma funcionalidade muito restrita ao desativar o Javascript no navegador. Então, hoje IMHO, você pode esperar que seus usuários tenham o Javascript ativado.
E existem muitas estruturas, como o JQuery, para solucionar as incompatibilidades do navegador. IMHO, hoje não existe um motivo real para você se restringir ao não usar Javascript no seu site - o único motivo pode ser o fato de você não ter utilidade para ele.
EDIT: uma pergunta diferente é: se você fornecer alguma funcionalidade mínima do seu site quando seus visitantes não tiverem o JS ativado - isso é uma boa ideia, pelas razões apontadas por alguns dos comentaristas.
EDIT2: certamente para cada site, é preciso encontrar um equilíbrio entre facilidade de uso, facilidade de busca e esforço de desenvolvimento. Hoje, o IMHO Javascript pode ajudar a melhorar esse equilíbrio - se usado com sabedoria. Dito isso, acho que atualmente não há necessidade de minimizar o uso de Javascript hoje em dia para manter esse equilíbrio. Use-o com cuidado e não o demonize.
fonte
Ter um site que pode ser usado sem JavaScript significa que ele está disponível para o maior público possível. Embora seja verdade que a maioria dos navegadores suporta JavaScript e a maioria dos usuários o deixa ativado por padrão, você não pode contar com isso com certeza. Afinal, nem tudo que acessa seu site é um navegador; se você deseja que seu site seja indexado adequadamente por mecanismos de pesquisa como o Google, o GoogleBot precisará navegar no site sem JavaScript.
Também existem softwares especializados de navegação na Web em que o JavaScript não está disponível ou não funciona conforme o esperado. Software de leitura de tela ou Braille usado por deficientes visuais, por exemplo. Também existem ambientes em que a memória é restrita e ter grandes quantidades de javascript pode tornar a experiência de navegação desagradável ou até mesmo impraticável, como navegadores de smartphones.
Você deve examinar o conceito de "aprimoramento progressivo", em que cria um site para funcionar sem javascript e, em seguida, adiciona uma camada de javascript na parte superior para melhorar a experiência do usuário. Dessa forma, você terá um site que seja pelo menos utilizável para pessoas sem javascript.
Você não precisa se esforçar para fornecer todos os recursos possíveis que planeja implementar com JavaScript em navegadores que não sejam JavaScript, mas ainda é importante deixar pelo menos os casos de uso básicos disponíveis sem JavaScript. Ser capaz de navegar no site está obviamente no topo da lista, mas se você estiver criando um site de comércio eletrônico, tornar o processo de check-out dependente de JavaScript seria tolo, pois poderia custar-lhe vendas.
fonte
As outras respostas parecem focar em "eu nunca deveria usar JavaScript", então acho que elas estão perdendo o sentido. Você não deve usar JavaScript se não precisar. Algumas pessoas usam JavaScript para tudo :
href
quando razoável)Os benefícios são coisas como:
href
links de backup ajuda os mecanismos de pesquisa, usuários que desejam abrir links em outras guias e usuários que odeiam JavaScriptÉ claro que o AJAX é muito legal, e também as páginas dinâmicas, por isso não jogue fora essas coisas apenas porque algumas pessoas não precisam delas.
Meu argumento é que aprender como fazer coisas sem JavaScript é bom, minimizar JavaScript é bom e ter um backup para quando JavaScript não funcionar é bom, mas não há razão para evitar recursos porque eles exigem JavaScript.
fonte
É uma boa ideia evitar funcionalidades desnecessárias, ponto final. Estruturas como o jQuery tornam incrivelmente fácil adicionar detalhes que podem fazer sentido, mas às vezes não. Por exemplo:
... ou ...
Eu não evitaria o uso do JS, mas cuido para não ser desagradável, procurando máquinas mais lentas. O mesmo se aplica a algumas das coisas novas e sofisticadas que temos no CSS3 - como sombras projetadas ... se usadas excessivamente, podem fazer com que alguém em uma máquina de baixa potência tenha uma experiência muito ruim.
A exceção a isso pode ser a criação de controles de front-end para vários tipos de dispositivos, nos quais eles devem trabalhar absolutamente com o JS desativado (talvez uma política de segurança estrita em uma rede de gerenciamento de data center não exija o JS). Portanto, o exposto acima deve ser tomado em contexto com os requisitos que você tiver.
fonte
Acredito que, sendo um desenvolvedor web relativamente novo e jovem (cerca de 4 anos), tive que pesquisar muito sobre isso, pois o javascript está em todo lugar.
O que tento fazer nos meus projetos é garantir que o site funcione sem javascript e, em seguida, adicione javascript onde for mais adequado (validação do lado do cliente, aprimoramento da interface do usuário, etc.). É uma espécie de aprimoramento progressivo e cuida de SEO, javascript desativado e incompatibilidades de navegador mais antigas.
Essa mesma pergunta foi feita no SO, mas não posso, pelo amor de mim, lembrar onde.
fonte
O uso do JavaScript pode ser limitado em vários casos:
O JS possui muitos recursos, que não podem ser substituídos pelo código do servidor. Além dos mencionados acima, acho que não haveria argumento razoável para limitar o uso de JS.
fonte
" Sites direcionados a bancos de dados " é a chave para a resposta. Existem duas maneiras de criar sites, e a quantidade de Javascript permitida depende de qual deles você está usando. Você pode construir:
Sites centrados em conteúdo . No primeiro caso, as palavras mágicas são "aprimoramento progressivo"; limite o javascript a funções redundantes que podem ser fornecidas com acessos clássicos ao conteúdo por meio de HTTP simples.
Aplicações web . Para aplicativos, você está usando a Web como plataforma de software. Os aplicativos contam com algumas suposições sobre o software disponível - navegadores modernos, versões mais recentes de bibliotecas javascript populares, acessos à área de trabalho com mouse e / ou tablets com multitoque.
A web como plataforma de software
Os requisitos mínimos de acesso são aceitáveis se você estiver realmente criando um aplicativo - você direciona alguma plataforma específica para obter recursos avançados que não poderiam ser criados de outra forma. É como desenvolver para Python, Java ou .Net. Não deixe que palavras-chave como HTML5 e a promessa de "correr para qualquer lugar" o enganem; você pode ter código portátil entre dispositivos apenas enquanto toda a plataforma for suportada por eles. Qualquer alteração na pilha de desenvolvimento e o software será interrompido.
Portanto, o preço a pagar é que você está seguindo uma meta em movimento, à medida que novas versões da plataforma são lançadas; você precisará atualizar para manter seu aplicativo funcionando à medida que a plataforma evolui. O único benefício que você obtém é um mecanismo de entrega semiuniversal para seu aplicativo que não depende de pacotes nem lojas de aplicativos; mas você perde o principal recurso que diferencia a web dos sistemas de computadores em rede anteriores.
A web como entrega de conteúdo
Sites centrados em conteúdo são um animal diferente; eles estão na tradição da clássica World Wide Web. O conteúdo é vagamente interpretado pelo cliente, o que pode fazer qualquer transformação desejada antes da apresentação. Espera-se que o site seja acessado por um ecossistema de diferentes plataformas que podem ou não suportar os padrões atuais:
Você perderá todos eles se precisar da atual geração de javascript, que está sempre evoluindo. Nesse contexto, o javascript quebrado que impede o acesso ao conteúdo é um pecado.
Todo mundo dizendo que "o uso de javascript deve ser minimizado" está defendendo esse estilo. Não há problema em incluir algumas JS, lembre-se, mas todas as funções devem ser redundantes com acessos básicos ao conteúdo que podem ser alcançados no lado do servidor:
O benefício dessa abordagem é menos testes e atualizações necessárias e mais prazo de validade. As primeiras páginas da Web estáticas de 20 anos atrás ainda podem ser navegadas em qualquer cliente da Web, mas os primeiros aplicativos da Web estão quebrados para sempre. Se seu site tiver algum valor de arquivamento, você será beneficiado a longo prazo ao usar a Web como um sistema de entrega de conteúdo, não como uma plataforma de aplicativos.
fonte
Eu trabalho para o meu governo estadual e, como resultado, a maior parte do meu desenvolvimento envolve sites interativos baseados em dados. Consultas contra dados históricos, envios de formulários, coisas assim. Mantemos nosso Javascript no mínimo absoluto, pelos seguintes motivos:
1) A validação das entradas do formulário sempre deve ocorrer no lado do servidor, nunca no lado do cliente. Se você tentar validar suas entradas no lado do cliente, tudo o que um hacker precisa fazer é criar uma cópia local da sua página da web e reescrever o Javascript para permitir o que ele deseja enviar (injeção de SQL, etc.). Sua validação deve ocorrer em algum lugar sob seu controle exclusivo, ou seja, no servidor.
2) Muitos usuários desativam o Javascript ou usam um navegador que pode não implementá-lo corretamente. Sendo o governo, temos que apoiar a todos, mesmo que estejam usando equipamentos realmente REALMENTE antigos. HTML funciona em qualquer lugar; Javascript, nem tanto. Ao não usar Javascript em suas páginas da Web, você oferece uma área muito pequena na máquina cliente, usando poucos recursos. Isso maximiza o número de pessoas que podem acessar seu conteúdo. Pelo mesmo motivo, você não deve ficar muito maluco com seu CSS. Mantenha-o simples, mantenha-o limpo e permita que as velhinhas vejam seu site, mesmo que o computador tenha sido comprado em 1999 (aliás, recebemos chamadas de suporte técnico de pessoas como essa).
3) Javascript, sendo uma ferramenta preferida por "desenvolvedores da Web", em vez de programadores do lado do servidor, tende a ser bastante feio. E os designers (que costumam ser os desenvolvedores da web, se quiser ser sincero) tendem a não ver o problema ao baixar "scripts" de lugares aleatórios da web. Eles dizem coisas como "por que reinventar a roda?" e "Não inventado aqui". Então, em vez de escrever seu próprio código, eles geralmente saem para pegar algo de outro site, pensando que, se estiver na internet, é um jogo justo. Existem dois problemas com isso: A) eles podem inadvertidamente postar algum Javascript malicioso que leva um tempo para serem capturados e B) eles podem violar os direitos autorais de alguém e processá-lo. Ambas as situações devem ser evitadas.
Em geral, Javascript é uma má ideia. Qualquer código do lado do cliente é uma má ideia. O lado do cliente deve conter apenas linguagem de marcação e CSS; deixe o lado do servidor lidar com o trabalho pesado.
fonte
Depende.
Embora se possa esperar que os agentes de usuário da área de trabalho ofereçam suporte e executem seu javascript de maneira significativa, nem todos os agentes do usuário são navegadores gráficos da área de trabalho, e você precisa decidir se deseja atendê-los.
Exemplos incluem:
Minha regra geral é que, se for um aplicativo da Web para usuários regulares (internos, comunidade, esse tipo de coisa), confiar em javascript é bom, mas se você quiser ser acessível e localizável publicamente, pelo menos o essencial a funcionalidade deve funcionar perfeitamente sem javascript e você deve falhar normalmente quando precisar, em vez de exibir um comportamento "indefinido".
fonte
A abordagem antiquada está totalmente desatualizada. Por exemplo, eu fiz uma exclusão do ajax para o moderador em um dos sites e ele está feliz por causa do aumento óbvio da velocidade.
É claro que o desenvolvedor pode fazer duas versões para usuários JS e não JS, mas na maioria dos casos é extremamente caro e não vale 1-2% da audiência do site (se você não é o Google, é claro).
Portanto, minha resposta seria NÃO - JavaScript é a resposta para muitas perguntas sobre a experiência do usuário. Por que não devo usá-lo?
fonte
Pela minha experiência, houve um tempo em que as empresas desabilitavam o JavaScript por política. Mas esse tempo está longe. Atualmente, desenvolvo alguns aplicativos de intranet e aplicativos da web para grandes empresas globais. Para todos os aplicativos, o uso de JavaScript e JQuery fazia parte do que o cliente espera.
A criação de aplicativos para clientes não é mais apenas velocidade e segurança. O cliente deseja se concentrar na usabilidade e no uso da tecnologia AJAX. Sem o uso de JavaScript, não funcionaria tão bem. PostBacks o tempo todo para algumas tarefas muito pequenas, como cálculo ou algo parecido, para a maioria das empresas não é uma opção.
Quando pensamos nas situações atuais em empresas maiores, há outro indicador de que o JavaScript é atualmente necessário. Veja os sistemas CMS atualmente em execução nos negócios. A maioria deles usa Microsoft SharePoint ou Adobe CQ, alguns deles Drupal ou qualquer outro e assim por diante. Todo esse sistema depende de JavaScript. Sem javascript, a maioria dos aplicativos não funcionaria, como o usuário espera.
fonte
Em tempos passados, o JavaScript era usado e abusado, e os scripts eram (percebidos como) cheios de vulnerabilidades e uma fonte de malware.
Muitas redes corporativas responderam desativando o JS, uma política que (correta ou incorretamente) ainda existe em muitas organizações atualmente.
Simplesmente, sugiro que nenhum site conte com o JS para operar
fonte
Como a maioria das respostas aqui explicam, o uso
javascript
não é prejudicial. Se você deseja salvar seu código-fonte e o código-fonte com aparência desarrumada, tentecoffee-script
que economizará muito esforço ao digitarjavascript
.http://coffeescript.org/
fonte