После просмотра группового проекта с использованием электрона неделю назад мой первый опыт работы с Электроном подошел к концу. Мы создали приложение строки меню под названием ColorDrop, которое звучит именно так (вроде). Он открывает прозрачное окно и позволяет пользователю использовать свой курсор и выбирать цвета на своем собственном экране, чтобы получить шестнадцатеричное значение (вроде того, что вы видите в Photoshop). Это просто, но научило меня чертовски многому, когда дело доходит до Electron.
Как и в каждом новом проекте, в нем было и хорошее, и плохое, и уродливое. Я был действительно поражен тем, насколько легко было реализовать определенные функции. Например, создать собственное окно, которое появляется при открытии приложения? Простой:
const createWindow = exports.createWindow = () =› {
let newWindow = new BrowserWindow({
Transparent: true,
frame: true,
width: 1080,
> height: 1080,
parent: menubar
// полноэкранный режим: true
});
windows.add(newWindow)
newWindow.loadURL(`file://${__dirname}/canvas.html`);
newWindow.once(‘готово к показу’, () =› {
newWindow.show();
});
Добавление ширины, высоты и фона (в нашем случае нам нужно было, чтобы он был прозрачным) были добавлены прямо в этой функции createWindow. Есть ряд вещей, которые мы могли бы добавить к этому, вот список, если вам интересно.
То же самое можно сказать и о добавлении пунктов меню и ярлыков. Все это хранится в простой переменной.
Конечно, ВСЕ не может быть так просто (в конце концов, это программирование). Для меня самое сложное было с ipcRenderer и ipcMain. Я все еще пытаюсь полностью понять это, поэтому вот что говорят об этом документы Electron: Модуль ipcRenderer
является экземпляром класса «EventEmitter. Он предоставляет несколько методов, позволяющих отправлять синхронные и асинхронные сообщения из процесса рендеринга (веб-страницы) в основной процесс. Вы также можете получать ответы от основного процесса». Так что да, все может немного запутаться (по крайней мере, я так думал).
Должен сказать, это была веселая поездка. Электрон — отличная вещь для изучения, если вы хотите проявить творческий подход и создать что-то веселое и полезное за короткий промежуток времени. Я думаю, в этом была прелесть этого проекта — вы действительно можете построить что-то великое, и это не займет у вас много времени. Не нужно передумать!