Alternativa de script java

TLDR: Não.

A resposta um pouco mais matizada é: depende.

Você pode usar Python em um navegador usando Skulpt, um interpretador Python escrito em Javascript. Parte de cima? Você não está usando Javascript diretamente. Desvantagem? É mais lento que JS e pode não ser uma versão completa do Python.

Existem outros idiomas disponíveis para você também: Typescript - é uma forma de Javascript com forte digitação. Parece um tipo de Javascript, mas você precisa compilá-lo antes de poder usá-lo. Coffeescript - idem.

Você não * precisa * usar Javascript no navegador, mas mesmo se usar outra coisa, é um shell fino sobre Javascript e se algo der errado, como inevitavelmente acontecerá, é uma boa ideia ter um conhecimento de Javascript para informá-lo sobre como corrigi-lo.

Ou talvez apenas confunda a questão ainda mais.

Por si só, o JavaScript é uma linguagem horrível, com muitas falhas e uma arquitetura pouco clara. O nível de entrada do JavaScript é muito baixo. Quase todo mundo consegue escrever algo em JavaScript em 10 minutos. Hoje a web está arruinada por infinitas estruturas de web com qualidade horrível. Enquanto escrevo este comentário, tenho 100% de certeza de que o novo framework JS foi lançado :)) Esses frameworks são escritos por crianças. Ninguém se preocupa com o uso de memória, algoritmos, estruturas de dados, variáveis ​​etc. Uma vez que obtive total incompatibilidade em uma dependência, um “garoto legal” decidiu substituir todas as declarações de variáveis ​​var por let. Hoje, o desenvolvimento front-end não leva a nada, conheço muitos desenvolvedores experientes que deixam o desenvolvimento web e front-end devido a infinitos frameworks JS e seus milhões de dependências.

O problema com o javascript não é a linguagem em si - é uma linguagem prototipada e dinâmica perfeitamente boa. Se você vem de um background OO, há uma pequena curva de aprendizado, mas não é culpa da linguagem.

A maioria das pessoas assume que Javascript é como Java porque tem sintaxe e nome semelhantes, mas na verdade é muito mais parecido com lisp. Na verdade, é muito adequado para manipulação de DOM.

O verdadeiro problema é que ele é compilado pelo navegador, o que significa que funciona de maneira muito diferente dependendo do cliente.

Não apenas o DOM real é diferente dependendo do navegador, mas há uma enorme diferença no desempenho e no layout.

Como linguagem de front-end?

Não, agora não. Todo site dinâmico na web usa JavaScript. Existem linguagens que podem ser transpiladas para JavaScript se você preferir usá-las, mas o navegador ainda precisa executá-lo como JavaScript. Algumas opções são

CoffeeScript

e

TypeScript

.

WebAssembly

também está sendo desenvolvido. Seu objetivo é permitir que linguagens como C ++ sejam compiladas em um bytecode de baixo nível que pode então ser executado no navegador. Infelizmente, não é uma alternativa viável agora, mas pode ser no futuro.

Como uma linguagem de back-end?

Existem muitas opções diferentes para escolher no back-end. Na verdade, o JavaScript é uma opção bastante recente nessa área por meio do Node.js. Algumas de suas outras opções são Python, PHP e C #. Se você for um novo desenvolvedor, JavaScript no backend pode ser atraente, pois provavelmente você já se sente confortável com ele no frontend. Embora seja uma boa ideia explorar também suas outras opções.

Não até que Firefox, Internet Explorer, Chrome, Opera, Safari e alguns outros navegadores de uso comum sejam reescritos para executar algo diferente de JS. (E boa sorte em conseguir que a Apple e a Microsoft concordem em qualquer coisa.)

Centenas / nenhum, dependendo do que você está fazendo e como deseja fazer.

Na maioria dos casos, haverá pelo menos alguns (por exemplo, CoffeeScript, ClojureScript, TypeScript podem ser usados ​​em todos os lugares onde o JavaScript pode ser usado - e tenho certeza que há muitos mais; criar alternativas para JS é um dos passatempos favoritos de comunidade de programação).

Existe Racketscript se você gosta de Racket / Scheme. Existe o Urlang, se você quiser que os servlets da Web Racket gerem seu próprio Javascript.

Existe o Purescript se você gosta de JS com sabor de Haskell e ghcjs se o sabor não for suficiente.

Há reasonML e js_of_ocaml, se você realmente gosta de ML / Ocaml. Também Ocsigen se você preferir não diferenciar entre o código do cliente e do servidor, além de alguma decoração de sintaxe.

Existe Scala.js se você gosta de Scala.

Existe o Emscripten, se você gosta de C.

Como o que Vladislav Zorov disse antes, é um passatempo comum tentar substituir o Javascript para a interface da web.

“Melhor” significa muito pouco sem contexto. Em qualquer lugar que você possa usar JavaScript, provavelmente pode usar TypeScript e compilar para JavaScript.

Se você estiver escrevendo um aplicativo da web, suas opções são JS e as várias linguagens que compilam para ele.

Se você estiver escrevendo um servidor, terá todas as opções que desejar.

Se você está replicando a funcionalidade de animação do navegador em JS, deve usar CSS.

Como você pode ver, o contexto é tudo.

WebAssembly é compatível com as versões mais recentes de todos os principais navegadores.

Chrome, Safari, Edge e Firefox. Totalmente compatível desde novembro do ano passado.

Portanto, você pode escrever seu código em C / C ++ se quiser. Ou qualquer outra linguagem capaz de utilizar o back-end LLVM para emitir WebAssembly em vez de ter como alvo alguma outra plataforma.

Bibliotecas estão faltando.

Sim, mais ou menos, e não.

Sim: fora do navegador, existem literalmente centenas de alternativas, todas melhores, exceto uma, e isso é o AppleScript. AppleScript tem direito à fama por ser a única linguagem de programação pior que JavaScript.

Tipo de: se você estiver codificando para o navegador, precisará executar Javascript nesse navegador, até que o WebAssembly se torne comum, é sua única opção. No entanto, enquanto você precisa * executar * Javascript, você não precisa * escrever * Javascript, você pode “transpilar” outra linguagem para Javascript. Estou usando o TypeScript, mas existem muitas alternativas.

Não: se você realmente quer dizer que existem alternativas para executar JavaScript no navegador, então não, não há, em 2017. Há WebAssembly, plug-ins, muitas soluções alternativas, mas a realidade é que se você deseja executar no computador de um usuário típico , então você está executando o JavaScript. Você não precisa escrevê-lo.

No navegador da web, muito poucos. Houve um tempo em que o IE era compatível com VBScript, mas não acredito que nenhum outro navegador o oferecesse e suspeito que ele tenha sido descartado no Edge. Os miniaplicativos Java são uma opção, dependendo do que você está tentando fazer. No entanto, no navegador, o suporte a Java tem sido tão pouco confiável que não é usado com frequência. Ao mesmo tempo, o Shockwave e o Flash eram excelentes alternativas, mas a introdução do iPhone deu início ao fim deles, já que a Apple se recusou a apoiá-los e então ganhou uma participação de mercado incomparável. O resultado é que hoje a maioria dos visitantes do site não será capaz de ver ou usar seu conteúdo Flash ou Shockwave. Uma série de violações graves de segurança devido aos bugs do Flash e Shockwave não ajudaram na situação.

Dito isso, com o advento de analisadores alternativos, que convertem de outra linguagem para JavaScript, existem algumas alternativas, mas a realidade é que elas realmente ainda são JavaScript, embora você consiga usar um pouco de açúcar sintático em sua codificação. CoffeeScript é um deles e favorece o código conciso que requer menos digitação, mas pode ser difícil de ler. Aqui está uma lista deles.

Compilar para JavaScript: As 10 melhores linguagens alternativas de JavaScript

Fora do navegador, você tem uma lista muito longa de alternativas.

Mas a verdadeira questão é por que você está procurando uma alternativa. O suporte integrado para JavaScript em todos os navegadores o torna uma escolha excelente. A linguagem em si é uma das melhores que existem, pegando emprestado a sintaxe de Java e C com flexibilidade e facilidade de uso de outras linguagens de script. Em particular, é uma das melhores linguagens para escrever código orientado a eventos. Se você está tendo dificuldades, suspeito que você precise investir algum tempo aprendendo mais sobre a linguagem, em particular como construir objetos, o que é definitivamente um ponto fraco. Além disso, estude mais sobre programação funcional e aprenda como você pode aproveitar os recursos funcionais de JavaScripts para fazer mais.