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!
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
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.
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.
Eu tenho um pouco de experiência com electron. Instalei algumas vezes e brinquei um pouco para testar. Eu gerei alguns executáveis...
Eu tenho várias outras experiências com dev desktop e minha maneira favorita de gerar executáveis é com o formato hta (que eu acho que você pode se interessar).
Se você criar um arquivo de texto com a extensão hta (index.hta por exemplo) esse arquivo é executável e ele renderiza código html css js se você escrever nele.
Tem umas restrições mas no geral quebra um galho.
Eu acho que você pode se interessar nisso por que, assim como o electron, te permite gerar executaveis com HTML.
Eu mantenho esse tutorial sobre hta: https://aimowin.github.io/tutoriais/modulos/12/index.htm
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.
Meus 2 cents:
-
Ja usei em alguns projetos - para mim a grande vantagem foi a curva de aprendizado praticamente zero
-
Mas a aplicacao da uma 'engasgada' para subir
-
Encontrei este comparativo entre opcoes 'web to desktop':
https://github.com/Elanis/web-to-desktop-framework-comparison
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
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.
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