Сегодня мы выпустили Wails v0.18.2, а вместе с ним функция замораживается, чтобы мы могли подготовиться к версии 1.0.0.

огромное спасибо всем, кто участвовал в этом выпуске!

Это был самый длинный период между выпусками, и он наполнен множеством функций!

Еще больше Linux!

Мы были очень заняты на фронте Linux, и теперь у нас есть поддержка:

  • Линукс Минт
  • КДЕ Неон
  • элементарный
  • Кали Линукс
  • Попугай
  • Зорин
  • Пустота Линукс

Плюс улучшенная поддержка существующих дистрибутивов:

  • Федора
  • CentOS
  • Дебиан
  • Арка
  • Gentoo

Рефакторинг среды выполнения

Часть Javascript среды выполнения была реорганизована, чтобы внести некоторые улучшения. Он был собран как стандартный модуль узла, который теперь может быть импортирован внешним кодом для получения доступа к методам среды выполнения.

const runtime = require(‘@wailsapp/runtime’);
runtime.Events.On('myevent', () => {
  // your code
})

Это позволит нам улучшить среду выполнения с минимальным воздействием на код приложения.

Устаревший метод (переименование)

Исходные методы в нижнем регистре для среды выполнения JS устарели. Драйвером для этого стала унификация сигнатур Go и JS во время выполнения. Новые методы такие же, как и старые, только с большой буквы.

Обновления событий

В этом выпуске представлен огромный рефакторинг среды выполнения для улучшения удобства сопровождения и тестирования. Вместе с ним появился ряд новых методов, призванных упростить координацию между интерфейсом и сервером. В настоящее время они доступны только в среде выполнения JS.

Несколько

Events.OnMultiple(eventName, callback, maxCallbacks)

Регистрирует прослушиватель, который будет вызывать `callback` не более `maxCallbacks` раз. По истечении этого времени прослушиватель будет удален.

Один раз

Events.Once(eventName, callback)

Регистрирует прослушиватель, который будет уничтожен после однократного уведомления. Сокращение для `Events.OnMultiple(eventName, callback, 1)`.

Пульс

Events.Heartbeat(eventName, timeInMilliseconds, callback)

Сердцебиение будет выдавать `eventName` каждые `timeInMilliseconds`, пока оно не будет подтверждено `Event.Acknowledged`. Когда это происходит, вызывается callback.

Подтвердить

Events.Acknowledge(eventName)

Подтверждение подтверждает событие пульса `eventName`.

Привязка обновлений

Теперь можно правильно связывать методы Go с нулевыми возвращаемыми типами. Это вернет `undefined` в обратном вызове обещания.

Разные обновления

  • `wails issue` теперь включает версии npm, gcc и node. Спасибо Байрон!
  • `wails issue` теперь также зависит от `/etc/os-release` в Linux для системной информации, заменив требование `lsb`. Спасибо Николай Циммерманн!
  • Исправление было применено к шаблону React, что позволяет ему работать в Windows.

Следующий месяц мы посвятим улучшению документации и исправлению ошибок. Пожалуйста, сообщите нам, какие ошибки вы нашли в версии 0.18.2, и мы рассмотрим их с наивысшим приоритетом!

Надеемся, вам понравится этот релиз! До встречи в v1.0.0!