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

51

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

  • 5
    Django и Rails - это фреймворки для создания вещей - они предоставляют вам набор инструментов, который помогает создавать многофункциональные приложения. Wordpress - это само по себе приложение, построенное без фреймворка с нуля на PHP. Так что, если вы уверены, что требования вашего приложения не выходят за рамки возможного в Wordpress, тогда обязательно сделайте это. Как только вы выйдете за эти границы, вы быстро столкнетесь с тем, что возможно.
  • 0
    в основном, и я знаю, что это слишком поздно для вечеринки, WordPress это жирная корова
Теги:
wordpress-theming
frameworks

6 ответов

82
Лучший ответ

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

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

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

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

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

  • 3
    это почти то, что я собирался сказать сам, но сказал гораздо лучше, чем мог бы
  • 0
    Какой отличный четкий ответ, спасибо!
Показать ещё 5 комментариев
12

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

Является ли Rails действительно особенным?

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

MVC и WP

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

Framework vs Application

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

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

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

WP Future

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

  • 0
    Конечно, вы можете сделать масштабирование WordPress, но будет ли легче сделать масштабирование Rails или масштабирование WordPress? Это ключ. Из коробки Wordpress отлично, но для тяжелых настроек, вам нужно пересмотреть.
  • 0
    Я согласен с этим. Сравнение не должно быть между Django, Rails и WordPress. Это должно быть между вышеупомянутым и PHP-фреймворком, таким как Laravel, например.
9

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

Это. Был. Наихудший. Возможное. Решение.

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

Изображение 3426

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

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

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

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

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

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

3

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

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

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

2

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

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

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

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

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

2

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

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

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

Ещё вопросы

Сообщество Overcoder
Наверх
Меню