Веб-сервис: PHP или Ruby on Rails или Python?

Я - разработчик. Net/SQL Server через мою дневную работу, и на стороне я делаю некоторые объективные разработки C для iPhone. Я хотел бы разработать веб-сервис, и поскольку dreamhost поддерживает mySql, python, ruby ​​on rails и PHP5, я хотел бы создать его с использованием одного из этих языков. Если у вас не было опыта ни в питоне, ни в Ruby on Rails, ни в PHP, с чем бы вы пошли и почему? Служба в основном просто берет запрос и разговаривает с базой данных MySql.

Примечание. Планировалось использование протокола SOAP. Хотя я открыт для предложений, так как у меня есть чистый список с этими языками.

Ответ 1

Ruby-on-rails, Python и PHP будут отличным выбором для разработки веб-сервиса. Все языки способны (при этом Ruby является языком, на котором написан Ruby on Rails), имеют сильные рамки, если это ваша фантазия (Django - хороший пример python, и что-то вроде Drupal или CakePHP, являющиеся хорошими примерами PHP) и могут отлично играть с MySql.

Я бы сказал, что это будет зависеть в основном от вашего прошлого опыта и от того, с чем вам было бы лучше всего. Предполагая, что вы разрабатываете С# на .NET и имеете опыт работы с Objective-C, PHP может быть хорошим выбором, потому что это, безусловно, из семейства языков C. Таким образом, синтаксис может быть более знаком и немного легче справиться.

Я разработчик PHP, поэтому я дам вам этот уклон и дайте более опытным разработчикам, а остальные дадут их. PHP тесно интегрирован с Apache, который может сделать некоторые из более мирских задач, которые вам придется обрабатывать с другими, немного более тривиальными (хотя при работе с каркасом они обычно удаляются). Документация PHP не имеет себе равных и является отличным ресурсом для быстрого и быстрого перехода. Он имеет приличную скорость и есть хорошие механизмы кэширования, чтобы получить больше производительности. Я знаю, что вставать и работать с PHP на Dreamhost тривиально. Я не делал этого в других случаях, хотя это меня не удивило бы, если бы все было так же просто.

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

Ответ 2

Короткий ответ: я бы пошел с PHP.

У меня есть опыт во всех двух ваших трех вариантах: PHP, Ruby с Ruby on Rails. Если бы у меня не было опыта, и я искал, чтобы установить и создать веб-сервис, который в основном просто взаимодействует с базой данных, и я хотел, чтобы это было сделано в эти выходные, я бы выбрал PHP. Если бы у меня не было опыта работы с одним из вышеуказанных языков, и я хотел бы сделать проект за пару недель, я бы выбрал рельсы. У меня лично гораздо меньше опыта работы с Python и Django, поэтому я не могу комментировать.

Ruby with Ruby on Rails: я работаю с Ruby и рубином на рельсах уже несколько лет. Ранее я имел опыт работы на Java (что примерно аналогично вашему опыту в .Net). Я нашел переход к рельсам немного ухабистым. Я хотел подскочить и начать понимать, как работают рельсы и как создавать веб-приложение, но без понимания рубина это было сложно. Есть много примеров, которые помогут вам быстро создать приложение, но часто, когда быстрота приходит за счет понимания. Чтобы создать веб-приложение с твердыми рельсами, вам нужно хорошее понимание рубинов и рамок. Rails - это фантастика, но для создания чего-то, что вы понимаете, и запускать его быстро и быстро, это может быть не ваш лучший выбор. Кроме того, хостинг рельсов прошел долгий путь (вы можете сказать, потому что мы начинаем видеть, что его предлагают многие хосты), но все еще есть некоторые проблемы.

PHP: PHP - это фантастика для быстрого и быстрого запуска. Вы можете загружать файлы и сразу видеть, работает ли ваш результат. Если вы сохраните настройку своей базы данных чистой (и она звучит так, как вы, потому что вы работаете с базами данных весь день), PHP не должен быть слишком плохим. Я бы заглянул в Object Relation Mapper, чтобы помочь вашему PHP еще чище, я слышал, что хорошо думает о Doctorine.

Python: Я бы предположил, что вы, вероятно, используете Django с Python. Из-за этого вы, вероятно, столкнетесь с теми же камнями преткновения, что и с рубином + рубином на рельсах.

Если вы хотите начать изучать Ruby on Rails, я бы рекомендовал проверить этот поток на stackoverflow.

Наконец, если вы хотите работать с фреймворком PHP, там большой поток на здесь, в stackoverflow.

Ответ 3

Я разработал в Python и PHP, и моим личным предпочтением будет Python.

Django - отличная, легкая для понимания легкая структура для Python. Сайт Django

Если вы пошли по маршруту PHP, я бы порекомендовал Kohana. Сайт Kohana

Ответ 4

Первое программирование, которое я когда-либо делал, было с PHP, и определенно очень легко перейти с PHP на Dreamhost (я использую Dreamhost для своего PHP-блога, а также для хостинга проектов Ruby on Rails). Ruby on Rails довольно легко попасть в Dreamhost, теперь, когда они начали использовать Passenger. Я узнал Ruby и Ruby on Rails через несколько лет после того, как мне стало комфортно в PHP, и я предпочитаю его PHP, потому что он чувствует себя намного чище, и мне нравится шаблон Model View Controller для разделения кода и контента. После этого я попытался изучить Django, но обнаружил, что разочарован тем, что значение "вид" в Django отличается от Rails/MVC, поэтому я не очень далеко.

Если вы делаете быстро и грязно, вы можете пойти с PHP. Вы можете изучить различные структуры для PHP, такие как CakePHP или Symfony, для более чистой и более организованной разработки. Если вы готовы потратить больше времени на обучение (сначала для языка Ruby, затем для рамки Ruby on Rails), вы можете пойти с Ruby on Rails. Мне очень нравится разработка Rails, но была кривая обучения, так как я одновременно изучал Ruby и Rails. Там много информация о развертывании приложений Rails на Dreamhost.

Ответ 5

Это очень субъективный вопрос, и даже если вы дали нам специфику вашего веб-сервиса, мы можем спорить о лучшем выборе весь день.

Я разработчик PHP, поэтому без проблем могу избавиться от базового веб-сервиса. Там lots простой PHP frameworks, который бы справился с этим очень хорошо.

Говоря это, Python и Django дают вам отличные функциональные возможности, и это в моем списке вещей, чтобы учиться. Вы могли бы достичь чего-то довольно быстрого с этим.