sexta-feira, 2 de outubro de 2009

Java vs Javascript



JAVA

Em 1991, na Sun Microsystems, foi iniciado o Green Project, o berço do Java, uma linguagem de programação orientada a objetos. Os mentores do projeto eram Patrick Naughton, Mike Sheridan, e James Gosling. O objetivo do projeto não era a criação de uma nova linguagem de programação, mas antecipar e planejar a “próxima onda” do mundo digital. Eles acreditavam que, em algum tempo, haveria uma convergência dos computadores com os equipamentos e eletrodomésticos comumente usados pelas pessoas no seu dia-a-dia.A linguagem primeiramente se chamou "Oak", porem em uma reuniao em uma cafeteria James Gosling resolveu chamar a linguagem de Java, onde em 1995 foi lançada oficialmente!

Desde seu lançamento, em maio de 1995, a plataforma Java foi adotada mais rapidamente do que qualquer outra linguagem de programação na história da computação. Em 2004 Java atingiu a marca de 3 milhões de desenvolvedores em todo mundo[1]. Java continuou crescendo e hoje é uma referência no mercado de desenvolvimento de software. Java tornou-se popular pelo seu uso na Internet e hoje possui seu ambiente de execução presente em web browsers, mainframes, SOs, celulares, palmtops, cartões inteligentes etc.

Programas Java não são traduzidos para a linguagem de máquina, como outras linguagens estaticamente compiladas e sim para uma representação intermediária, chamada de bytecodes.

Principais Caracteristicas:



  • Orientação a objeto - Baseado no modelo de Simula67

  • Portabilidade - Independência de plataforma - "write once, run anywhere"

  • Segurança - Pode executar programas via rede com restrições de execução-Security Manager

  • Sintaxe similar a Linguagem C/C++ e principalmente, a C#

  • Desalocação de memória automática por processo de coletor de lixo (garbage collector-GC)

  • Compilador JIT(Just in Time) que aumenta a performance de execução dos bytecodes da JVM




JAVASCRIPT

JavaScript é uma linguagem de programação criada pela Netscape em 1995, que a princípio se chamava LiveScript, a Netscape após o sucesso inicial desta linguagem, recebe uma colaboração considerável da Sun, após esta colaboração, podemos dizer que o JavaScript é uma linguagem compatível com a linguagem Java, por esta razão, a semelhança dos nomes "JavaScript".

A linguagem foi criada para atender, principalmente, as seguintes necessidades:




  • Validação de formulários no lado cliente (programa navegador)

  • Interação com a página



Assim, foi feita como uma linguagem de script. Javascript tem sintaxe semelhante à do Java, mas é totalmente diferente no conceito e no uso.

De acordo com seu sistema de tipos JavaScript é:




  • fraca - sua tipagem é mutável

  • dinâmica - uma variável pode assumir vários tipos diferentes durante a execução

  • implícita - as variáveis são declaradas sem tipo



1. É interpretada, ao invés de compilada;
2. Possui ótimas ferramentas padrão para listagens (como as linguagens de script, de modo geral);
3. Oferece bom suporte a expressões regulares (característica também comum a linguagens de script).

Sua união com o CSS é conhecida como DHTML. Usando o Javascript, é possível modificar dinamicamente os estilos dos elementos da página em HTML.

Nos dias de hoje o Javascript voltou a ganhar espaço devido ao AJAX (acrônimo em língua inglesa de Asynchronous Javascript And XML),que é o uso metodológico de tecnologias como Javascript e XML, providas por navegadores, para tornar páginas Web mais interativas com o usuário, utilizando-se de solicitações assíncronas de informações. AJAX não é somente um novo modelo, é também uma iniciativa na construção de aplicações Web mais dinâmicas e criativas. AJAX não é uma tecnologia — são realmente várias tecnologias conhecidas trabalhando juntas, cada uma fazendo sua parte, oferecendo novas funcionalidades. AJAX incorpora em seu modelo:




  • Apresentação baseada em padrões, usando XHTML e CSS

  • Exposição e interação dinâmica usando o DOM

  • Intercâmbio e manipulação de dados usando XML e XSLT

  • Recuperação assíncrona de dados usando o objeto XMLHttpRequest

  • JavaScript unindo todas elas em conjunto.





Portanto notamos que apesar do nome, as 2 linguagens sao muitíssimo diferentes em quase todos os aspectos, tendo cada uma sua área de dominio e aplicação.


O ELO PERDIDO


O Java 6 fornece suporte integrado da especificação JSR-223. Esta especificação oferece uma maneira conveniente e padrão de execução de linguagens de scripting na JVM e fornece acesso a recursos e classes Java a partir de scripts. Java 6 vem com um built-in de integração com o Mozilla Rhino, motor de JavaScript usado pelo Mozilla.

As especificações JSR 223 são convenientes e fáceis de usar. Para trabalhar com scripts, você só precisa saber um par de classes fundamentais. A principal delas é a classe ScriptEngine, que lida com roteiro de interpretação e avaliação. Para instanciar um motor de script, você usa a classe ScriptEngineManager para recuperar um objeto ScriptEngine para a linguagem de script que você está interessado ,e cada linguagem de script tem um nome. A Mozilla Rhino ECMAScript linguagem de scripting (vulgarmente conhecida como JavaScript) é identificada por "js".



//...codigo anterior omitido
ScriptEngineManager manager= new ScriptEngineManager();
ScriptEngine engine = manager.getEngineByName("js");



JavaScript incorporado pode ser usado para uma variedade de finalidades. Uma vez que é mais flexível e mais fácil de configurar do que Java Hard-Code, que muitas vezes pode ser usado para codificar as regras de negócios que poderá mudar com freqüência. Scripting expressões são avaliadas usando o método eval(). Quaisquer variáveis utilizadas no ambiente de script pode ser atribuída a partir do seu código Java usando o put () method.




ScriptEngineManager manager= new ScriptEngineManager();
ScriptEngine engine= manager.getEngineByName("js");
engine.put("age", 21);
engine.eval("if (age >= 18){ " +
" print('Old enough to vote!'); " +
"} else {" +
" print ('Back to school!');" +
"}");
//Result on console

> Old enough to vote!




A partir do exemplo ScriptEngineManager, nós pedimos uma instancia de um motor de JavaScript usando o método getEngineByName. Sobre o mecanismo de script, o método eval é chamado a executar uma determinada string como código JavaScript! Para resumir, a manipulação de exceções não é mostrada nos exemplos. Existem Exceções Checadas(checked) e de Tempo de Execução(Runtime) API javax.script. Desnecessário dizer, você tem que lidar com as exceções de forma adequada.


//Hello World Javascript on the JVM!
import javax.script.*;
public class EvalScript {
public static void main(String[] args) throws Exception {
// cria um gerente para o motor de scripts
ScriptEngineManager factory = new ScriptEngineManager();
// cria o motor JavaScript como mostrado nos exemplos anteriores
ScriptEngine engine = factory.getEngineByName("js");
// interpreta o codigo Javascript
engine.eval("print('Hello World, Javascript on the JVM')");
}
}




Com arquivos o codigo é um pouco diferente, e neste exemplo, podemos chamar o método eval() que aceita um java.io.Reader como entrada. O leitor lê o script a ser executado diretamente do fluxo . Desta forma é possível executar scripts a partir de arquivos, URLs e os recursos envolvendo os objetos relevantes fluxo de entrada como Readers.


import javax.script.*;
public class EvalFile {
public static void main(String[] args) throws Exception {
// creia gerente para o motor de script
ScriptEngineManager factory = new ScriptEngineManager();
// cria motor JavaScript engine
ScriptEngine engine = factory.getEngineByName("js");
//interpreta o script Javascript vindo do arquivo, com nome dado no primeiro parametro
engine.eval(new java.io.FileReader(args[0]));
}
}



Vamos dizer que exista um arquivo chamado "test.js" no diretorio onde executamos a aplicação com o seguinte codigo:



println("Hello World lido do arquivo de nome test.js")


Rode o codigo da seguinte maneira:


java EvalFile test.js



REFERENCIAS E LINKS


Artigo em OnJava sobre RHINO no Java 6
Guia Oficial da Sun sobre JSR-223
Wikipedia Javascript
Wikipedia AJAX
Excelente artigo da Sun sobre como usar Javascript na JVM com otimos exemplos e conteudo

Espero ter ajudado com este post!
Obrigado pelo seu tempo!
Participem do OSUM!

0 Comentários:

Postar um comentário

Assinar Postar comentários [Atom]

<< Página inicial