Framework / Language для новых сайтов Web 2.0 (2008 и 2009) - PullRequest
2 голосов
/ 08 октября 2008

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

  1. Сейчас октябрь 2008 года. Я хочу начать писать приложение для января 2009 года. Я готов использовать бета-код и тому подобное, но к январю я бы хотел, чтобы у сайта не было «странных» проблем. С учетом сказанного, если язык просто на 10% медленнее, чем другой, мне все равно, пока проблема линейна. Моя главная задача - производительность труда разработчиков.
  2. Я буду использовать Linux, Apache, MySQL для приложения.
  3. Я хочу иметь возможность выполнять такие функции, как запуск клиентских функций scp и ftp со стабильными библиотеками (я выбрал эти две, потому что они не связаны с сетью, но в то же время представляют довольно распространенные сетевые протоколы, которые может использовать любое крупное приложение ). Также будут использоваться такие технологии, как OpenID и Oauth.
  4. Опытные веб-разработчики легко доступны (то есть мне не нужно искать людей из финансовых компаний и тому подобное).
  5. Какой бы выбор не был распространен, он будет существовать некоторое время.
  6. Вот кикер. Я хотел бы иметь возможность использовать расширенные инструменты / языки уровня представления, подобные HAML, SASS. Я определенно хочу использовать JQuery.
  7. Я буду создавать приложение для Facebook и в какой-то момент заниматься такими вещами, как работа с SMS-сообщениями, приложениями для iPhone и т. Д. *

На данный момент языком является PHP (Cake, Symfony, Zend), Python (Django), Ruby (Merb). На данный момент я действительно между Джанго и Мербом, в основном потому, что, похоже, все остальные идут по этому пути.

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

Для будущих ссылок - этот выбор уже сделан:

  • Debian (Lenny) - для преобразования циклов процессора в нечто полезное. Trac
  • 0.11 - Для управления проектами Gliffy - Для каркасов и т. П.
  • Документы / приложения Google - для документации, размещенной электронной почты и т. Д. *
  • Amazon ec2 / S3 - для хостинга, хранилища.

Ура, Адам

Ответы [ 13 ]

16 голосов
/ 08 октября 2008

Джанго!

Посмотрите доклады DjangoCon на Google / Youtube - особенно "Многоразовые приложения" (www.youtube.com/watch?v=A-S0tqpPga4)

Я уже некоторое время использую Django, после того, как начал работать с Ruby / Rails. Я обнаружил, что сообщество Django легче освоить (приятнее), язык задокументирован с помощью превосходных примеров, и его модульность просто великолепна, особенно если вы хотите добавлять пользовательские компоненты в микс и не быть вынужденными использовать определенные вещи здесь и там.

Я уверен, что, возможно, есть способы быть столь же гибкими с Rails или чем-то подобным, но я настоятельно рекомендую вам внимательно взглянуть на введения Django и т. Д. На http://www.djangoproject.com/

Юджин упомянул, что сейчас он равен 1.0 - и, следовательно, останется стабильной и обратно совместимой кодовой базой до января 2009 года.

Кроме того, создаваемые им автоматические административные интерфейсы готовы к работе и чрезвычайно гибки.

9 голосов
/ 08 октября 2008

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

Я бы не ожидал получить объективный ответ! Зачем? Это просто:

  • Все защитники Ruby скажут использовать Ruby.
  • Все защитники Python скажут использовать Python.
  • Все сторонники PHP скажут использовать PHP.
  • Введите здесь дополнительные языки.

Есть идея?

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

Тем не менее, я бы выбрал Ruby (потому что я адвокат Ruby).

7 голосов
/ 10 октября 2008

Все они выполнят свою работу.

Используйте тот, который вам и вашей команде наиболее знаком с

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

5 голосов
/ 08 октября 2008

это зависит.

php - symfony - это отличный фреймворк. Недостатки: PHP, Wordy и тяжелый каталог. Propel становится раздражающим в использовании. плюсы: php везде, а рабочая сила дешевая. хорошо сделанная структура и хорошая поддержка. множество плагинов, которые сделают вашу жизнь проще

Python - Django также является отличным фреймворком. Недостатки: программистов на Python найти сложнее, а Django - еще сложнее. изменить вашу схему БД может быть довольно сложно, так как нет официальных миграций. не совсем делает MVC, как вы ожидаете. Достоинства: делает все, что вам нужно, и имеет отличную библиотеку Python STD и сообщество позади него.

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

С учетом всего вышесказанного я являюсь независимым разработчиком php / symfony и ruby ​​/ rails. Я работал над несколькими проектами на обоих языках и в рамках. Мой последний проект в Rails исключительно из-за ActiveMerchant. Я долго искал причину для разработки приложения django. Если бы существовала подобная ActiveMerchant библиотека для django, я, вероятно, использовал бы ее.

4 голосов
/ 08 октября 2008

Я бы пошел с Django, если вы знакомы с решением Python. Сейчас она в версии 1.0 и прекрасно развивается, с большой базой пользователей и многими участниками. Интеграция jQuery не проблема, и я сделал это без проблем.

Единственное, насколько я могу судить, Ruby сейчас гораздо более популярен для веб-разработки, поэтому проще найти разработчиков на Ruby. Я получаю такое впечатление от просмотра недавних объявлений о работе - их не так много для Python или Django. Я мало что знаю о Мербе, поэтому не могу дать справедливого сравнения.

Я сделал достаточно PHP, чтобы не рекомендовать начинать с ним новый проект.

2 голосов
/ 09 октября 2008

Чтобы получить представление о том, где в настоящее время находится экосистема Django, вы можете проверить

2 голосов
/ 08 октября 2008

Исходя из твоих соображений, я бы пошел с Руби. Я вижу, что вам нужны некоторые инструменты администрирования (scp, ftp клиент), а в Ruby они есть (библиотеки net / sftp и net / ftp).

Кроме того, есть замечательные жемчужины, такие как Бог для мониторинга вашей системы, Влад Развертыватель для развертывания и т. Д. И множество альтернатив в области Мерба, просто используйте то, что вам больше подходит (Thin, Mongrel, ebb, и т.д.).

1 голос
/ 16 октября 2008

Создав приложения в Django, я могу засвидетельствовать его полезность. Если бы все рамки были такими же элегантными (да, весна, я смотрю на тебя).

Однако, с точки зрения ставок на ферму на Django, нужно учитывать одну вещь - Python 3 будет выпущен в ближайшее время. Python 3 не обладает обратной совместимостью, и есть риск, что он раскроет язык и в конечном итоге замедлит ход для всех проектов Python, пока они справляются с последствиями. Честно говоря, Ruby 2.0 тоже скоро выйдет, но я не думаю, что он будет таким же разрушительным.

1 голос
/ 10 октября 2008

Не зацикливайтесь на мышлении макета страницы на стороне сервера. Рассмотрим такие технологии, как SproutCore, GWT или ExtJS, которые полностью размещают код компоновки на клиенте, делая сервер ответственным только за сортировку и обработку данных (и их легко заменить).

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

1 голос
/ 10 октября 2008

Я должен предвосхитить это, согласившись с Орионом Эдвардсом, выбрать ту, с которой ваша команда больше всего знакома.

Однако я также должен отметить любопытное отсутствие языков ASP.NET в вашем списке. Не провоцировать великую армию фанатиков, но где говядина? .NET - это стабильная платформа для быстрой разработки, и рабочая сила растет с каждым днем. VB.NET и C # являются переносимыми наборами навыков, и это может много значить, когда вы создаете команду разработчиков для работы над разнообразным набором задач. .NET также позволяет вам отделить уровень представления от вашего внутреннего кода, как и другие языки, но также позволяет вам предоставлять этот внутренний код как веб-сервис для таких вещей, как приложения для iPhone и Facebook.

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

Отказ от ответственности: однажды разработчик PHP, ColdFusion и Perl. Гибкий фанат, и любитель Adobe. Сейчас пишу корпоративные .NET приложения. ;)

Не забудьте Mono, который позволит вам запускать .NET под * nix. Не то чтобы я говорил, что это будет прекрасно, просто играя адвоката дьявола.

...