3.5 KiB
3.5 KiB
Estrutura de Diretórios do Código-Fonte
O código-fonte do Electron é separado em algumas partes, seguindo principalmente as convenções de separação do chromium.
Você pode se familiarizar com a arquitetura de multiprocessamento do Chromium para entender melhor o código-fonte.
Estrutura do Código-Fonte
Electron
├──atom - Código fonte do Electron.
| ├── app - Código de inicialização.
| ├── browser - A interface incluíndo a janela principal, UI, e todas as coisas do processo principal. Ele se comunica com o renderizador para gerenciar as páginas web.
| | ├── lib - Código Javascript para inicializar o processo principal.
| | ├── ui - Implementação da UI para plataformas distintas.
| | | ├── cocoa - Código-fonte específico do cocoa .
| | | ├── gtk - Código-font específico do GTK+.
| | | └── win - Código-fonte específico do Windows GUI.
| | ├── default_app - A página padrão é mostrada quando
| | | Electron inicializa sem fornecer um app.
| | ├── api - Implementação do processo principal das APIs
| | | └── lib - Código Javascript, parte da implementação da API.
| | ├── net - Código relacionado a rede.
| | ├── mac - Código fonte em Object-c, específico para Mac.
| | └── resources - Icones, arquivos dependentes da plataforma, etc.
| ├── renderer - Código que é executado no processo de renderização.
| | ├── lib - Parte do código Javascript de inicialização do renderizador.
| | └── api - Implementação das APIs para o processo de renderizaçãp.
| | └── lib - Código Javascript, parte da implementação da API.
| └── common - Código que utiliza ambos os processos, o principal e o de rendezição,
| ele inclui algumas funções utilitárias e códigos para integrar com ciclo de mensagens do node no ciclo de mensagens do Chromium.
| ├── lib - Código Javascript comum para a inicialização.
| └── api - A implementação de APIs comuns e fundamentação dos
| módulos integrados com Electron's.
| └── lib - Código Javascript, parte da implementação da API.
├── chromium_src - Código-fonte copiado do Chromium.
├── docs - Documentação.
├── spec - Testes Automáticos.
├── atom.gyp - Regras de compilação do Electron.
└── common.gypi - Configuração específica do compilador e regras de construção para outros componentes
como `node` e `breakpad`.
Estrutura de Outros Diretórios.
- script - Scripts utilizado para fins de desenvolvimento como building, packaging, testes, etc.
- tools - Scripts auxiliares, utilizados pelos arquivos gyp, ao contrário do
script
, os scripts colocados aqui nunca devem ser invocados diretamente pelos usuários. - vendor - Dependências de código-fonte de terceiros, nós não utilizamos
third_party
como nome porque ele poderia ser confundido com o diretório homônimo existente no código-fonte do Chromium. - node_modules - Módulos de terceiros em node usados para compilação
- out - Diretório temporário saída do
ninja
. - dist - Diretório temporário do
script/create-dist.py
ao criar uma distribuição - external_binaries - Binários baixados de Frameworks de terceiros que não suportam a compilação com
gyp
.