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

O que acham do electron?

Olá, espero que todos estejam bem!

Recemente fiz uma aplicação de um relógio flip em html, css e js, até fiz uma publicação aqui sobre. Já ouvi falar diversas vezes do electron e fiquei bem curioso sobre, ele promete fazer aplicações desktop multiplataformas com essas ferramentas mencionadas. Por algum motivo hoje me deu uma coceirinha de testar o electron passando esse app para ele.

Alguém já utilizou? É uma ferramenta legal? Vale a pena se aventurar?

Obrigado!

Carregando publicação patrocinada...
6

Nunca utilizei mas ferramentas como:

  • Visual Studio Code
  • Figma
  • Discord
  • Slack
  • Obsidian

São todos construídos em Electron.

Pessoalmente eu sou contra usa - lo. Ele é muito mais "gordo" do que opções como Wails ou Tauri, e tem processos internos de otimização que não combinam bem, como usar JIT e ter um garbage collector.

Em comparação Wails e Tauri também usam WebView, com animações feitas em React, Vue ou seja lá qual for a lib. Mas o backend é puramente uma lang compilada (Go ou Rust) então não tem um processo intensivo de CPU. E ocupa muito menos RAM sendo igual ou superiormente responsivo

5

Por isso não uso nenhum deles :D

Concordo com você tenho palestra sobre isso e será tema secundário do primeiro vídeo do meu canal. Mas não acho que os "concorrentes" sejam tão melhores assim. Já mostro o porquê das aspas.

A não ser que algo tenha mudado sem eu saber, e seria uma loucura fazer isso, o Electron não usa WebView. Na verdade a vantagem dele, sim, tudo tem vantagens, além das desvantagens, é justamente não usar WebView e ficar dependente do renderizador que o sistema operacional oferece, que pode até quebrar sua aplicação em alguma atuaalização que você não tem controle. Apesar dos problemas, o Electron te dá controle sobre a plataforma. Tinha que ter uma solução.

Pela minha experiência em quase todos os casos é um erro de engenharia adotar o Electron e algumas alternativas. Existem alguns casos que pode fazer sentido, mas o resto é decisão política ou simples incompetência.

Existem alternativas ou experimentos para várias linguagens, por exemplo .NET:


Farei algo que muitos pedem para aprender a programar corretamente, gratuitamente (não vendo nada, é retribuição na minha aposentadoria) (links aqui no perfil também).

2

Olá, obrigado pelo comentário!

Vou pesquisar sobre os mencionados Wails e o Tauri. Não tenho uma experiência com desenvolvimento para desktop mas tenho uma curiosidade, vou procurar mais sobre.

Desejo tudo de bom para você!

3

Estou oficialmente utilizando o Electron há um ano para desenvolver um novo sistema de PDV (Ponto de Venda) para uma conhecida rede de lojas no Brasil. Quando iniciamos o projeto, avaliamos as opções entre o Electron e o Tauri, e, após algumas pesquisas, decidimos pelo Electron devido à sua comunidade mais ampla, o que nos trouxe mais segurança para enfrentar os desafios que surgiriam.

Minha opinião sobre o Electron é que ele é uma ferramenta bastante acessível, com uma documentação clara e detalhada. Acredito que vale a pena explorar e se aprofundar no seu estudo. Como dica, para quem busca algo mais desafiador, sugiro implementar a lógica do timer do relógio flip no lado do Electron e passar as informações para a interface usando IPC (Inter-Process Communication). Além disso, considere executar o timer em uma thread separada para evitar sobrecarregar a thread principal.

2

Apesar de todas as controvérsias, eu gostei de usar Electron. No meu antigo emprego, tínhamos sistemas rodando em Electron, tanto em desktops quanto em mini-totens e totens. E funcionavam bem; tinha opção de auto-update etc. E você pode usar o conhecimento que já tem em HTML, CSS e JavaScript, ou até mesmo React, para fazer algo. Claro que, se quiser algo mais robusto ou performático, terá opções melhores. Mas para testes, experimentos e até projetos mais simples, funciona muito bem. No caso do meu antigo emprego, esses produtos em Electron eram os principais produtos da empresa, e conseguiam da conta do recado.

1

Acredito que foi direto ao ponto pelo que pesquisei, é uma ferramenta prática que não tem tanta performance.

Obrigado pelo seu relato!
Tudo de bom!

2

Usei uma vez em um projeto da faculdade, ele é bom para aplicações se você quer construir um sistema Desktop com Tecnologias Javascript, não estudei muito a fundo sobre, mas pela minha experiência de utilização ele parece ser bem mais robusto se comparado a outras aplicações desktop(não sei se tinha relação com a forma a qual escrevi o código ou quantidade de arquivos). O resultado final foi uns 50~60MB para uma apliação simples de envio de dados em formulário.

2
2

Eu utilizei ela recentemente fiz sistema inteiro utilizando ela, desde a conexão com banco até os cruds e geração de pdfs.
Eu comecei mal sabando como iniciado o projeto, a curva de aprendizado foi bem rápida.
Acho que é uma boa opção para desktop. Mas como já vi que falaram aqui ela parece pecar um pouco na segurança já que dá pra usar dev tools e outras coisinhas.

Mas no geral a minha experiência foi boa e me satisfez no meu projeto. O cliente tá usando e tá tudo indo certo

1

Quase tão odiado quanto Java, uma verdadeira 💩. Na verdade é uma gambiarra de JS para fazer aplicações web parecerem desktop, tipo um pwa ou cordova, ionic para mobile.

Para desenvolvimento desktop prefira tecnologias feitas para isso, como C#, Flutter, Java... Já tô até esperando os down votes de fanboys, mas essa é a verdade.

2

Opa, obrigado por comentar!

É interessante seu ponto de vista negativo também, ele é bem-vindo na discussão. Existem muitas dessas ferramentas ou "gambiarras" js. Acredito que por ser uma adaptação de uma aplicação web deve ser pouco performático. Mas para o propósito mencionado ele deve se encaixar bem, vou testar ele, acredito que conhecimento nunca faz mal e vale a pena a experiência. Quem sabe depois pesquisar, aprender e fazer uma aplicação com essas tecnologias mencionadas mais especializadas nisso.

Tudo de bom para você!

1

Concordo, eu mesmo testei o electron e não o odeio, mas foi uma experiência, no mínimo, ruim. Existem aplicativos que usamos diariamente que foram feitos com ele, mas é a minoria, fora a questão de conseguir fazer uma engenharia reversa e ter acesso ao fonte. Ele é cheio de questões de segurança para fazer uma ponte entre o back e front, pois é muito fácil de ficar vulnerável e ter informações importantes acessadas pelo devtools (jpa que não passa de um navegador). É como se pegasse um site e gerasse um executável.

1

O problema que eu vejo em usar Electron com o relógio, é que seria algo um pouco mais pesado para um relógio simples. Eu acho mais viável quando é um programa desktop mais complexo como VS Code, Discord etc

Conteúdo excluído
2

Olá, obrigado pelo comentário!

Bem legal a ideia desse arquivo .hta, vou pesquisar mais sobre. Parabéns pelo material.

Desejo tudo de bom para você!