A PHP Error was encountered

Severity: 8192

Message: mysql_escape_string(): This function is deprecated; use mysql_real_escape_string() instead.

Filename: mysql/mysql_driver.php

Line Number: 303

PHP и Ruby on Rails: что лучше?

PHP и Ruby on Rails: что лучше?

Автор: Mowshon.
Опубликовано 26 июля 2011
в рубрике PHP, Рабочая среда

Просмотров: 7549.
Подписаться на комментарии по RSS.

PHP VS Ruby on Rails: что лучше

И PHP и Ruby on Rails имеют своих убежденных последователей. Эти последователи настолько преданны выбранной ими платформе, что сбор достоверной информации о различиях между платформами может быть довольно трудной задачей. Однако эта информация очень важна, если вы собираетесь принять решение о том, какую платформу выбрать для разработки вашего следующего проекта. Далее приведен быстрый обзор некоторых основных характеристик и дополнительные факторов, которые следует учитывать при выборе PHP или Ruby On Rails.

PHP - это язык программирования

Сравнивать PHP и Ruby On Rails несправедливо. PHP это просто язык программирования. Тем не менее, это чрезвычайно гибкий и полезный язык. PHP использует очень мало памяти и работает достаточно хорошо. PHP является достаточно зрелым языком с большим разнообразием расширений и модулей библиотек. Изначально разработанный как язык сценариев для использования в HTML страницах, PHP постепенно развился и теперь включает в себя все функции объектно-ориентированного программирования. Последнее добавление объектно-ориентированных функций вызвало наибольшую критику. Некоторые программисты считают, что PHP поощряет небрежное кодирование, поскольку был создан как язык сценариев и изначально не имел четкой объектно-ориентированной стратегии.

PHP как язык не имеет всех особенностей Ruby On Rails. В результате создание кода сайта с самого начала на PHP требует гораздо больше усилий при разработке, поскольку соединение с базами данных должно быть написано с нуля.

Однако существует ряд зрелых и стабильных фреймворков, написанных на PHP, которые предоставляют функции, подобные Ruby On Rails. Это одна из сильных сторон PHP - выбор. Разработчик может выбрать фреймворк только с необходимыми функциями или разработать их самостоятельно. При работе с Ruby On Rails вы будете ограничены только предоставленными функциями. Это может создать трудности при разработке, когда настройки, сделанные фреймворком, не совпадают с требованиями приложения. Также это может повлечь проблемы с производительностью в связи накладными расходами для неиспользуемых возможностей.

Ruby On Rails - это фреймворк

С другой стороны, Ruby On Rails это фреймворк, разработанный на языке программирования Ruby. Данный язык программирования был разработан с нуля с учетом объектно-ориентированного программирования и имеет строгий и ясный синтаксис. Язык также может быть крайне негибким. Как язык программирования Ruby работает гораздо медленнее PHP и требует больше памяти.

Rails - это фреймворк, который предоставляет ряд функций, удобных для быстрой разработки веб-приложений. Как фреймворк, Rails предоставляет большие возможности. Он поддерживает шаблон Active Record, который сопоставляет записи базы данных с объектами. Active Record скрывает значительную часть SQL кода от разработчика, выполняя обработку многих рутинных задач создания, получения, обновления и удаления объектов автоматически. Rails также включает в себя систему маршрутизации для сопоставленных с методами URL и систему шаблонов для генерации HTML вывода. Есть много других возможностей, включая сессии. Такие функции позволяют легко создавать веб-приложения на Rails.

Список замечательных функций Rails также является его недостатком. Как разработчик вы потеряете контроль над SQL запросами в приложении на Rails. Также появляются накладные расходы на использование функций и сервисов, которые не нужны в приложении.

Другие вопросы

PHP и Ruby on Rails примерно равны в том, насколько легко или трудно они масштабируются для удовлетворения растущих потребностей. С точки зрения масштабируемости они оба выигрывают от увеличения памяти и CPU, но когда в приложении требуется распределение нагрузки или обслуживание на распределенных серверах, сложность возрастает. Они оба имеют аналогичные требования в плане масштабирования и сталкиваются с похожими проблемами.

Самый важный вопрос связан с комфортом команд разработчиков в каждом случае. Если вы хорошо знаете PHP и работаете с ним некоторое время, изучение Ruby будет камнем преткновения. Не имеет никакого смысла с точки зрения эффективности для разработчиков использовать новый язык или фреймворк из-за небольших преимуществ. Все особенности Ruby on Rails доступны и в PHP фреймворках или могут быть разработаны с использованием PHP. Разработчики пишут код лучше на тех языках, которые хорошо знают.

Другим важным вопросом является остальная часть платформы. Если вы используете много PHP кода другим образом, например на рекламных серверах, в модулях или дополнительных компонентах веб-сайта, имеет смысл продолжать работать с PHP. Более тесная интеграция желательна в веб-приложениях.

Кто победитель?

Явным победителем является платформа, которую вы уже знаете, и которая будет делать то, что нужно вам и вашим клиентам. Во многих случаях это будет PHP по нескольким простым причинам. Прежде всего, большинство веб хостов поддерживают PHP, поэтому гораздо больше клиентов его используют. Вы найдёте больше возможностей для использования PHP. Во вторых, функции, которые предлагает Ruby on Rails, могут быть воспроизведены с помощью многих фреймворков PHP. В частности CakePHP предлагает много таких же функций.

Опыт работы с платформой означает, что-Вы уже знаете, все ловушки и подводные камни в работе с ним. Наконец, PHP является более гибким. Если вам нужно, чтобы приложение работало иначе, чем то, что предлагает фреймворк, вы можете сделать это на PHP. И скорее всего, вы сможете найти библиотеку или расширение, которая делает то, что вам нужно. Хотя Ruby on Rails имеет много особенностей, PHP уже объявлен победителем на рынке.

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

Комментариев: 2

  1. Ринат | 08.03.2012 в 21:32:41 | #1

    Несогласен с автором...

    Ruby on rails - самая наивысшая скорость разработки.

    Обычно разработчикам платят за время...

    И книг по ruby, и как использовать rails - много, только изучай англ...

  2. Азамат | 07.08.2012 в 15:27:47 | #2

    Наоборот согласен с автором. Сравнивать надо язык программирования с языком, Ruby & PHP. Многие посты сравнивают фреймворк рельсы с языком пхп. Очевидно что все "преимущества" фрейморка успешно реализуются на языке пхп. В сети множество фреймворков на пхп, которые реализует похожие задачи разными способами. Есть выбор, даже можно сделать самому.

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

    Вообще на сколько я знаю в рельсах объект доступа к БД работает медленее нативного PDO в пхп. Так что скорость работы самого приложения будет ниже чем на пхп.

    И автор правильно замечает, что выбор исходит из поставленных задач и целей. Рельсы, пхп и другое - это всё инструменты для решения задач. Выбор инструмента исходит из задачи. Никто не закручивает гайки молотком.

Оставьте комментарий!

Гость
Комментатор / хотите им стать

Чтобы стать комментатором введите email и пароль. Напишите комментарий. В дальшейшем ваша связка email-пароль, позволит вам комментировать и редактировать свои данные. Не забудьте про активацию (инструкция придет на ящик, указанный при регистрации).

grin LOL cheese smile wink smirk rolleyes confused surprised big surprise tongue laugh tongue rolleye tongue wink raspberry blank stare long face ohh grrr gulp oh oh downer red face sick shut eye hmmm mad angry zipper kiss shock cool smile cool smirk cool grin cool hmm cool mad cool cheese vampire snake excaim question

(обязательно)