Проект недели: WordPress Desktop
На этой неделе мы встретились с сотрудниками Automattic, чтобы поговорить о WordPressDesktop, настольном клиенте с открытым исходным кодом для управления контентом 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, которое включает в себя процесс и несколько препятствий, через которые мы прошли, чтобы сделать это правильно.