Al hacer una aplicación de escritorio, generalmente se querrá acceder a funciones que interactúen con el sistema. Esto se puede hacer a partir del proceso main
el cual contiene API nativas que realizan esto. Para ello se tiene que comunicar dicho proceso con el proceso renderer
, donde se encuentra Angular.
Dicha comunicación se realiza a través del IPC (Inter-Process Comunication):
- IpcMain: Maneja la comunicación de procesos desde el
main
(main
--> App). - IpcRenderer: Maneja la comunicación de procesos a partir del
renderer
(App -->main
)
Estos contienen métodos como on
para escuchar por evento o send
para enviarlo. Por lo que se podría hacer que IpcRenderer
envíe un evento a IpcMain
ejecutar alguna función nativa y devolver un resultado si es el caso.
Para utilizar el IpcRenderer
, se tiene un servicio de Angular donde se tiene expuesto y hace que sea accesible a toda la aplicación.
- src/
- app/ (center of code)
- assets/
- environments/
- app/
- core/ (center of the application)
- modules/ (individual modules)
- shared/
- singleton services
- interceptors
- guards
- core/
- core.module.ts
- components/
- header/
- header.component.[html, css, ts, spec.ts]
- models/
- author.models.ts
- services/
- import
FormsModule
,ReactiveFormsModule
and other 3rd party modules
- shared/
- shared.module.ts
- components/
- card/
- button/
- directives/
- pipes/
- models/
- modules/
- home/
- home.module.ts
- home-routing.module.ts
- components/
- pages/
- services/
- assets/
- styles/
- fonts/
- partials/
- themes/
- app.scss
- img/
- i18n/