2009-05-06 3 views
7

Я опытный разработчик, который работает с .Net в течение последних 5 лет или около того. Поскольку я собирал стек приложений для идеи запуска, которую я имел, я заметил, что многие поддерживающие инструменты, которые я хотел бы использовать, либо липкие, либо становятся коммерческими. Поскольку у меня нет дохода и факторинга затрат для Visual Studio, SQL Server (да, я знаю о Biz Spark) и т. Д., И я вдруг понял, что я должен искать в другом месте.Можете ли вы порекомендовать альтернативный стек веб-приложений?

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

Общая

  • Обязательно: Поддерживается хостингом для начала
  • Желаемое: не должно быть слишком неудобным, чтобы работать (только работать, когда компоненты подключены)

Framework

  • Обязательно: Современный каркас mvc
  • Обязательно: Мелкозернистый контроль над выходом HTML

Кодекс качество

  • Обязательно: Logging рамка
  • Желаемое: Статический анализ (сложность и т.д.)
  • Желаемое: Генерация UML диаграммы код структуры
  • Желательные: Протоколы испытаний покрытий

OOP Материал

  • Обязательно: ORM, который обрабатывает полу глубокие иерархии, включая многие-ко-многим.
  • Обязательно: Мок рамки
  • Обязательно: контейнер МОК (возможно, свою собственную категорию)

IDE

  • Обязательно: Форматирование помощи (отступы)
  • Обязательные: отладка: точки останова, переменная проверка
  • Желательно: автозаполнение: VS-intellisense действительно приятный.Это близко к обязательному
  • Желаемое: отладка: на месте выполнения кода (немедленное окно), переместить текущий кадр назад
  • Желаемое: Тест основа интеграции

Кодекс качества

  • Обязательно: Испытательный каркас
  • Желательно: Кодовое покрытие
  • Желательно: сгенерировать документацию из кодовых комментариев

Сложение

  • Желаемое: Один клик тянуть из SVN, сборки, тестирования, покрытия кода, кода документации
  • Желаемое: Непрерывная интеграция (для последующего использования, когда мы, э, получить действительно большой)

Другие примечания: Я счастлив использовать Linux (было бы довольно освежающим!). Я предполагаю MySQL для БД, так как я не требую соответствия ACID (и это, вероятно, ACID в любом случае), и SVN для управления версиями.

Любая помощь или предложения были бы весьма признательны.

Редактировать: В настоящее время склоняется к Синатре, так как выглядит очень элегантно, но позволяет пользователю иметь как можно больше или меньше контроля. И я выберу ответ, когда думаю, что ответы остановились.

+0

Некоторые из требований кажутся MS-ориентированными и могут заглушить ваши варианты. Вы можете выиграть больше, открыв немного. Например, IoC не имеет особого смысла в Ruby из-за дизайна языка. Я знаю, что вы думаете, что вам это нужно, но опытные рубисты имеют более идиоматические решения, чем IoC (поверьте мне, или Google Jamis Buck RubyConf и смотрите разговор). Точно так же автоматическое завершение не столь велико для сделки в Ruby или Python, потому что общие LOC намного ниже. – runako

+0

Я довольно открытый. Возможно, это то, к чему я привык. Но автозаполнение неплохо ... речь идет об обнаружении API, а не о сохранении нажатий клавиш. Однако это трудно сделать на динамических языках. – Travis

ответ

1

Django является отличным выбором. У этого есть прекрасное разделение проблем без кривой обучения чего-то вроде Zope.

1

Lift! Он написан в Scala, представляет собой некоторый сдвиг парадигмы среди веб-фреймворков, а обслуживание хостинга с JVM достаточно.

2

Ramaze или Sinatra Ruby microframeworks, если вы хотите быстро начать работу.

+0

Спасибо. Погляди, что я видел в Синатре. – Travis

2

Общий хостинг сильнее в Ruby, чем Java, и поскольку вы исключили PHP (который очень популярен в общем хостинге), вы будете склонять вас в сторону Ruby.

Рамка: Если вы используете Ruby, RoR - это путь. Если вы решите на Java, я бы (кроме отличных рекомендаций в других ответах) посмотрел на Rife. Это один из подходов (более управляемый кодом). Seam + IceFaces (или RichFaces, если вам нужна некоторая надежность в обмене на виджеты) - это другой подход, но также эффективен.

Плагины Eclipse plus дают вам много чего вы ищете с точки зрения инструментов (бесплатно). Вы также можете посмотреть на Intellij, который составляет $ 249 за персональную лицензию (личный означает, что он лицензирован на ваше имя вместо ваших компаний, без ограничений) или RubyMine для Ruby от той же компании, 99 долларов США.

Непрерывная интеграция, у меня был большой успех с TeamCity, и он был бесплатным на уровне стартера.

(Нет, я не работаю для JetBrains, у меня только были хорошие впечатления от их продуктов).

Я знаю, что я не отмечал всех в вашем списке, но как только вы добавите плагины, доступные для IDE, все в вашем списке покрыто выше. Конечно, есть много других фреймворков. Хорошая вещь о решениях, отличных от Microsoft, заключается в том, что существует так много вариантов. Плохая вещь о решениях, отличных от Microsoft, заключается в том, что существует так много вариантов ...

+0

Спасибо, очень информативный – Travis

0

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

Есть ли что-то конкретное, что исключает их?

0

Автозаполнение для Ruby (и Rails)?

Jet Brain's RubyMine отлично работает. Я согласен, что это все об обнаружении API.

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