» Início » Desenvolvimento » Os limites do Javascript
 
Avaliação: | Publicado em: 09/12/2004
Os limites do Javascript
Johnatan Oliveira Graduando em Tec. Informática e Aplicações Web, é desenvolvedor ASP/SQL Server e atua no mercado web a cerca de 4 anos como desenvolvedor e design de interfaces. É apaixonado por Flash MX/Action Script. Atualmente é Diretor de Projetos do Portal Plugmasters, colaborador da Revista WWW.COM.BR, onde escreve sobre ASP e Flash e designer/programador de uma agência web. Além de manter o site johnatan.net.


Este artigo é destinado à definir precisamente as possibilidades e os limites da linguagem JavaScript. Numerosos webmasters pensem que o Javascript permita todas as fantasias e responde a todas as necessidades. Mas é longe de ser o assim.
Se confundam o Java e o JavaScript, leiam este artigo de comparação.
Vamos começar por ver o que é possível fazer com o JavaScript. E veremos de seguida como a segurança implica os limites a linguagem. Por fim iremos abordar alternativas com outras linguagens para a Internet.

O que o JavaScript permite 

A linguagem JavaScript é perfeitamente adaptado para tratamentos na máquina do utilizador. Vejamos alguns exemplos de casos onde o JavaScript é eficaz :

  • Verificação do conteúdo nos formulários (Endereços, email)
  • Cálculos simples depois de leitura de um formulário (Tarifas, calculadores)
  • Motores de pesquisa (base de pesquisa definidos pelo webmaster)
  • Gestão de datas e das horas (Data do dia, Data actualizada, Calendários)
  • Gestão de cookies (Salvaguardar informações : número de visitas, carrinho de compras virtual)
  • Gestão da navegação (Menus dinâmicas, popup)
  • Animações gráficas (Dinâmico HTML, MouseOver, banners rotativos, jogos)
A lista não está acabada. A imaginação do webdeveloper pode repelir os limites do JavaScript, sem realizar o impossível. Vejamos agora os motivos dos limites técnicos que impõem-se a esta linguagem.

JavaScript e a segurança

O JavaScript foi concebido para limitar (quase) completamente os riscos para o utilizador. Neste sentido, pode-se dizer que executar um Javascript no seu browser não contém nenhum risco para os dados e o material. O JavaScript não permite escrever ou de ler ficheiros no disco rígido do utilizador ou do servidor. Também, não é possível de listar os software copiados e não registados. Impossível também de destruir ficheiros indispensáveis ou de introduzir um vírus na máquina do utilizador.
JavaScript permite mesmo assim de escrever e de ler o disco rígido na zona reservada aos cookies. É a única interacção que o Javascript pode ter no disco rígido .

Alguns podem dizer que o JavaScript possua funções para ler ficheiros texto. Na verdade, Javascript permite integrar Applets Java ou ActiveX que são capaz de agir no disco rígido. Neste caso não se trata Javascript puro : se desactivarmos o Java e o ActiveX, nada irá acontecer.

O JavaScript só não pode recuperar o endereço IP de utilizador. É indispensável igualmente passar por applets de Java ou de ActiveX.

Eu disso que o Javascript é quase sem risco. É possível de codificar um Javascript que abra janelas popups até esgotar completamente os recursos do sistema. Neste caso, a única solução será de reset ao computador.

As performances do Javascript em termo de segurança para os utilizadores faz com que o JavaScript é aceito por (quase) todos. O preço desta segurança e desta quase universalidades traduz-se por limites técnicos que iremos ver detalhadamente já a seguir.

Os limites do JavaScript

O principal limite do JavaScript é que ele não permite ler e escrever no disco rígido do utilizador (excepto os cookies) e do servidor. É por isso impossível em Javascript de gerar por exemplo um ficheiro de ligação no servidor, ou um contador de visitas numa base de dados nem se ligar a esta. Impossível então de criar um fórum de discussão, um script de sondagem ou de votação, em que os dados são guardados, tanto num ficheiro, tanto numa base de dados no servidor. Impossível também de ligar um catálogo em base no servidor numa loja virtual.
JavaScript não faz troca de informação com outras máquina conectadas. Impossível então de criar uma página de chá (discussão em directo).

Os limites são numerosos e reais. Felizmente, outras tecnologias existem. 

As alternativas

Existe actualmente uma grande quantidade de tecnologia que completam as lacunas do Javascript. Podemos as separar em 2 categorias :

  • Aquelas em que o código é executado na máquina do utilizador
  • Aquelas em que o código é executado pelo servidor que reenvia uma página no formato HTML
Na primeira categoria, podemos citar Flash, Java, e outros que permitem por exemplo criar universos 3D. geralmente, eles necessitem de um plugin e não são por isso compatíveis com todos os browsers. Eles repelem os limites de animação gráfica e oferecem geralmente mais possibilidades de leitura/escrita no disco. A segurança não é assegurada: crash's frequentes, acesso ao disco, ...

Existem numerosos linguagens de scripts que são executadas no servidor, permitindo assim de guardar informações e de gerar páginas dinâmicas à partir de bases de dados.
Os riscos para a segurança são nulos, porque o utilizador recebe apenas páginas em HTML, eventualmente enriquecidos com JavaScript.

Nesta página, dei a minha opinião sobre os limites do JavaScript. Não pretendo que o JavaScript seja A solução a todas as nossas necessidades. As linguagens CGI, ASP ou PHP são indispensáveis. Minha finalidade era de re-situar as possibilidades do JavaScript (e de por em alerta os internautas dos riscos ligados aos plugins).



Felipe Cavalcante <felipex@click21.com.br>
E mais:
Lembre-se que com javascript (pelo menos no IE) você também pode criar objetos COM registrados na máquina, e com isso você aumenta em muito o poder da linguagem podendo, por exemplo, conectar-se a banco de dados, alterar e criar objetos do Office e outros.
Flavio dos Santos <hotstamp@globo.com>
Pelo seu artigo é caso finalizado que JavaScript não se liga ao PhP. Então, a dica de como passar o clique de um banner rotativo e, JavaScript para gravar em um MySql não dá para fazer?

Grato - Flavio - Bairro do Limão - SP
Acho que não é um alimitação, vista que ele atende a tudo oq ele propõe, e casao queira usar javascrippt para acessar banco de dados, nada impede tu usaro xmlhttprequest para usar com php e fazer grandes coisas..

Mas mesmo assim vlw, na net ha pouco materiais de javascript
Vinicius Teodoro <vteodorobr@gmail.com>
Obrigado cara, essa coluna que voce escreveu ajudou muito...
vlw :)
gostei da ideia com o flash, mas me diz se da pra tentar uasar os objetos imputs tex ou area para trocar informações pela página um com o outro, aguardo respostas e vou tentando com o flash...valeu
Observador <nenhum@mesmo.com>
Gostei do open Rico no final. Bem utilizado. :)