Projet de la Semaine : Bureau WordPress
Cette semaine, nous avons rattrapé les gens à Automattic pour parler de WordPress Desktop, un client de bureau open-source pour la gestion du contenu WordPress.
Tout le monde connais WordPress, mais qu’est-ce que WordPress Desktop?
L'application de bureau WordPress.com offre une expérience multiplateforme transparente qui vous permet de vous concentrer sur votre contenu et votre conception sans que des onglets de navigateur ne viennent vous distraire - ou de garder vos sites à l'écart mais accessibles. En combinaison avec le support de notre navigateur et de notre application mobile, vous pouvez construire votre site n'importe où, de quelque manière que ce soit pour vous aider à faire votre travail.
Pourquoi construire une application de bureau pour gérer les sites WordPress ? Ne pourrait-il pas tous être basé sur le web?
Il utilise en fait exactement la même technologie que vous obtenez en visitant WordPress.com dans votre navigateur. Cependant, tout est hébergé localement, donc il a des temps de chargement minimes. Avec le bénéfice de fonctionnalités natives comme être dans votre doc, les notifications, etc., vous pouvez vraiment vous concentrer sur vos sites WordPress et blogging.
Pourquoi avez-vous choisi de construire WordPress Desktop sur Electron?
À la fin de 2015, nous avons reconstruit une grande partie de WordPress.com sous la forme de Calypso, une application JavaScript moderne open-source utilisant React. Nous avons commencé à regarder Electron et avec quelques modifications à Calypso ont été en mesure de le faire fonctionner localement. C'était une expérience convaincante et nous pensions qu'il y avait beaucoup de valeur à la développer.
Nous avons eu plusieurs équipes travaillant sur Calypso. Créer un client graphique multi-plateforme qui corresponde à cela en utilisant les technologies de bureau traditionnelles aurait pris plus de travail. En utilisant Electron, une petite équipe de 2-4 d'entre nous ont pu tirer parti des efforts de l'autre équipe et construire l'application de bureau dans quelques mois.
Quels sont les défis que vous avez rencontrés lors de la construction de WordPress Desktop ?
Nous avons réussi à faire fonctionner une première version de l'application très rapidement, mais la mettre au point pour qu'elle se comporte de manière optimale comme une application de bureau a pris beaucoup plus de temps. L'un des grands défis de l'application est que vous exécutez en réalité une copie de Calypso sur votre propre machine - c'est purement une interface utilisateur pilotée par API. Il y a eu beaucoup de travail de transition dans ce domaine, et les changements ont été répercutés sur Calypso elle-même.
En outre, beaucoup d'efforts ont été déployés pour adapter l'application à différentes plateformes - nous proposons des versions Windows, macOS et Linux - et les différences sont suffisantes pour rendre la tâche délicate.
À l'époque, Electron était relativement nouveau et nous rencontrions régulièrement des problèmes qui étaient rapidement résolus (parfois le jour même !)
Dans quels domaines faut-il améliorer Electron ?
Electron fournit déjà la plupart de ce dont nous avons besoin pour l'application Desktop, et il progresse rapidement depuis que nous avons commencé à l'utiliser. Cela dit, il y a certains domaines qui sont considérés comme acquis dans une application de bureau, comme la vérification orthographique et la trouver/remplacement, qui sont plus difficiles à reproduire avec Electron tel quel.
Nous aimerions aussi voir certaines des nouvelles technologies Chrome filtrer dans Electron également. Nous sommes particulièrement désireux d’expérimenter avec WebVR.
Quelles sont vos choses préférées à propos d'Electron?
La raison principale pour laquelle nous avons choisi Electron, et c'est la plus grande force, est la communauté très active et ouverte. Automattic a toujours cru en l'open source. C'est l'un de nos principes de base, le projet et la communauté d'Electron suivent beaucoup des convictions fondamentales d'être très ouvert et positif.
Que se passe-t-il dans WordPress Desktop ?
L'avantage de notre modèle est que l'application de bureau bénéficie de toutes les nouvelles fonctionnalités de Calypso - il y a des améliorations constantes. Nous espérons que nous pourrons ajouter des fonctionnalités supplémentaires à l'application, telles que le support hors ligne, qui transmettrait réellement l'application dans le territoire natif, et de meilleures notifications systèmes.
Y a-t-il des équipes dans Automattic travaillant sur d'autres applications Electron ?
Oui, après nos efforts sur l'application Desktop, l'équipe Simplenote a décidé d'utiliser Electron pour construire des applications de bureau pour Windows et Linux (un client Mac natif existe déjà). L'application Simplenote Electron est également open source et disponible sur Github.
Nous avons également une prochaine intégration Raspberry Pi qui utilise Electron.
Si l'un de ces éléments semble intéressant, alors nous aimerions avoir de vos nouvelles!
Des conseils d'Electron qui pourraient être utiles aux autres développeurs ?
Le processus d'expédition de logiciels de bureau signés est relativement récent pour nous, en particulier pour Windows. nous avons écrit un article pour Code Signing a Windows App qui inclut le processus et quelques-uns des obstacles que nous avons rencontrés pour le faire correctement.