Может ли Wordpress быть заменен фреймворком, таким как Django или Ruby on Rails?


Я считаю себя хорошо обученным разработчиком шаблонов WordPress, и недавно я начал читать книги и документы о фреймворках веб-приложений, особенно Django и Ruby on Rails. Я не знаю ни одного из двух языков, но у меня нет проблем выучить еще один или два. Я действительно не получаю реальных преимуществ от использования фреймворка, потому что я очень уверен в силе WordPress. Итак, может ли кто-нибудь рассказать мне о реальных преимуществах использования фреймворка? Например, производится Pinterest используя Django, но я думаю, что могу достичь тех же результатов с помощью шаблона WordPress с использованием Javascript и CSS3. Может ли кто-нибудь рассказать мне о различиях/преимуществах использования фреймворка в этом конкретном случае?

6 56

6 ответов:

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

Wordpress очень гибкий, но он также медленный и требует очень много TLC, чтобы иметь возможность работать в любом значительном масштабе. Его дизайн позволяет очень гибко изменять поведение во время выполнения, но это также немного Пандоры Box, так как это означает, что код может в конечном итоге работать повсюду для любой заданной страницы, что делает обслуживание кошмаром.

Wordpress очень хорош в том, чтобы быть CMS, но как только вы начинаете толкать его за пределы этих границ, вы попадаете в беду и обнаруживаете, что вам нужно написать свою собственную более абстрактную структуру, которая работает внутри контекста Wordpress, чтобы быть в состоянии удовлетворить потребности вашего приложения.

тем не менее, если у вас есть приложение, которое вы можете построить в контексте WordPress, я бы сказал, пойти на это! Wordpress может быть прекрасным инструментом для создания доказательства концепции или MVP. Если он заставляет вас работать, то это может быть правильный выбор по сравнению с написанием полного приложения. Тем не менее, просто имейте в виду, что вы столкнетесь с некоторыми кирпичными стенами, когда ваш дизайн продукта созревает и ваша аудитория растет, если ваше приложение не соответствует довольно узкому набору требований к дизайну, поэтому в долгосрочной перспективе вам может потребоваться перейти на пользовательский приложение.

учетные данные: я провел последние пару лет, поддерживая установку Wordpress, которая обслуживала более 25 миллионов ежемесячных uniques, и нам пришлось очень умно работать, чтобы она работала. С тех пор мы заменили его приложением Rails, которое обслуживает страницы где-то на порядок быстрее 10x-30x и значительно более расширяется как приложение, что позволяет нам начать исследовать потенциал приложения, который мы действительно не могли получить с Wordpress.

Я хочу предложить Особое мнение, хотя я поддержал верхний ответ.

действительно ли рельсы особенные?

Rails был создан Дэвидом Ханссоном, который извлек его из Basecamp, программного обеспечения, которое реплицируется в бесплатный плагин Wordpress,WP Project Manager. Я думаю, что это довольно хороший показатель того, что разработчики Rails недооценивают PHP и Wordpress.

MVC и WP

правда, это не следовать шаблону MVC. Но если вы используете крючки, отделите логику (в плагинах) от представлений (в шаблонах), тогда у вас будет хорошее разделение кода. (Также подсказка: пользовательские типы сообщений похожи на модели.)

рамки против приложения

Как вы можете видеть, Wordpress можно рассматривать как приложение или фреймворк. Это приложение, со всеми компонентами, которые вы ожидаете найти в рамках. Прямо из коробки у вас есть безопасность, аутентификация, и расширяемость. И это должно быть продлено.

масштабирование

WP поддерживает 18% веб-сайтов Интернета, включая TechCrunch, Smashing Magazine и (части) CNN. Кажется, есть способы сделать масштаб WP. отказ от ответственности: у меня нет опыта работы на таких мегасайтах, поэтому я предлагаю просто гипотезу.

WP Future

нынешняя задача сообщества WP состоит в том, чтобы переместить WP из CMS в рамки. Я думаю, что это естественная прогрессия, учитывая, что все части на месте. И сообщество Wordpress становится сильным.

Я однажды принял решение, работая в каком-то стартапе, чтобы выбрать WordPress для продвинутой электронной коммерции, управляемый сообществом рынок.

его. Было. Наихудший. Вероятный. Решение.

вот как я себя чувствовал:

enter image description here

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

  • каждый мир содержания технически является post.
  • это кошмар для создания расширенных элементов отношений
  • WordPress не Объектно-Ориентированный. Она имеет много классов, но в целом, вам придется использовать много functions как get_post_meta для управления основными функциями ИТ. Что-то вроде $post->author()->comments() - это просто мечта.
  • функциональные возможности не согласованы. Некоторые функции работают так или иначе, другие что вроде бы очень похоже, работает по-разному. Иногда вам нужны некоторые странные хаки для достижения задачи, которая кажется простой. Это заставляет вас читать документы очень часто, чтобы увидеть, как работает функция, которую вы используете в 1000-й раз. (Честно говоря, мне нужно сказать, что документация WordPress отличная!)

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

Я бы сказал: Если вам нужна машина, вы можете купить некоторые инструменты и построить его, или вы можете купить грузовик и попытаться изменить, пока это не начнет выглядеть, как автомобиль.

Я никогда не буду использовать WordPress для чего-либо, что нуждается в хорошо организованной, пользовательской функциональности.

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

не совсем ответ, но подсказка:

http://en.wikipedia.org/wiki/Comparison_of_web_application_frameworks

Как будто вы можете заменить его полностью... Я думаю, что это в основном вопрос логики. Это зависит от того, сколько императивного (Ruby on Rails) и описательного (WordPress) программирования вы собираетесь делать.

Я не думаю, что wordpress может заменить rails, потому что wordpress имеет ограниченный набор API и поддержки, когда вы сравниваете его с RoR. Хотя wordpress является мощным инструментом для ведения блога приложения, но тот же эффект может быть достигнут с рельсами, используя драгоценные камни, такие как, Radiant CMS, НПЗ КМВ, Локомотив. Добавление мощности, такой как ttd, которая может быть легко изменена с помощью rails, очень сложно с wordpress.

то же самое с механизмом аутентификации и авторизации, таким как devise и канкан. Нет простого варианта сделать то же самое с wordpress.

рельсы облегчают жизнь программиста. Для всего веб-приложения я всегда предпочитаю идти с рельсов.

Wordpress не может заменить X framework, но они, безусловно, могут дополнять друг друга.

например, интерфейс WP, обслуживающий контент CMS с привлекательной темой, довольно сложно превзойти; прокси-сервер на серверном сервере для пользовательского контента и вуаля, лучший из обоих миров. В противном случае WP неизбежно не будет соответствовать всем требованиям, и вы окажетесь в кроличьей норе с квадратным колышком, действительно болезненным местом; вот где X framework входит, заполнение пробелов WP.

понятие о том, что WP не масштабируется, может иметь некоторую истину, но для общего случая, 95%, он будет обрабатывать все, что вы бросаете на него, особенно с помощью кэша WP или другого плагина кэширования, брошенного в микс.

некоторые могут сказать, Ну, вы можете построить WP с Django или RoR! Хе-хе, ты первый ;-)

FWIW, я избегаю динамических языковых фреймворков в пользу их статически / строго типизированных аналогов. Используйте WP для шику, и статический X рамки для скорости / масштабируемости / безопасности. Конечно, это вопрос предпочтения, очевидно, что некоторые предпочитают гибкость выполнения над безопасностью времени компиляции. Я полностью в последнем лагере в эти дни...