Мысли о преобразовании PHP-приложения в ROR для использования с Heroku? - PullRequest
2 голосов
/ 30 августа 2011

Я нахожусь в процессе создания довольно большого веб-приложения с PHP + Codeigniter. Когда я впервые начал этот проект, я был взволнован хостинг-провайдером PHPFog продуктом PHP-as-a-service. Идея простой разработки моего приложения и избавления от необходимости беспокоиться об обслуживании, настройке, защите сервера и т. Д. Мне понравилась.

Тем не менее, у меня было слишком много проблем с PHPFog, чтобы было удобно доверять ему размещение моего приложения. Я сталкивался с ситуациями, когда я удалял файл из своего репозитория git, помещал его в мое удаленное хранилище в phpfog и в результате получал файл, который фактически не удалялся на одном или всех моих серверах приложений. Служба также должна предоставлять newrelic для мониторинга приложений, однако это работало лишь кратко и не работало с 10 августа, несмотря на многочисленные жалобы. И их обслуживание клиентов далеко не удовлетворительное, помогая решить все эти проблемы.

Так что теперь я рассматриваю альтернативы, и Heroku привлек мое внимание. Heroku кажется гораздо более зрелой платформой облачных приложений. Однако он не предоставляет PHP-хостинг. Вместо этого он предоставляет ROR, Java, Node.js и Clojure.

Насколько сложно было бы человеку с большим опытом работы с PHP (и инфраструктурой Codeigniter) выучить Ruby + Rails и пересобрать приложение? Оба упорядочивают код в шаблоне MVC, поэтому я надеюсь, что это означает, что мои представления потребуют только модификации их хуков для соответствия синтаксису ruby. Я уже спроектировал свою базу данных и все запросы SQL для доступа к данным, которые мне нужны из моих моделей в CI. Что вы, ребята, думаете?

РЕДАКТИРОВАТЬ 1: Итак, я посмотрел это видео как введение в разработку ROR: http://www.youtube.com/watch?v=Gzj723LkRJY

И моя первоначальная реакция: «Значит, ROR - это как книжка-раскраска?» Я скептически отношусь, когда вижу, что огромные куски приложения собираются вместе с помощью чего-то простого. Я не знаю, что думать, кроме того, что боюсь, что ROR жертвует некоторой гранулярностью / контролем, к которым я привык с php

РЕДАКТИРОВАТЬ 2: Недавно я обнаружил https://cloudcontrol.com/ Они предлагают такой же тип хостинга с PHP-как-сервис, как PHPFog, но с большим контролем, например, с возможностью прямого доступа к вашей базе данных и автоматического масштабирования. Тем не менее, отличная идея - использовать git-push для развертывания на нескольких серверах без необходимости настраивать их вручную. Единственное, что мне не нравится, это то, что их центры обработки данных находятся в Ирландии (Amazon AWS). Однако они сказали мне, что планируют переехать в США в ближайшие 3 месяца и предложить цены в долларах США.

Ответы [ 3 ]

3 голосов
/ 30 августа 2011

Хотя да, они оба MVC, да, и Ruby, и PHP являются языками сценариев, и да, вам не нужно много менять ваши представления, кроме как менять php-хуки на ruby-хуки, я думаю, что вы дурачите себя, если думаете это просто простое преобразование.

Ruby как язык IMO намного превосходит PHP. Это позволяет вам делать намного больше с гораздо меньшим количеством кода. Если бы вы конвертировали свой PHP-код в код Ruby, заменяя каждый вызов его эквивалентом, вы бы не делали это Ruby .

Кроме того, Rails как фреймворк гораздо более зрелый и мощный, чем CodeIgniter. Это обеспечит вам гораздо большую гибкость и помощь, основанную на соглашениях, что вы будете кодировать вещи совершенно иначе, чем если бы вы использовали CI.

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

Если вы решите, что перенос вашего приложения на RoR - это то, что вам нужно, тогда я от всей души призываю вас уделить некоторое время изучению Ruby и Rails, а затем переписать ваше приложение, как если бы вы создавали приложение Rails с нуля. Вы будете удивлены тем, как быстро вы сможете запустить и запустить проект.

1 голос
/ 30 августа 2011

Прежде чем этот вопрос превратится в типичное обсуждение Ruby vs PHP, и прежде чем приступить к (почти) невыполнимой задаче, вам следует подумать о других хостинг-провайдерах.Есть много на выбор, некоторые из которых предлагают этот "PHP как сервис", который вы ищете.

Имейте в виду, что перенос приложения PHP на ROR или Ruby - непростая задача.Вы также можете начать все сначала (без сомнения, на языке, о котором вы мало знаете).Вы не должны основывать свой язык программирования на плохом хостинге или на том, что сказал парень.Используйте то, что вам удобно.

1 голос
/ 30 августа 2011

Это вам обязательно нужно прочитать

http://www.oreillynet.com/ruby/blog/2007/09/7_reasons_i_switched_back_to_p_1.html

...