Давным-давно (год назад), еще до того, как я открыл для себя React, я решил, что было бы неплохо собрать новую версию redantler.com на Backbone Marionette + WP-API.

Конечно, теперь я вижу ошибочность своего пути. То, что я построил, определенно функционально, но из-за Backbone оно слишком сложное. В качестве примера давайте посмотрим на код, который заставляет работать страницу About на redantler.com.

Вот файлы app.js, controller.js и view.js для этой страницы:

Здесь мы рассматриваем почти 300 строк кода, и некоторые из них довольно неловкие, но вы не можете развиваться, если не делаете ошибок, верно? За последние несколько недель я потратил около 20 часов на перенос внешнего интерфейса Backbone + Marionette на React + Meteor. Изначально я также собирался перевести API с WordPress на что-то вроде Prismic.io, но передумал. Чуть позже я объясню, почему.

Во всяком случае, вот код страницы «О программе» с использованием React:

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

Вордпресс, правда?

На самом деле есть только одна причина для этого.

WP-API 2.0 + Расширенные настраиваемые поля = потрясающий модульный контент.

Я действительно пытался найти решение, сравнимое с легендарной модульностью и гибкостью ACF, но до сих пор этого не сделал. Ближе всего я подошёл к Prismic.io, но, к сожалению, он не так надежен, как ACF. Я люблю Prismic, хотя и даже использовал его в проекте, который еще не запущен, и обязательно напишу об этом пост, как только он появится в мире.