O que se pode fazer com JavaScript hoje em dia? \| TreinaWeb               Promoção no ar   Matricule-se agora e garanta **54% de desconto**  

  Termina em   Tempo restante da oferta: 00 Horas 

 47 Min 

 03 Seg 

   Tempo restante da oferta: 00 47 03 

  [Assinar →](https://www.treinaweb.com.br/checkout/pagamento/plano/anual?cupom=TW-SCLIENTE26) 

   [                ](https://www.treinaweb.com.br)  Explorar  

 [ Quanto custa? ](#assinatura) [ FAQ ](https://www.treinaweb.com.br#faq) [Matricule-se](#assinatura) [ Entrar ](https://www.treinaweb.com.br/login) 

     [ Início ](https://www.treinaweb.com.br) [ Artigos ](https://www.treinaweb.com.br/blog) O que se pode fazer com JavaScript hoje em dia?  [ Javascript ](https://www.treinaweb.com.br/blog/categoria/javascript) [ Desenvolvimento ](https://www.treinaweb.com.br/blog/categoria/desenvolvimento) 

# O que se pode fazer com JavaScript hoje em dia?

 Conheça as várias áreas onde podemos trabalhar com JavaScript além do navegador.

 [ Akira Hanashiro ](https://www.treinaweb.com.br/blog/autor/akira-hanashiro) 9 anos atrás

  ![](https://dkrn4sk0rn31v.cloudfront.net/uploads/2018/03/01133925/javascript.png)  

   Olá, Web Developers! 

O [JavaScript](https://www.treinaweb.com.br/blog/o-que-e-e-como-comecar-com-javascript/ "JavaScript") inicialmente foi criado como um complemento para o navegador da [Netscape](https://en.wikipedia.org/wiki/Netscape "Netscape"). Por muito tempo foi visto como uma linguagem ruim, bagunçada e lenta (e estavam certos).

Mas o JavaScript evoluiu muito. Hoje em dia é bem mais organizado, rápido e possui várias funcionalidades que nos facilitam criar várias coisas. Além disso, a linguagem não se limita mais apenas aos navegadores.

 [ ![](https://dkrn4sk0rn31v.cloudfront.net/uploads/2023/10/E-BOOK-GRATUITO-COMECANDO-JS.png) ](https://www.treinaweb.com.br/ebook/guia-javascript)

Vamos conhecer algumas áreas onde podemos atuar com JavaScript além do seu uso comum e até além dos navegadores. Dessa maneira você poderá usar seus conhecimentos em JavaScript e escolher entrar em alguma área além da web, como desenvolvimento de jogos, robótica, automação, etc.

**Observação:** esse post não incentiva o uso de JavaScript para tudo. Há de se ponderar a melhor ferramenta/tecnologia para o problema que se precisa resolver.

[  ![Webpack - Empacotando aplicações](https://d2knvm16wkt3ia.cloudfront.net/assets/svg-icon/webpack.svg)   Curso Webpack - Empacotando aplicações Conhecer o curso ](https://www.treinaweb.com.br/curso/webpack-empacotando-aplicacoes)

## Node.js e Deno

![Node.js](https://dkrn4sk0rn31v.cloudfront.net/2018/05/01101032/McC4uDG.png)

Não tem como começar essa lista sem falar do [Node](https://www.treinaweb.com.br/blog/node-js-por-que-voce-deve-conhecer-essa-tecnologia/ "Node"). Ele é basicamente uma ferramenta que executa o JavaScript fora do navegador. Quando instalado, chamamos o Node.js pelo terminal. Como não estamos executando o JavaScript em um navegador, os cuidados com segurança são diferentes.

Há várias funcionalidades disponibilizadas para o Node.js, fazendo com que possamos fazer coisas com JavaScript que não conseguimos fazer quando o nosso ambiente é o navegador.

Um exemplo é o acesso a arquivos. Um código JavaScript no navegador não consegue acessar os arquivos do usuário, pois seria um problema de segurança você entrar em um site e ele vasculhar seu computador. Já que o Node.js está instalado em sua máquina, o JavaScript tem liberdade de acessar os arquivos contidos no HD.

Como resultado, o Node.js possibilitou a criação de várias outras ferramentas para podermos usar JavaScript fora do navegador, e hoje em dia é um conhecimento obrigatório para quem quer trabalhar com JavaScript.

[  ![Node.js -  Introdução ao Prisma ORM](https://d2knvm16wkt3ia.cloudfront.net/assets/svg-icon/node-js.svg)   Curso Node.js - Introdução ao Prisma ORM Conhecer o curso ](https://www.treinaweb.com.br/curso/nodejs-introducao-ao-prisma-orm)

Assim como o Node.js, o [Deno](https://www.treinaweb.com.br/blog/deno-conheca-o-suposto-substituto-do-node-js/ "Deno") também é um ambiente de execução de JavaScript. Ele foi criado pelo próprio criador do Node.js utilizando a linguagem [Rust](https://www.treinaweb.com.br/blog/o-que-e-rust/ "Rust"). Além de algumas melhorias e modernizadas aprendidas com os erros de projetos cometidos com o Node.js, o Deno também interpreta [TypeScript](https://www.treinaweb.com.br/blog/precisamos-falar-sobre-o-typescript/ "TypeScript").

- [https://nodejs.org/](https://nodejs.org/ "https://nodejs.org/")
- [https://deno.land/](https://deno.land/ "https://deno.land/")

## npm

![](https://dkrn4sk0rn31v.cloudfront.net/2018/05/01101059/npm.png)

O Node.js vem com o “npm” (node package manager). Com ele podemos [gerenciar as dependências](https://www.treinaweb.com.br/blog/o-que-e-gerenciador-de-dependencias/ "gerenciar as dependências") de nossos projetos.

Um exemplo: caso queira usar jQuery em seu projeto, ao invés de ter o trabalho de fazer download do jQuery, basta executar o comando:

```js
$ npm install jquery

```

Caso queira atualizar a versão do jQuery em seu projeto, basta executar o comando:

```js
$ npm update jquery

```

O npm também pode ser usado para instalar outros programas que podem nos auxiliar no desenvolvimento de nossas aplicações e executar comandos, como é o caso do nosso servidor de desenvolvimento, o [Tw Dev Server](https://www.treinaweb.com.br/blog/tw-dev-server-como-ele-pode-te-ajudar-a-estudar-programacao/ "Tw Dev Server"), que pode te ajuda em testes e estudos.

- [https://www.npmjs.com/](https://www.npmjs.com/ "https://www.npmjs.com/")

[  ![Webpack - Empacotando aplicações](https://d2knvm16wkt3ia.cloudfront.net/assets/svg-icon/webpack.svg)   Curso Webpack - Empacotando aplicações Conhecer o curso ](https://www.treinaweb.com.br/curso/webpack-empacotando-aplicacoes)

## Testes

![](https://dkrn4sk0rn31v.cloudfront.net/2018/05/01101124/jasmine.png)

Quando estamos escrevendo código [é preciso fazer muitos testes](https://www.treinaweb.com.br/blog/por-que-escrever-testes-automatizados/ "é preciso fazer muitos testes") para assegurar que nossas funções estão retornando o valor esperado. É bom sempre testar a mesma função passando vários valores diferentes, inclusive valores que a função não aceita para ver se há necessidade de criar um tratamento para a aplicação não quebrar.

Acontece que qualquer alteração em uma função pode afetar outras funções. Então há ferramentas que facilitam a criação de testes.

- [https://qunitjs.com/](https://qunitjs.com/ "https://qunitjs.com/")
- [https://mochajs.org/](https://mochajs.org/ "https://mochajs.org/")
- [https://jasmine.github.io/](https://jasmine.github.io/ "https://jasmine.github.io/")
- [https://testing-library.com/](https://testing-library.com/ "https://testing-library.com/")
- [https://jestjs.io/](https://jestjs.io/ "https://jestjs.io/")
- [https://www.cypress.io/](https://www.cypress.io/ "https://www.cypress.io/")

[  ![JavaScript - Testes automatizados com Jasmine](https://d2knvm16wkt3ia.cloudfront.net/assets/svg-icon/jasmine.svg)   Curso JavaScript - Testes automatizados com Jasmine Conhecer o curso ](https://www.treinaweb.com.br/curso/testes-automatizados-em-javascript-com-jasmine)

## Qualidade de Código

![](https://dkrn4sk0rn31v.cloudfront.net/2018/05/01101146/jslint.png)

Quando estamos escrevendo nosso código, é muito importante mantê-lo com qualidade. Uma característica de um código de qualidade é mantê-lo uniforme.

Isso inclui sempre identar o código, padronizando a quantidade de espaços ou se será usado “tab”, se ao criar uma função você irá abrir chaves “{“ na mesma linha ou em uma linha nova, etc.

- [http://www.jslint.com/](http://www.jslint.com/ "http://www.jslint.com/")
- [http://jshint.com/](http://jshint.com/ "http://jshint.com/")

Há ferramentas como o JSLint e JSHint que analisam o nosso código e indicam se estamos mantendo as regras que foram definidas.

## Automatização de Tarefas

![](https://dkrn4sk0rn31v.cloudfront.net/2018/05/01101212/gulp-e-grunt.png)

Quando estamos desenvolvendo é comum precisarmos realizar certas operações para melhorar o nosso código. Um exemplo é minificar o nosso código, fazendo com que os arquivos fiquem menores, o que faz a aplicação ser carregada mais rapidamente pelo navegador.

Outras tarefas podem ser a execução de testes de qualidade, como o JSLint, ou testes de software, como o Jasmine.

Para nos auxiliar temos os automatizadores de tarefas. Os mais famosos são o Grunt e o Gulp. Podemos definir qualquer tarefa e pedir para que estas ferramentas as executem para nós.

- [https://gulpjs.com/](https://gulpjs.com/ "https://gulpjs.com/")
- [https://gruntjs.com/](https://gruntjs.com/ "https://gruntjs.com/")

Imagine que quando salvamos um arquivo, ele deve ser testado pelo Jasmine, analisado pelo JSLint e, se todos os testes passarem, iremos minificar o arquivo.

E mais! Podemos querer também que se tudo der certo, ele envie um E-mail para o nosso cliente dizendo que em breve iremos lançar uma nova versão da nossa aplicação!

Eles nos ajudam a automatizar o que quisermos, o limite é sua imaginação!

[  ![Webpack - Empacotando aplicações](https://d2knvm16wkt3ia.cloudfront.net/assets/svg-icon/webpack.svg)   Curso Webpack - Empacotando aplicações Conhecer o curso ](https://www.treinaweb.com.br/curso/webpack-empacotando-aplicacoes)

## Servidores

![](https://dkrn4sk0rn31v.cloudfront.net/2018/05/01101235/express.png)

Normalmente os códigos escritos no lado do servidor são feitos com linguagens como Java, PHP, Ruby, etc.

Com o Node.js foi possível começar a escrever código para o servidor com JavaScript. Já houve outras tentativas, mas o Node.js teve mais sucesso.

Os frameworks mais conhecidos para Node.js são: Express, Hapi e Koa.

- [http://expressjs.com](http://expressjs.com "http://expressjs.com")
- [https://hapijs.com/](https://hapijs.com/ "https://hapijs.com/")
- [http://koajs.com/](http://koajs.com/ "http://koajs.com/")

![](https://dkrn4sk0rn31v.cloudfront.net/2018/05/01101258/meteor.png)

Também podemos criar código Back End com o Meteor. O Meteor é uma plataforma de desenvolvimento fullstack (front e back end).

[  ![C# (C Sharp) Intermediário](https://d2knvm16wkt3ia.cloudfront.net/assets/svg-icon/csharp.svg)   Curso C# (C Sharp) Intermediário Conhecer o curso ](https://www.treinaweb.com.br/curso/csharp-intermediario)

## Bancos de Dados

![](https://dkrn4sk0rn31v.cloudfront.net/2018/05/01101317/mongodb.png)

O [MongoDB](https://www.treinaweb.com.br/blog/o-que-e-mongodb/ "MongoDB") é um [banco de dados](https://www.treinaweb.com.br/blog/o-que-e-banco-de-dados/ "banco de dados") orientado a documentos. O console que usamos para acessar os dados executa JavaScript. Então se você sabe JavaScript, pode ter facilidade em aprender a gerenciar o MongoDB.

- [https://www.mongodb.com/](https://www.mongodb.com/ "https://www.mongodb.com/")

## Aplicativos Mobile

![](https://dkrn4sk0rn31v.cloudfront.net/2018/05/01101339/cordova.png)

Com JavaScript também podemos criar aplicativos mobile. A vantagem é usar uma única linguagem de programação para as diferentes plataformas. O modo mais conhecido é usando o Cordova/PhoneGap. Com eles nós criamos aplicações híbridas.

- [https://cordova.apache.org/](https://cordova.apache.org/ "https://cordova.apache.org/")
- [https://phonegap.com/](https://phonegap.com/ "https://phonegap.com/")

São chamadas de “híbridas” porque unem duas tecnologias diferentes. Por exemplo, o código nativo do Android é escrito em [Java](https://www.treinaweb.com.br/blog/5-motivos-para-estudar-java/ "Java"). Com o Cordova nós criamos aplicações web comuns, com HTML+CSS+JavaScript. Para acessar funcionalidades do dispositivo, há uma integração do código nativo em Java e nós acessamos essas funcionalidades pelo JavaScript.

Quando abrimos o aplicativo, estamos na verdade abrindo um navegador interno que irá apresentar a nossa aplicação e que pode acessar funcionalidades do dispositivo que não poderíamos acessar a partir de uma aplicação web comum.

Então a ideia de “híbrido” é porque estamos juntando tecnologia web com a tecnologia nativa.

![](https://dkrn4sk0rn31v.cloudfront.net/2018/05/01101403/react.png)

- [https://reactnative.dev/](https://reactnative.dev/ "https://reactnative.dev/")

Também podemos criar aplicações nativas. As ferramentas mais conhecidas são o [React Native](https://www.treinaweb.com.br/blog/o-que-e-o-react-native/ "React Native") e o NativeScript. Com eles nós criamos telas com XML ao invés de HTML, e podemos estilizar com CSS. Isso será convertido para uma tela nativa de cada plataforma, como Android e iOS. Já as ações são escritas com JavaScript mesmo.

A vantagem disso é que, por ser uma aplicação nativa ao invés de uma aplicação com um navegador, teremos melhor performance do que uma aplicação híbrida.

Outra vantagem é que as aplicações híbridas dependem do navegador padrão do sistema, então corremos o risco de criar um código que o navegador daquele dispositivo não suporte. Em uma aplicação nativa, já que não dependemos de navegadores, não precisamos nos preocupar se haverá suporte para as funcionalidades ou não.

[  ![React Native - Acesso às APIs de Hardware](https://d2knvm16wkt3ia.cloudfront.net/assets/svg-icon/react-native.svg)   Curso React Native - Acesso às APIs de Hardware Conhecer o curso ](https://www.treinaweb.com.br/curso/react-native-acesso-as-apis-de-hardware)

## Softwares Desktop

![](https://dkrn4sk0rn31v.cloudfront.net/2018/05/01101424/electron.png)

Com o Node.JS também é possível criar aplicações Desktop. Estas aplicações normalmente utilizam o Chromium, navegador de código aberto que está por trás do Google Chrome, e o Node.js.

As telas são feitas com HTML5 e CSS3, e o JavaScript pode se comunicar diretamente com o Node.js, que fica embutido na aplicação.

Atualmente o framework mais utilizado é o [Electron](https://www.treinaweb.com.br/blog/o-que-e-electron/ "Electron"), criado pela equipe do GitHub. Com ele já foram desenvolvidos famosos softwares como o Atom, Slack, WhatsApp Desktop e Visual Studio Code.

- [https://electronjs.org/](https://electronjs.org/ "https://electronjs.org/")

![](https://dkrn4sk0rn31v.cloudfront.net/2018/05/01101448/desktop-apps.png)

[  ![Electron - Criação de aplicações desktop](https://d2knvm16wkt3ia.cloudfront.net/assets/svg-icon/electron.svg)   Curso Electron - Criação de aplicações desktop Conhecer o curso ](https://www.treinaweb.com.br/curso/electron)

## SmartTVs

![](https://dkrn4sk0rn31v.cloudfront.net/2018/05/01101508/smartv.png)

Também é possível criar aplicativos para SmartTVs. Você irá também usar HTML/CSS/JavaScript. As que dão maior suporte para isso são as TVs da Samsung.

## 3D

![](https://dkrn4sk0rn31v.cloudfront.net/2018/05/01101532/3d.png)

A partir do elemento `canvas` do HTML5 também temos uma API chamada WebGL. Ela nos ajuda a trabalhar com renderização de gráficos 2D e 3D.

Uma biblioteca que nos ajuda a trabalhar com 3D com JavaScript é o three.js.

- [https://threejs.org/](https://threejs.org/ "https://threejs.org/")

## Jogos

![](https://dkrn4sk0rn31v.cloudfront.net/2018/05/01101553/impact.png)

Também é possível [criar jogos com JavaScript](https://www.treinaweb.com.br/blog/como-um-jogo-digital-e-criado/ "criar jogos com JavaScript"). Isso graças ao elemento `canvas` do HTML5, que nos permite desenhar na tela com JavaScript.

Há várias bibliotecas que nos ajudam a criar jogos com JavaScript. Uma das mais famosas é o Impact, que era paga, mas agora é gratuita. Infelizmente parou de ser atualizada. Uma outra famosa, que é gratuita e ainda está em constante evolução, é o Phaser.

- [http://impactjs.com/](http://impactjs.com/ "http://impactjs.com/")
- [https://phaser.io/](https://phaser.io/ "https://phaser.io/")

Como os jogos apenas usarão o elemento `canvas` do HTML5 e JavaScript, você poderá criar jogos para qualquer lugar que os suporte ou possua um navegador.

Pode-se usar ferramentas como o Cordova/Phonegap, mas também há outras ferramentas que ajudam a otimizar jogos feitos com JavaScript para dispositivos móveis.

## Plugins

![](https://dkrn4sk0rn31v.cloudfront.net/2018/05/01101614/photoshop.png)

Há softwares que possibilitam a criação de plugins. Isso permite que as pessoas criem novas funcionalidades para eles. Normalmente esses plugins são escritos com linguagens de scripts.

Um exemplo é o [PhotoShop](https://www.avmakers.com.br/blog/qual-diferenca-entre-o-lightroom-e-o-photoshop-e-qual-escolher/ "PhotoShop"). Ele aceita a criação de plugins escritos em JavaScript.

## Sistemas Operacionais

![](https://dkrn4sk0rn31v.cloudfront.net/2018/05/01101632/nodeos.png)

Um sistema baseado no Node.js, escrito apenas com JavaScript, foi desenvolvido. É o NodeOS.

Qualquer pacote do npm é um pacote do NodeOS, o qual conta com mais de 475.000 pacotes. O objetivo do NodeOS é fornecer apenas o necessário e o npm cuida do resto. Já que qualquer um pode contribuir com o npm, qualquer um pode criar pacotes para o NodeOS.

Você pode ver mais em:

- [http://node-os.com/](http://node-os.com/ "http://node-os.com/")

## Programação de Hardwares e Internet das Coisas

![](https://dkrn4sk0rn31v.cloudfront.net/2018/05/01101652/drone.png)

Com o Node.JS também é possível controlar hardwares. Podemos então usar o JavaScript para trabalhar além das telas dos computadores e celulares, como controlar drones.

Ao programar placas, podemos criar códigos para até mesmo integrar vários objetos, o famoso “Internet das Coisas” (IoT). Imagine usar JavaScript para controlar as lâmpadas, portas e janelas de sua casa de acordo com a iluminação do ambiente. Ou que quando o GPS do seu smartphone perceber que você está chegando em casa ou no trabalho, ligue a cafeteira para que o café esteja pronto quando você chegar.

Um exemplo é o noduino, um framework para acessar os controles básicos do Arduino a partir de aplicações web usando HTML5, Socket.IO e Node.JS.

![](https://dkrn4sk0rn31v.cloudfront.net/2018/05/01101714/tessel.png)

Também há o projeto Tessel. No próprio site você pode comprar as placas para montar o seu produto.

![](https://dkrn4sk0rn31v.cloudfront.net/2018/05/01101739/cylon.png)

Outro famoso projeto é o Cylon.js. Ele é um framework voltado para robótica, computação física e Internet das Coisas.

Você pode ver mais em:

- [http://sbstjn.github.io/noduino/](http://sbstjn.github.io/noduino/ "http://sbstjn.github.io/noduino/")
- [https://tessel.io/](https://tessel.io/ "https://tessel.io/")
- [https://cylonjs.com/](https://cylonjs.com/ "https://cylonjs.com/")

## Hologramas

![](https://dkrn4sk0rn31v.cloudfront.net/2018/05/01101827/hologramas.png)

O JavaScript também é capaz de ser utilizado com hologramas. Um exemplo é o HoloJS, da Microsoft, que é um framework para criar aplicações holográficas usando JavaScript e WebGL.

- [https://github.com/Microsoft/HoloJS](https://github.com/Microsoft/HoloJS "https://github.com/Microsoft/HoloJS")

## Realidade Virtual e Realidade Aumentada

![](https://dkrn4sk0rn31v.cloudfront.net/2018/05/01101906/rv.png)

Muito se fala sobre Realidade Virtual e Realidade Aumentada. Um exemplo para realidade aumentada é o JavaScript ARToolKit.

[https://github.com/artoolkit/jsartoolkit5](https://github.com/artoolkit/jsartoolkit5 "https://github.com/artoolkit/jsartoolkit5")

## Inteligência Artificial

![](https://dkrn4sk0rn31v.cloudfront.net/2018/05/01101954/ai.png)

Também podemos aproveitar o JavaScript na área da inteligência artificial. Há muitas bibliotecas e exemplos.

Uma biblioteca muito usada para isso é o `Tensorflow.js`, versão em JavaScript da famosa biblioteca `Tensorflow`, originalmente escrita em [Python](https://www.treinaweb.com.br/blog/o-que-e-python/ "Python") pelo Google. Com ela podemos desenvolver modelos de [Machine Learning](https://www.treinaweb.com.br/blog/o-que-e-e-como-funciona-machine-learning/ "Machine Learning") diretamente no navegador ou com o Node.js.

Eu também já mostrei aqui no blog [como criar no navegador uma Inteligência Artificial que reconhece cores](https://www.treinaweb.com.br/blog/desenvolva-uma-inteligencia-artificial-que-reconhece-cores-diretamente-no-navegador-com-tensorflow-js/ "como criar no navegador uma Inteligência Artificial que reconhece cores") usando o `Tensorflow.js`.

- [https://www.tensorflow.org/js/](https://www.tensorflow.org/js/ "https://www.tensorflow.org/js/")

## Concluindo

Hoje em dia várias linguagens de programação tentam estar onipresentes, como é o caso do JavaScript. Porém, nem sempre é algo bom. Não existe “bala de prata”. Há linguagens que estão mais evoluídas e adaptadas para certas áreas.

Mesmo que JavaScript seja minha linguagem principal, há momentos em que prefiro usar outras linguagens de programação, pois admito que possuem ferramentas melhores para se trabalhar e acabam entregando algo com mais rapidez e qualidade.

A vantagem que enxergo em utilizar uma única linguagem em várias áreas é possibilitar que uma pessoa com conhecimento em uma linguagem possa experimentar novas áreas, ou que uma pequena empresa possa reaproveitar os conhecimentos da equipe e códigos para trabalhar com outras tecnologias.

[  ![IA Para Devs - Primeiros Passos](https://d2knvm16wkt3ia.cloudfront.net/assets/svg-icon/ia-para-devs.svg)   Curso IA Para Devs - Primeiros Passos Conhecer o curso ](https://www.treinaweb.com.br/curso/ia-para-devs-primeiros-passos)

- [ #JavaScript ](https://www.treinaweb.com.br/blog/tag/javascript)
- [ #NodeJS ](https://www.treinaweb.com.br/blog/tag/nodejs)
- [ #Mobile ](https://www.treinaweb.com.br/blog/tag/mobile)
- [ #Carreira ](https://www.treinaweb.com.br/blog/tag/carreira)
- [ #Games ](https://www.treinaweb.com.br/blog/tag/games)
- [ #3D ](https://www.treinaweb.com.br/blog/tag/3d)
- [ #Teste de Software ](https://www.treinaweb.com.br/blog/tag/teste-de-software)
- [ #IoT (Internet of Things) ](https://www.treinaweb.com.br/blog/tag/iot-internet-of-things)
- [ #Hardware ](https://www.treinaweb.com.br/blog/tag/hardware)

Autor

 ![Akira Hanashiro](//secure.gravatar.com/avatar/d107ca73135bc62770a67ebbfe4cf80d?d=mm)

## Akira Hanashiro

 Graduado em Análise e Desenvolvimento de Sistemas, Pós-graduado em Projetos e Desenvolvimento de Aplicações Web e MBA em Machine Learning. Especializado em Front End e curte desenvolvimento de jogos. 

 [Todos os artigos](https://www.treinaweb.com.br/blog/autor/akira-hanashiro)  

## Continue estudando

 Transforme leitura em prática com os cursos e formações da TreinaWeb.

 [Ver cursos](https://www.treinaweb.com.br/cursos)   

  Continue lendo

## Artigos relacionados

- ![](https://dkrn4sk0rn31v.cloudfront.net/uploads/2018/04/24103343/comecar-com-javascript1-400x280.png)  [ Javascript ](https://www.treinaweb.com.br/blog/categoria/javascript) 

     9 anos atrás

    ##  [ O que é e como começar com JavaScript? ](https://www.treinaweb.com.br/blog/o-que-e-e-como-comecar-com-javascript) 

     Quer iniciar seus estudos em JavaScript e não sabe por onde começar? Veja o que preparamos pra você.

     Ler artigo
- ![](https://dkrn4sk0rn31v.cloudfront.net/uploads/2021/04/5-bons-motivos-para-estudar-javascript-400x280.png)  [ Javascript ](https://www.treinaweb.com.br/blog/categoria/javascript) 

     6 anos atrás

    ##  [ 5 bons motivos para estudar JavaScript ](https://www.treinaweb.com.br/blog/5-bons-motivos-para-estudar-javascript) 

     O JavaScript é uma linguagem que está praticamente em todos os lugares por causa de sua flexibilidade e adaptabilidade à diversos ambientes. Vamos conferir nesse artigo 5 bons motivos para você estudar essa linguagem.

     Ler artigo
- ![](https://dkrn4sk0rn31v.cloudfront.net/uploads/2020/06/VUE-400x280.png)  [ Desenvolvimento Front-end ](https://www.treinaweb.com.br/blog/categoria/desenvolvimento-front-end) 

     6 anos atrás

    ##  [ O que é o Vue.js? ](https://www.treinaweb.com.br/blog/o-que-e-o-vue-js) 

     Atualmente, graças à popularização do JavaScript, existe uma grande variedade de frameworks front-end para diferentes propósitos. Neste artigo, será abordado o Vue.js, um dos frameworks JavaScript SPA da atualidade.

     Ler artigo
- ![](https://dkrn4sk0rn31v.cloudfront.net/uploads/2021/04/DOM-JAVASCRIPT-400x280.png)  [ Desenvolvimento Front-end ](https://www.treinaweb.com.br/blog/categoria/desenvolvimento-front-end) 

     6 anos atrás

    ##  [ Trabalhando com JavaScript no navegador ](https://www.treinaweb.com.br/blog/trabalhando-com-javascript-no-navegador) 

     Ao utilizar JavaScript para desenvolvimento web, é necessário entender o funcionamento do DOM (Document Object Model). O DOM é o que permite o acesso aos elementos HTML/XML para manipulá-los de forma que seja interessante para os nossos objetivos como desenvolvedor.

     Ler artigo
- ![](https://dkrn4sk0rn31v.cloudfront.net/uploads/2017/08/ainda-vale-a-pena-utilizar-o-jquery-400x280.png)  [ Javascript ](https://www.treinaweb.com.br/blog/categoria/javascript) 

     9 anos atrás

    ##  [ Ainda vale a pena utilizar o jQuery? ](https://www.treinaweb.com.br/blog/ainda-vale-a-pena-utilizar-o-jquery) 

     O jQuery é a biblioteca JavaScript mais famosa. Discutiremos nesse artigo se ainda vale a pena utilizá-lo e os cenários possíveis.

     Ler artigo
- ![](https://dkrn4sk0rn31v.cloudfront.net/uploads/2024/05/Criando_componente_snackbar_com_JavaScript_e_CSS-400x280.jpg)  [ Javascript ](https://www.treinaweb.com.br/blog/categoria/javascript) 

     3 anos atrás

    ##  [ Criando componente snackbar com JavaScript e CSS ](https://www.treinaweb.com.br/blog/criando-componente-snackbar-com-javascript-e-css) 

     Nesse artigo, você irá ter o passo a passo de como criar um componente de snackbar do zero. Sendo capaz de adapta-lo como preferir.

     Ler artigo
- ![](https://dkrn4sk0rn31v.cloudfront.net/uploads/2023/04/contexto-execucao-JS-400x280.png)  [ Javascript ](https://www.treinaweb.com.br/blog/categoria/javascript) 

     4 anos atrás

    ##  [ Contexto de execução JavaScript ](https://www.treinaweb.com.br/blog/contexto-de-execucao-javascript) 

     Contexto de execução JavaScript é um conceito abstrato que contém informações sobre o ambiente no qual o código atual está sendo executado

     Ler artigo
- ![](https://dkrn4sk0rn31v.cloudfront.net/uploads/2020/08/javascript-comandos-do-console-400x280.png)  [ Javascript ](https://www.treinaweb.com.br/blog/categoria/javascript) 

     5 anos atrás

    ##  [ Trabalhando com data no JavaScript ](https://www.treinaweb.com.br/blog/trabalhando-com-data-no-javascript) 

     Neste artigo veremos como manipular datas no JavaScript, utilizando a classe Date, como pegar a data atual e utilizar os métodos da classe.

     Ler artigo
- ![](https://dkrn4sk0rn31v.cloudfront.net/uploads/2021/05/GUIA-LINGUAGEM-JAVASCRIPT-400x280.png)  [ Desenvolvimento Front-end ](https://www.treinaweb.com.br/blog/categoria/desenvolvimento-front-end) 

     6 anos atrás

    ##  [ Guia da Linguagem JavaScript ](https://www.treinaweb.com.br/blog/guia-da-linguagem-javascript) 

     Neste Guia da Linguagem Javascript vamos abordar aspectos fundamentais, como: tipos de dados, variáveis, objetos, arrays e muito mais.

     Ler artigo
- ![](https://dkrn4sk0rn31v.cloudfront.net/uploads/2020/10/o-que-e-ember-js-400x280.png)  [ Javascript ](https://www.treinaweb.com.br/blog/categoria/javascript) 

     6 anos atrás

    ##  [ O que é Ember.js? ](https://www.treinaweb.com.br/blog/o-que-e-ember-js) 

     Veja neste artigo o que é Ember.js.

     Ler artigo
- ![](https://dkrn4sk0rn31v.cloudfront.net/uploads/2020/03/27110853/REDUX-400x280.png)  [ Desenvolvimento ](https://www.treinaweb.com.br/blog/categoria/desenvolvimento) 

     7 anos atrás

    ##  [ O que é Redux? ](https://www.treinaweb.com.br/blog/o-que-e-redux) 

     Confira neste artigo o que é Redux.

     Ler artigo
- ![](https://dkrn4sk0rn31v.cloudfront.net/uploads/2020/03/18171011/ELECTRON-400x280.png)  [ Desenvolvimento Front-end ](https://www.treinaweb.com.br/blog/categoria/desenvolvimento-front-end) 

     7 anos atrás

    ##  [ O que é Electron? ](https://www.treinaweb.com.br/blog/o-que-e-electron) 

     Veja neste artigo o que é o Electron.

     Ler artigo

## Um ano de acesso total para você viver de programação.

 Todos os cursos e formações da TreinaWeb numa única assinatura, com professores que atuam no mercado, suporte direto e certificados. Do primeiro `console.log` ao mercado de trabalho.

- **1 ano** de acesso a **todos os cursos**
- Cursos novos **toda semana**
- Suporte **direto com professores**
- Plano de carreira **personalizado**
- **Certificados digitais** inclusos
- **Aplicativos** para Android e iOS, com **acesso offline**

    **Garantia incondicional de satisfação** 

 Teste por 7 dias e, se não fizer sentido para você, devolvemos seu dinheiro.

### Acesso completo a todos os cursos e dezenas de Formações.

 12 meses 

  Economize R$ 840,00  54% OFF 

 de 12x R$ 129,00 por apenas

 12x  R$ 59,00

 sem juros no cartão de crédito ou R$ 599,00 à vista

  Oferta termina em  **00h 47min 03s**

- Acesso imediato e ilimitado durante 1 ano.
- Plano de carreira personalizado.
- Suporte direto com professores.
- E muito mais!

 [Matricule-se agora](https://www.treinaweb.com.br/checkout/pagamento/plano/anual?cupom=TW-SCLIENTE26)

     [                ](https://www.treinaweb.com.br)

 Escola online de programação, tecnologia e IA.

- [  ](https://www.facebook.com/TreinaWeb/)
- [  ](https://www.instagram.com/treinaweb/)
- [  ](https://www.youtube.com/user/TreinaWeb)
- [  ](https://twitter.com/treinaweb)
- [  ](https://www.linkedin.com/company/treinaweb)
- [  ](https://github.com/treinaweb)

## Inscreva-se em nossa newsletter

Receba lançamentos, promoções e novidades.

   Seu nome     Seu WhatsApp     Seu melhor e-mail   Inscrever-se 

## Cursos

- [ Base para Devs ](https://www.treinaweb.com.br/categoria/base-para-devs)
- [ Front-end ](https://www.treinaweb.com.br/categoria/desenvolvimento-front-end)
- [ Back-end ](https://www.treinaweb.com.br/categoria/desenvolvimento-back-end)
- [ Mobile ](https://www.treinaweb.com.br/categoria/desenvolvimento-mobile)
- [ Bancos de Dados ](https://www.treinaweb.com.br/categoria/bancos-de-dados)
- [ Cloud ](https://www.treinaweb.com.br/categoria/cloud-computing)
- [ IA ](https://www.treinaweb.com.br/categoria/ia)
- [ E mais ](https://www.treinaweb.com.br/categoria/e-mais)
- [ Ver todos os cursos ](https://www.treinaweb.com.br/cursos)

## Conteúdo

- [ Formações ](https://www.treinaweb.com.br/formacoes)
- [ Projetos práticos ](https://www.treinaweb.com.br/projetos-praticos)
- [ Direto ao ponto ](https://www.treinaweb.com.br/direto-ao-ponto)
- [ Planos ](https://www.treinaweb.com.br#assinatura)
- [ Depoimentos ](https://www.treinaweb.com.br#depoimentos)
- [ Comunidade ](https://www.treinaweb.com.br#comunidade)
- [ Corpo docente ](https://www.treinaweb.com.br#docente)

## A empresa

- [ Sobre a TreinaWeb ](https://www.treinaweb.com.br#sobre)
- [ Perguntas frequentes ](https://www.treinaweb.com.br#faq)
- [ Vantagens de estudar na TreinaWeb ](https://www.treinaweb.com.br/vantagens-de-estudar-na-treinaweb)
- [ Cursos para empresas ](https://www.treinaweb.com.br/empresas)
- [ Sugira um novo curso ](https://www.treinaweb.com.br/sugerir-curso)
- [ Trabalhe conosco ](https://www.treinaweb.com.br/trabalhe-conosco)
- [ Artigos ](https://www.treinaweb.com.br/blog)
- [ Desenvolvedores e agentes ](https://www.treinaweb.com.br/developers)
- [ Contato ](https://www.treinaweb.com.br/contato)
- [ Política de privacidade ](https://www.treinaweb.com.br/politica-de-privacidade)
- [ Termos de uso ](https://www.treinaweb.com.br/termos-de-uso)

## Baixe nosso aplicativo

 [   Disponível na **App Store**  ](https://apps.apple.com/us/app/treinaweb/id1322729447) [   Disponível no **Google Play**  ](https://play.google.com/store/apps/details?id=br.com.treinaweb.mobile) 

  Av. Paulista, 1765, Conj 71 e 72 · Bela Vista · São Paulo · SP · 01311-200   © 2004 – 2026 TreinaWeb Tecnologia LTDA · CNPJ 06.156.637/0001-58
