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

JavaScript não presta?

"JavaScript não presta" é uma frase comum em conversas com desenvolvedores mais experientes, que geralmente conhecem várias linguagens e têm bastante experiência. Mas será que isso é verdade? Por que o JS não seria bom? E se ele realmente fosse ruim, por que estaria sendo tão amplamente utilizado?

Para começar, na verdade não! O JavaScript não está sendo amplamente utilizado, pelo menos não como você pensa. De acordo com dados recentes, o PHP ainda é responsável por cerca de 77% dos servidores web, enquanto o Node.js representa apenas cerca de 2% do total. Isso mostra que, apesar do crescimento do JavaScript no desenvolvimento full-stack, o PHP ainda domina grande parte dos servidores ao redor do mundo.

Startups Modernas e Node.js

Mas é preciso reconhecer um fato: o JavaScript está crescendo rapidamente. Muitas startups modernas optam por soluções baseadas em Node.js, e é cada vez mais comum ouvir frases como "nossa API é feita em Node". Mas por que o Node.js vem tendo toda essa adoção pela comunidade e pelas novas startups?

Essa adoção está acontecendo porque o JavaScript pode ser utilizado em diversas camadas do desenvolvimento. No back-end, temos o Node.js, que permite que os servidores sejam implementados usando a mesma linguagem do front-end. No front-end, frameworks como React proporcionam uma experiência de desenvolvimento dinâmica e altamente interativa. Além disso, o JavaScript também é utilizado em outras áreas, como na criação de e-mails com frameworks como o JSX Mail.

Para as startups, essa abordagem é extremamente vantajosa, pois reduz a necessidade de contratar desenvolvedores especializados em diferentes linguagens. Basta contratar alguém que saiba JavaScript, e ele terá uma curva de aprendizado menor para trabalhar em diferentes partes do projeto. Isso contrasta com o que acontece ao usar linguagens mais segmentadas, como C#, que exigem equipes com habilidades distintas para back-end e front-end.

Use JavaScript no seu SaaS

Se você está desenvolvendo um SaaS (Software as a Service), o JavaScript pode ser uma excelente escolha por diversas razões. A principal vantagem de utilizar JavaScript é a capacidade de desenvolver tanto o back-end quanto o front-end utilizando a mesma linguagem, o que traz uma enorme eficiência para o projeto. Com o Node.js no back-end, você pode criar APIs e serviços robustos, enquanto frameworks como React e Vue.js no front-end oferecem uma experiência interativa e envolvente para os usuários.

Além disso, se você utilizar frameworks como o Next.js, é possível construir toda a aplicação em um único monolito, facilitando o desenvolvimento e a manutenção do código. Esse modelo unificado reduz a complexidade e permite que desenvolvedores tenham uma visão completa de todo o fluxo da aplicação, sem precisar alternar entre diferentes tecnologias.

Nem tudo são Nodes

Embora JavaScript e Node.js apresentem várias vantagens, especialmente em projetos menores ou startups, é importante destacar que nem tudo são benefícios, principalmente quando se fala de projetos maiores e mais complexos.

Um dos principais pontos negativos do JavaScript é sua performance. Sendo uma linguagem interpretada e de alto nível, ele acaba sendo mais lento em comparação com linguagens de baixo nível, como C ou C++. Essa lentidão se torna um problema significativo quando se trabalha com aplicações que exigem alta performance e eficiência. O JavaScript simplesmente não consegue competir com a velocidade e otimização que outras linguagens, mais próximas do hardware, podem oferecer.

Além disso, a ideia de usar uma única linguagem para todo o desenvolvimento — algo que parece ser uma grande vantagem — pode se tornar um problema em projetos de grande escala. Monolitos escritos inteiramente em JavaScript, por mais convenientes que sejam para startups, podem ser difíceis de manter e evoluir à medida que a aplicação cresce. Problemas de acoplamento de código, dificuldade em escalar partes específicas da aplicação e falta de especialização são pontos que podem comprometer o desenvolvimento a longo prazo.

Outro ponto é a própria natureza do JavaScript como uma linguagem dinâmica e de tipagem fraca, o que pode levar a muitos erros em tempo de execução, especialmente em aplicações grandes, onde o controle e a previsibilidade do código são fundamentais. O TypeScript existe para mitigar esses problemas, adicionando tipagem estática ao JavaScript, mas é fato que ele não chega nem aos pés da tipagem rigorosa que linguagens como Rust oferecem. Linguagens como C# e Java, com tipagem estática e compilação rigorosa, também oferecem mais segurança e controle, reduzindo as chances de erros inesperados durante a execução.

Portanto, embora o JavaScript seja uma excelente escolha para muitas situações, ele não é a solução ideal para todos os casos. Projetos grandes e que demandam alta performance, previsibilidade e manutenção facilitada podem se beneficiar mais de outras linguagens, que trazem características mais adequadas para esses requisitos.

Carregando publicação patrocinada...
8

Falando aqui, como alguém experiente em JS e também manetenedor de um framework grande.

Muito se fala como piada, mas uma pessoa que queria fazer uma aplicação enterprise ou que finaceira deve ser um louco.

Javascript tem muitos erros de design e débitos técnicos na sua implementação, mas nunca serão corrigidos porque isso quebraria compatibilidade com tudo que existe.

Trabalhar com as APIs vanilas do browser também é muito deselegante, existe muita coisa antiquada sem atenção, quem usa react, vue e angular não sabe as gambiarras que os frameworks precisam para fonrecer interfaces bonitas.

Também os pacotes NPM são em suma maioria mau feitos, o pessoal publica muita coisa repetida e sem testes, apenas frameworks grandes tem atenção a isso praticamente e muitos deles tem notas pessimas em linters e SASTs.

mas é uma boa linguagem para prototipar.

1

É complicado a opinião de alguns sobre javascript, porque os próprios comentários falta aprofundamento sobre a linguagem. Eu fiz um comentário aqui meio ácido sobre a opinião desse cidadão mas foi deletado, eu só acho meio revoltante a pessoa não ter conhecimento suficiente sobre a tecnologia e dizer algo como isso. Node js é usado por grandes empresas, juntamente com typescript que nada mais é do que um javascript com mais recursos, mas na minha opinião não deixa de ser javascript, então sim, o javascript se tornou uma linguagem "Enterprise" de alta escala. É só pesquisar e ver as big techs que usam tanto no frontend quanto no backend. O pior é que tem aos montes gente assim que detona o javascript se mais nem menos, e alguns iniciantes caem nesse hate que o javacript é saturado, javascript é ruim e bla bla. É preciso estar atento para refutar essas falácias para que outras pessoas não se prejudiquem com opiniões sem fundamento

1

Só uma correção, javascript não pode ser usado para aplicações Enterprise, pois não possui ponto fixo, é um recurso estritamente necessário para aplicações sérias e quando uma empresa precisa de um sistema robusto e acaba optando por node é um erro dos liders técnicos.

1

Meu querido isso não existe! para de falar besteira meu amigo! procura estudar antes de dizer coisas sem fundamento! SUgiro voce dizer isso ao Waldemar NEto Especialista em Node js que liderou Diversos projetos EnterPrise usando node. Custa pesquisar antes de falar o que não sabe

4

eu trabalhei nos últimos 6 anos em uma empresa que cresceu atendendo milhões de clientes, e toda a stack foi feita em JS/TS, mesmo com meus 8 anos anterioes trabalhando na maior parte do tempo com Java e secudariamente com Ruby, digo com tranquilidade que o ecossistema JS vai muito além de uma prototipagem.
Typescript possui o melhor sistema de tipos da atualidade, tanto que seu criador, Anders Hejlsberg, é uma figura importante no desenvolvimento de linguagens:
"He was the original author of Turbo Pascal and the chief architect of Delphi. He currently works for Microsoft as the lead architect of C#[1] and core developer on TypeScript.[3]" Wikipedia

O trabalho dele foi tão bem feito que outras linguagens fracamente tipadas estão absorvendo mecanismos de tipagens inspirados no TS. E a falta de tipagem que era uma dor no JS deixou de existir.

Em relação à performance, a empresa que trabalho é a prova de que o node atende. E dizer que C# é mais performático, é equivalente a adotar Assembly porque é mais performático.
Vale lembrar que a runtime do JS é normalmente em C++, e que as partes mais pesadas computacionalmente não são executas no JS. A rinha de backends que rolou há uns meses provou que a performance das aplicações eram muito semelahtes pq os reais gargalos não estão na linguagem em si.

JS, Java... todas essas linguagens possuem débitos técnicos que sempre terá uma outra linguagem "trazendo a solução", mas trazendo outros problemas. O nosso papel é se manter atualizado e saber avaliar o que vai entrefar o que sua empresa precisa.

A real é que JS é uma das linguagens mais simples, o event loop tira a complexidade de concorrência; a tipagem do TS te dá a robustez (e até mais poderes, ex.: Union Types) sem comprometer sua produtividade; e é o ecossistema mais amplo e rico da atualidade. Por isso tem JS pra todo lado.

A AWS possui maior parte das suas soluções dando suporte primariamente ao ecossistema JS, como as lambdas e o CDK (que é feito em TS, dando suporte a outras linguagens através de wrappers).
O Github Actions tem quase tudo feito em JS.
React, Angular, Vue, Svelte, NextJS etc. a web respira JS.
O pacote Office da Microsoft tem apps como Skype e Teams feitos em React Native.
Daria pra listar milhares de cases com JS e empresas escalando com Node sem problemas.
Achar que JS é ruim e não performático é raso demais.

6

Seu comentário é simplesmente sensacional.

Lembro de um curso que fiz uma vez em que ele dizia que boa parte das pessoas que reclamam do javascript na verdade nao sabem nem como ele é implementado ou como deve ser usado. As pessoas que programam fazendo gambiarra, nao o javascript.

Depois disso ele passou por algumas coisas que aparentemente nao faziam sentido e mostrou o algoritmo das operações do javascript, demonstrando que na verdade faziam sentido.

4

Desenvolvo com javascript ja ah alguns anos, mas recentemente passei a adotar o Typescript justamente pela tipagem.
Um monolito que desenvolvi todo em javascript passou a ficar muito complicado de manter, justamente por conta dos tipos. Tivemos de apelas para comentários e definições esquisitas, que na verdade usavam o TS.

Agora so desenvolvo usando TS e é muito melhor. JS puro pra mim so oara scriots simples e para rodar no browser.