53 lines
3.5 KiB
Markdown
53 lines
3.5 KiB
Markdown
# 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 ](http://dev.chromium.org/developers/design-documents/multi-process-architecture) 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`.
|