Executando verificação de segurança...
2

[Questionamento / Opinião] - Dart / JavaScript

Pessoal estudo programação desde 2019, na época estava na faculdade, lá começamos com a linguagem C e pouco tempo depois no Python. De lá pra cá, tenho usado Python em alguns projetos pessoais, CRUDs e projetos web com Django. Porém, estive pensando em investir tempo em aprender uma linguagem que me facilitasse o desenvolvimento de projetos que pudesse distribuir em multiplataforma. Nesse sentido, pensei em focar meu aprendizado em Dart ou JavaScript, pelas duas oferecerem o que estou buscando. Gostaria de saber o que acham dessas duas linguagens e qual delas seria interessante começar? Agradeço a todos que puderem deixar sua contribuição.

Carregando publicação patrocinada...
4

No início eu não gostava do JavaScript, até hoje vejo os memes do "1"+"1" = 11. Como uma linguagem foi utilizar o + para concatenar 😅. Mas o JavaScript foi evoluindo até chegar em um nível de simplicidade para manipular elementos do DOM sem a necessidade de utilizar nenhum framework ou biblioteca. Com a chegada do node.js / V8 a brincadeira ficou ainda mais divertida por ser a única linguagem que todos os programadores web já utilizam, caiu muito fácil na graça de todos. Até porque quando utilizamos o JS na manipulação do DOM o código todo é aberto, basta dar um ctrl+u. Eu mesmo já copiei muito código de outros sites. Já no backend isso não acontece.
Atualmente tenho 2 linguagens preferidas PHP e JS.

Sobre o Dart nunca utilizei na prática mas com certeza se utilizar vou me apaixonar também!

Em 2020 até cheguei fazer um vídeo sobre os 5 motivos que fez o JS ficar tão famoso.
https://youtu.be/FeyNsqTnMws

3

Pois é. Fiz um peojeto na faculdade utilizando React Native, mas foi bem meia boca. Foi aquela coisa de desespero, tinha pego Covid e tava no final do curso. Fiz um aplicativo sem entender muito bem os conceitos da linguagem, via o codigo de outra pessoa funcionando e tentava aplicar no meu. Até que ficou bom, pra quem não sabia nada e fiz um app rodar em menos de 10 dias. Isso foi no ano passado. Não lembro praticamente nada de como fiz naquela época. Hoje quero empenhar tempo em aprender a linguagem para poder fazer projetos pessoais e para meu trabalho, como forma de exercitar meu conhecimento e possivelmente atuar na área de desenvolvimento de forma mais profissional em algum tempo, não sei exatamente qual, mas um dia. Gostei do que vi no Dart, suas possibilidades de desenvolvimento muiltiplataforma, etc, sei que JavaScript é uma linguagem com uma comunidade e tutoriais bem mais ativas. Isso foi o que percebi em algumas buscas, não vi tantos conteúdos de Dart, acredito que seja pelo que o Filipe deixou ma resposta anterior, pois é uma linguagem "nova", que veio ganhar força depois do Flutter. Dentro dessa premissa, talvez estudar JavaScript e seus frameworks em seguida, seja a melhor escolha.

1

Esse tipo de pergunta é sempre difícil de responder, pois vai muito de entender em detalhes o contexto que a pessoa vive. Mas vou tentar dar uma visão macro no que acredito e isso obviamente vai ter um viés na linguagem que uso hoje que é JavaScript.

Mas eu preciso começar destacando que Dart, na minha visão, é uma linguagem muito mais profissional que o JavaScript, fora que ela não precisa manter backwards compatibility que o JavaScript precisa. Então difícilmente o JavaScript consegue se desfazer de decisões erradas que foram implementadas na linguagem no passado para justamente manter a web compatível o máximo que der. Então ela só fica cada vez mais complexa.

Por outro lado, o Dart foi criado para matar o JavaScript e literalmente essa era uma das campanhas informais que eram rodadas no passado quando a linguagem surgiu. Isso foi um baita passo em falso, deu super errado e a linguagem ficou num limbo... até se tornar a linguagem base do Flutter em maio de 2017.

Evolução da popularidade da linguagem de programação Dart do Google

Então hoje o maior volume das pessoas que utilizam Dart não é pela lingugem em sí, mas pelo Flutter, por um framework que resolve algum problema de uma forma ótima. E não tem nada de surpreendente nisso, porque com JavaScript é o exato mesmo comportamento.

Eu odiava com todas as minhas forças ter que programar em JavaScript, mas me forcei aprender para conseguir usar o Socket.io, que é uma biblioteca para trabalhar com WebSockets para Node.js. Eu não queria saber de JavaScript, eu não queria saber de Node.js, mas eu queria muito conseguir usar o Socket.io para fazer um chat em tempo-real.

E a popularidade do JavaScript vem em partes disso, sendo que com o Dart isso aconteceu apenas com o Flutter. O JavaScript não ganhou força pela linguagem que ela é, mas ganhou com diversas "ondas", frameworks, bibliotecas, em diversas áreas e também em diversas etapas do desenvolvimento. Por exemplo, no passado era muito comum você programar utilizando qualquer stack que não fosse JavaScript, mas utilizar as "build tools" em Node.js para compilar assets estáticos. Muitas pessoas aprenderam JavaScript com a onda dos aplicativos desktop híbridos usando o Electron, ou os aplicativos mobile nativos com React Native, ou até com a inesperada popularização de vários editores de código escritos em JavaScript, com o ganhador sendo o VS Code.

E numa visão macro da história da linguagem, há duas enormes ondas, sendo que a primeira foi o JavaScript ser a única linguagem compatível com os navegadores, e a segunda onda foi justamente com a criação do Node.js e as pessoas conseguirem criar soluções "full stack" utilizando uma única linguagem de programação. Não que isso seja a melhor escolha, mas em muitos cenários isso é o suficiente. Bom, a gente está conversando pelo TabNews que é uma plataforma que tem o frontend e backend escrito em JavaScript.

Bom, independente disso, sempre que eu escolho uma tecnologia eu tento pensar se eu tenho um Plano B caso meu principal objetivo com ela não dê certo. Por exemplo, se eu escolhesse Dart e Flutter, eu pensaria no quanto eu aprenderia sobre desenvolvimento mobile, principalmente na parte de UX e como eu poderia reaproveitar isso para qualquer outro passo que as tecnologias vão dar. Se eu escolhesse JavaScript, eu pensaria em todas as outras áreas que eu posso atuar com essa mesma linguagem se React Native não der certo.

Enfim, fica agora no seu exercício pensar se tanto o Plano A da sua escolha, quanto os Planos B, C, D, etc... lhe agradam 🤝

2

Simplesmente, fantástica a explicação. Acompanho o seu canal no Youtube há algum tempo e admiro o teu conteúdo, muito bom de verdade!
Muito obrigado pela opinião, acredito que ter um plano A, B e até mais que esses, farão em focar na linguagem que me ofereça maiores possibilidades de uso.