2011-10-03 5 views
1

Мне случилось узнать о новом проекте CloudFoundry от VMWareCloudFoundry: Java, Ruby или Node.js?

Если я хочу развернуть приложение на CloudFoundry.com, какой язык является лучшим выбором?

Как и Google App Engine, очевидно, что Python является самым зрелым, а Go - самым злым.

Как насчет CloudFoundry?

Программное обеспечение с открытым исходным кодом CloudFoundry написано на Ruby, но реклама всегда ставит Java перед Ruby. например «Запустите свои приложения Spring, Rails, Node.js и Scala». См. следующий рисунок: enter image description here

Означает ли это, что поддержка Java лучше, чем Ruby?

+0

Почему закрытые голоса? Я бы сказал, что это хороший вопрос и, вероятно, должен быть превращен в вопрос о вики сообщества, поскольку ответ, вероятно, со временем изменится. –

+0

Я проголосовал за закрытие, потому что вопрос, дистиллированный, заключается в следующем: «Должен ли порядок, в котором языки появляются в рекламе компании, делает первый выбор лучшим?» –

+0

Насколько я могу судить, поддержка любого из этих трех языков программирования довольно обширна. Если вы пишете новое приложение с нуля, я считаю, что все ваши потребности будут выполнены на любом из этих языков. Поскольку Pivotal глубоко связан с Spring, Pivotal предоставляет библиотеки для Java Stack (например, Spring Cloud), которые должны помочь вам начать работу быстрее - особенно на PCF. Вы должны взглянуть на сборку, чтобы узнать, достаточна ли поддержка вашего языка для ваших нужд. – user152468

ответ

-1

Я думаю, что Java и Spring были бы лучшим выбором. Я сделал бы это до Ruby или node.js. Источник Spring был приобретен VMWare некоторое время назад (год назад? Два года?), Так что это имеет смысл.

+2

Я не думаю, что вы можете сделать такой вывод. Собственное приложение CloudFoundry написано на Ruby on Rails, поэтому у команды есть опыт Rails. –

+0

Я думаю, что смогу. Это, по крайней мере, так же важно, как и ваше заявление. – duffymo

+0

Некоторые компоненты CloudFoundry переписываются в GO. – user152468

5

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

1

Сравнение с GAE здесь не подходит. Одна из отличий между GAE и CF заключается в том, что в CF нет конкретных API-интерфейсов для использования. Если вы пишете приложение RoR, вы просто пишете приложение, а затем развертываете его. То же самое, если вы пишете приложение Spring или Grails.

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

Итак, я думаю, что Брэндон Тилли в основном прав в том, что вы должны думать о языке/платформе, наиболее подходящем для вашего приложения, а не о том, что подходит для CF.

3

Будучи членом команды ex App Engine, теперь частью команды Cloud Foundry, я согласен с Эндрю: используйте язык и структуру, которые вы предпочитаете, лучший инструмент для работы, Cloud Foundry рассматривает их всех одинаково.

Команда App Engine должна создавать привязки к языку для основных сервисов Google и, как правило, сначала использовать Python, затем Java, затем Go, поэтому у вас есть временная задержка между тем, когда функция вводится в Python, когда она стекает вплоть до других языков (хотя в последнее время он значительно улучшился по мере созревания продукта).

Cloud Foundry предоставляет услуги для различных языков/фреймворков, используя существующие интерфейсы обслуживания этой инфраструктуры, он просто автоматизирует предоставление и привязку услуг (параметры подключения/конфигурации больше не жестко закодированы в файле свойств, они предоставляются Cloud Foundry во время выполнения, таким образом, что это относится к конкретным средам). Например, когда RabbitMQ был введен в Cloud Foundry, нам не нужно было создавать новый API для службы на каждом языке, мы просто используем существующие клиентские библиотеки AMPQ для каждого языка/фреймворка.

0

Это действительно не имеет значения, используйте то, с чем вы знакомы. Ключом к приложению будет архитектура, которую вы настраиваете, а не язык или стек, которые вы используете сверху.

Тогда, конечно, другой ответ по-прежнему остается тем, что большинство ответов, которые являются открытыми, приводят к результату, «это зависит!». :)

 Смежные вопросы

  • Нет связанных вопросов^_^