Opa (linguagem de programação)

Origem: Wikipédia, a enciclopédia livre.
Ir para: navegação, pesquisa
Opa
Paradigma Linguagem de programação multiparadigma: programação funcional, programação imperativa
Surgido em 2011
Última versão 1.1.0 (estável) (10 Dezembro 2012; 683 dias atrás)
Criado por MLstate
Estilo de tipagem: tipagem estática, tipagem forte, tipagem inferida
Influenciada por OCaml, Erlang, JavaScript
Licença: MIT License, AGPLv3
Página oficial opalang.org

Opa é um novo framework open source de programação para o desenvolvimento de aplicações web escaláveis[1] . Ele é composto por um servidor web, uma base de dados NoSQL - MongoDB.[2] [3] e uma linguagem de programação. Todos os componentes são integrados para facilitar o processo. Opa é concisa, simples, extramamente poderosa, concorrente e distribuída. Além de segura.

A linguagem foi apresentada oficialmente na conferência OWASP em 2013, [4] e o código fonte foi liberado no GitHub[5] em junho de 2011 sobre a licença GNU Affero General Public License. Mais tarde a licença mudou para a licença MIT para a parte do framework (biblioteca) e Affero General Public License para o compilador, assim as aplicações escritas em Opa podem ser liberadas em qualquer licença, proprietária ou open source.

Design e Características[editar | editar código-fonte]

Opa pode ser utilizada tanto para programar no cliente (client-side scripting), quanto no servidor (server-side scripting). O Código escrito em Opa no servidor é compilado para Javascript utilizando Node.js e para Javascript utilizando Jquery no clientes (para compatibilidade entre browsers diversos). [6] O compilador consegue automatizar totalmente a comunicação entre o cliente e o servidor.

Opa compartilha objetivos com outros web frameworks, mas tem uma abordagem diferente. [7] Em comparação com outras plataformas Rich Internet Application (Ria) a vantagem do Opa é que o usuário não necessita de instalar plugins no browser. [8] Os designers de Opa afirmam que o framework evita muitos riscos de segurança, tais como: SQL injection ou XSS attacks.[9]

Opa é uma linguagem funcional e tem um sistema de tipo estático forte com inferência. Isso auxilia na prevenção contra problemas de segurança e auxilia na depuração de erros.[10] A linguagem também possui: sessões que encapsulam partes do código que possuem uma estilo programação imperativo, e comunicação usando passagem de mensagens - similar a um processo Erlang. Opa possui muitas estruturas ou funções que são comuns no desenvolvimento web, tais como objetos de primeira classe, instâncias HTML[11] e parser.[12] Por causa da proximidade da linguagem com conceitos web, Opa não é indicada para aplicações não-web (como por exemplo aplicações desktop.[13]

Exemplos[editar | editar código-fonte]

Hello world[editar | editar código-fonte]

O tradicional Hello world program, produz um web server com a página estática "Hello, web!" é escrito assim:[14]

Server.start(Server.http,
  { title: "Hello"
  , page: function() { <h1>Hello, web!<h1/> }
  }
)

O código é compilado em um executável JS com o comando:

opa hello_web.opa

A aplicação web é iniciada executando o arquivo JS:

./hello_web.js

Veja também[editar | editar código-fonte]

Portal A Wikipédia possui o portal:
  • Free software

Referências

Ligações externas[editar | editar código-fonte]