Перейти к основному содержанию

Проект недели: WordPress Desktop

· 4 мин. прочитано

На этой неделе мы встретились с сотрудниками Automattic, чтобы поговорить о WordPressDesktop, настольном клиенте с открытым исходным кодом для управления контентом WordPress.


Приложения WordPress

Все знают о WordPress, но что такое WordPress Desktop?​

Настольное приложение Wordpress обеспечивает плавный кросс-платформенный интерфейс, который позволяет вам сосредоточиться на своем контенте и дизайне без вкладок браузера, которые отвлекали бы вас, или чтобы ваши сайты оставались в стороне, но были доступны. В сочетании с нашей поддержкой браузера и мобильным приложением вы можете создавать свой сайт в любом месте, любым способом, который поможет вам выполнить вашу работу.

Зачем создавать настольное приложение для управления сайтами WordPress? Разве все это не может быть веб-интерфейсом?​

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

Почему вы решили создать WordPress Desktop на Electron?​

В конце 2015 года мы перестроили большую часть WordPress.com в виде Calypso, современное приложение JavaScript с открытым исходным кодом, использующее React. Мы начали изучать Electron и с некоторыми изменениями в Calypso смогли запустить его локально. It was a compelling experience and we thought there was a lot of value in developing it further.

Над Calypso работает несколько команд. Чтобы создать полноценный многоплатформенный графический клиент, соответствующий этому, с использованием традиционных настольных технологий, потребовалось бы больше работы. Используя Electron, небольшая команда из 2-4 человек смогла объединить усилия другой команды и создать настольное приложение за пару месяцев.

С какими проблемами вы столкнулись при создании WordPress Desktop?​

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

Кроме того, было потрачено много усилий на упаковку приложения для разных платформ - мы предоставляем версии для Windows, macOS и Linux - и существует достаточно различий, чтобы сделать это сложным.

В то время Electron был относительно новым, и мы постоянно сталкивались с проблемами, которые вскоре исправлялись (иногда в один и тот же день!)

In what areas should Electron be improved?​

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

Мы также хотели бы увидеть, как некоторые из новых технологий Chrome также проникают в Electron. Мы особенно заинтересованы в экспериментах с WebVR.

What are your favorite things about Electron?​

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

Что будет дальше в WordPress Desktop?​

Самое замечательное в нашей модели то, что настольное приложение выигрывает от любой новой функции Calypso - оно постоянно совершенствуется. Мы надеемся, что сможем добавить в приложение дополнительные функции, такие как автономная поддержка, которая действительно перенесет приложение на родную территорию, и улучшит системные уведомления.

Есть ли какие-либо команды в Automattic, работающие над другими Electron приложениями?​

Да, после наших усилий над настольным приложением команда Simplenote решила использовать Electron для создания настольных приложений для Windows и Linux (собственный клиент Mac уже существует). Приложение Simplenote Electron также с открытым исходным кодом и доступно на Github.

У нас также есть предстоящая интеграция с Raspberry Pi, которая использует Electron.

Если что-то из этого звучит интересно, то мы бы с удовольствием выслушали вас!

Any Electron tips that might be useful to other developers?​

Процесс доставки подписанного настольного программного обеспечения является для нас относительно новым, особенно для Windows. мы написали статью для Код, подписывающий приложение Windows, которое включает в себя процесс и несколько препятствий, через которые мы прошли, чтобы сделать это правильно.