Na verdade, eu tinha intitulado esta postagem como "alternativas de código aberto para programação front-end". Mas, como um leitor disse certa vez, é inapropriado. Linguagens de código aberto são a primeira escolha da maioria dos profissionais de interface de usuário. Neste caso, as alternativas são exclusivas.
Claro que não foi um caminho fácil. Tivemos que nos livrar do Internet Explorer 6 e do Adobe Flash. Mas, pelo menos por enquanto, sabemos que existe um setor em que não dependemos dos caprichos de uma empresa
O que é programação front-end?
No início, os sites consistiam em imagens e textos estáticos. Com o aumento da velocidade das conexões, os designers começaram a adicionar conteúdo multimídia e animações. Os usuários começaram a interagir mais ativamente com as páginas, em vez de apenas ler.
Durante anos, a opção de fato para tornar os sites interativos era o ActionScript. Uma linguagem de programação proprietária que éEle foi usado para criar conteúdo para Flash. Flash é uma tecnologia desenvolvida pela Macromedia (agora propriedade da Adobe). Com o Flash, você pode reproduzir vídeos, criar menus suspensos, botões animados, pop-ups e muito mais.
O problema com o Flash era que Estava consumindo muitos recursos do sistema e retardando o carregamento das páginas. Por outro lado, os desenvolvedores da web o usaram mesmo quando não era necessário. Flash tambem Tive vários problemas de segurança que ainda aparecem hoje.
O Flash iniciou sua despedida quando Steve Jobs, cansado dos problemas de desempenho de seus produtos, decidiu boicotá-lo e apostar em Html5, Css3 e Javascript. A Microsoft, que falhou com sua própria alternativa, também aderiu. De nossa parte, os usuários de Linux, ignorados pela Adobe por anos, também fizeram nossa parte.
Graças à disponibilidade de ferramentas de código aberto e à necessidade de um site para se adaptar a vários dispositivos, eO design do site tornou-se especializado. Programação front-ende se refere à parte do site responsável pela interação com o usuário. Basicamente, a interface do site e as tarefas que ele desenvolve no dispositivo a partir do qual a web é acessada.
Linguagens de código aberto para programação front-end
Vamos revisar, então, algumas das alternativas que temos:
JavaScript
Talvez o mais utilizado e sem dúvida o mais antigo dos que constam da nossa lista. Ele foi criado para aumentar a funcionalidade do navegador Netscape. Possui várias bibliotecas que aumentam sua funcionalidade e reduzem o tempo de programação. Além disso, por ser tão amplamente utilizado, suportado por todos os navegadores e a documentação é abundante. Se está a pensar dedicar-se ao web design como oportunidade de emprego, é sem dúvida um bom ponto de partida.
Dart
Dart é uma alternativa ao Javascript desenvolvido pelo Google. O objetivo é corrigir as reclamações dos programadores em relação a essa linguagem. Os programas criados no Dart podem ser compilados em Javascript para serem usados em websites. Por outro lado, se você combiná-lo com o kit de ferramentas Flutter UI do Google, ele pode ser usado para criar aplicativos nativos para desktop, celular. Se você está familiarizado com C ++ ou Java, esta linguagem será mais familiar para você.
TypeScript
Neste caso, não estamos falando de um idioma diferente, mas de uma versão corrigida do Javascript criado pela Microsoft. TypeScript adiciona vários novos recursos que melhoram e modernizam as limitações do JavaScript. Minha recomendação é que você aprenda JavaScript e suas limitações primeiro e, em seguida, passe para o TypeScript.
ClojureScript
Clojure é uma variante da linguagem LIsp usada para propósitos gerais. Tem a grande vantagem de que pPode ser usado para programação de back-end(executado em uma máquina virtual Java) como front-end (compilado como código Javascript). Se você deseja se dedicar a todos os aspectos do web design, pode ser uma boa opção.
No momento, JavaScript ou uma das linguagens que facilitam a criação de código JavasCript parece ser a melhor opção para entrar na programação front-end. No entanto, a decisão de qual idioma aprender vai depender de suas necessidades, seu tempo e seus conhecimentos prévios.