Criando aplicações desktop mutli-plataforma nativa com React

Postado por Fábio Rogério SJ em 29/03/2019

Assim como o ElectronJS, o Proton JS cria aplicações para desktop utilizando tecnologia web, neste caso é utilizado apenas o Javascript, através do React, pois os elementos de interface são nativos, um diferecial comparando com ElectronJS.

Neste artigo fiz um pequeno experimento para testar os principais componentes de interface.

Resultado: Não gostei muito do processo de build e do resultado final, mas para aplicações simples ele se faz mais útil do que Electron, pelo fato de ser mais leve e não precisar do Chomium para Linux, ja para Windows essa dependencia ainda é necessária.

Projeto demo em: https://github.com/fabiorogeriosj/react-desktop-proton

No Linux
No Windows

Como fiz essa demo

No Linux (Fedora):

1
2
3
sudo dnf install gtk3-devel gstreamer-devel clutter-devel webkitgtk3-devel libgda-devel gobject-introspection-devel
sudo dnf install "gtk+"
sudo dnf install gcc-c++

No Windows:

1
npm install --global --production windows-build-tools

No Mac:

– Não precisa de nada, mac já tem tudo que precisa! –

1
2
3
4
npm install -g create-proton-app
create-proton-app my-app
cd my-app
npm run start

Para quem usa StandarJS

Para quem usa StandarJS instale o babel-eslint para não ficar acusando erros das novas features do JS (ES Next).

1
npm install babel-eslint --save-dev

E adicione em seu package.json:

1
2
3
4
5
{
"standard": {
"parser": "babel-eslint"
}
}