Давным-давно (год назад), еще до того, как я открыл для себя 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, хотя и даже использовал его в проекте, который еще не запущен, и обязательно напишу об этом пост, как только он появится в мире.