OutWiker 2.1.0.836 unstable. Очень важная версия

OutWiker 2.1.0.836 unstable. Очень важная версия

Если вы следите за новостями OutWiker в соц. сетях (ссылки есть в конце поста), то уже знаете, почему задержалась очередная нестабильная версия, и почему эта версия является такой важной с точки зрения разработки (изменений, заметных пользователю, пока не очень много). Для остальных я все сейчас подробно опишу (но это не повод не подписываться на канал в Telegram или группу Вконтакте).

В записи о прошлой нестабильной версии я уже писал, что благодаря Владимиру Тубольцеву OutWiker начал переезжать на wxPython 4, и поскольку обратная совместимость плагинов все равно в процессе переезда сломалась (для новой версии OutWiker нужно будет обязательно обновить плагины), то появился повод пойти дальше и начать переделывать OutWiker под Python 3.x (до этого OutWiker работал под Python 2.7, срок поддержки которого прекратится через два года). И эту работу тоже начал делать Владимир, а я потом продолжил.

На самом деле все обстоятельства сложились очень удачно. Владимир предложил помощь по переезду на wxPython 4 как раз в тот момент, когда оказалось, что из Ubuntu 17.10 удалили необходимую библиотеку для работы с WebKit, которая использовалась в wxPython 3. Ещё два месяца назад библиотека wxPython 4 был в статусе бета-версии, а сейчас уже зарелизилась и стала считаться стабильной. К этому моменту подоспела новая версия библиотеки pyInstaller, в которую добавили поддержку Python 3.6 (эта библиотека используется для создания запускаемых файлов из python-скриптов). Не все при переезде было безоблачно, пришлось столкнуться с некоторыми ошибками в wxPython, но на сегодняшний день они уже исправлены.

В результате перехода на Python 3.x и wxPython 4 из кода были убраны некоторые костыли, необходимость в которых пропала, во многих местах код стал более лаконичным.

Ну а раз плагины все равно нужно будет обновлять для работы с новой версией, то я взялся за переписывание некоторых внутренних API: выкинул некоторые куски кода, которые оставались там по историческим причинам для совместимости со старыми версиями плагинов, некоторые интерфейсы API сделал более простыми и подготовился к тому, чтобы в перспективе можно было бы переделать панели инструментов без переписывания плагинов (надеюсь, всё для этого учёл). В результате всех миграций все плагины переделывались по два-три раза, зато теперь при создании плагинов надо писать меньше однотипного кода.

Это все настолько крупные изменения, что появилась идея следующей версии OutWiker дать номер 3.0 вместо текущей 2.1. Сейчас я этого делать не стал только по той причине, что с точки зрения пользователей внешне мало, что поменялось. Но я хочу попробовать переделать панели инструментов в стиле Delphi, и если такой интерфейс приживётся, то OutWiker получил номер версии 3.0.

Но и в данной версии OutWiker все-таки есть изменения, которые увидят пользователи. Во-первых, теперь программа следит за папкой с прикреплёнными файлами, и, если вы, например, добавляете файлы в эту папку через файловый менеджер, минуя интерфейс OutWiker, то новые файлы сразу появятся в списке прикреплённых файлов. Поэтому отпала надобность в кнопке для ручного обновления списка прикреплённых файлов.

Во-вторых, в плагин Export2Html была добавлена поддержка Markdown-страниц (поддержки web-страниц пока нет, с ними надо возиться отдельно).

В плагине TeXEquation, который предназначен для вставки формул на викистраницы, была обновлена используемая библиотека KaTeX. Благодаря этому исчезла проблема с отображением векторов под Linux.

По ходу переписывания некоторых других плагинов заодно исправлял найденные ошибки.

Как вы понимаете, изменения в этой версии OutWiker просто огромные. Вполне возможно, что в процессе перехода на новые версии Python и wxPython я не заметил какие-то косяки, поэтому пишите, если заметите какие-то проблемы.

В этой версии больше всего возиться пришлось со сборкой под Linux. Очень тяжело поддерживать не только разные дистрибутивы Linux-а, на даже разные версии одного и того же дистрибутива. Поскольку теперь под Linux создаются только бинарные сборки, то пока пришлось отказаться от PPA, но deb-пакеты вы можете скачать со страницы загрузки. Продолжаю создавать пакеты AppImage. После какого-то обновления wxPython бинарные сборки перестали запускаться в Fedora 27, в чем проблема пока не знаю, надо разбираться.

Если вы хотите запускать OutWiker из исходников, то теперь это сделать стало проще, потому что теперь можно использовать virtualenv/venv, а все необходимые библиотеки устанавливать через pip. Только будьте готовы к тому, что под Linux во время установки wxPython она будет долго компилироваться (на моем ноутбуке с процессором i7 больше получаса), но если все необходимые пакеты установлены в системе, то от вас ничего не потребуется, вся установка полностью автоматизирована. Требуемые пакеты под Ubuntu перечислены в документации. Под Windows ничего компилировать не придётся, все зависимости установятся достаточно быстро.

На этом пока все новости, но всё самое интересное только начинается. Скачать нестабильную версию OutWiker вы можете на странице https://jenyay.net/Outwiker/Unstable или на github.

OutWiker в социальных сетях:

Вы можете подписаться на новости сайта через RSS, Группу Вконтакте или Канал в Telegram.

Пожалуйста, оцените запись

УжасноПлохоТак себеХорошоОтлично (Количество голосов: 4, средняя оценка: 5,00)
Загрузка...

Один комментарий

  1. DROS:

    «Это все настолько крупные изменения, что появилась идея следующей версии OutWiker дать номер 3.0 вместо текущей 2.1. Сейчас я этого делать не стал только по той причине, что с точки зрения пользователей внешне мало, что поменялось.»

    Вообще, принято менять мажорную версию при значительных изменениях в ПО, будь то ядро с той же потерей обратной совместимости или кардинальная переработка интерфейса. Так что логично версию обозвать, все же, 3.0 с литерой «b» на конце.

Leave a comment

Subscribe without commenting