Я опытный разработчик, который работает с .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 для управления версиями.
Любая помощь или предложения были бы весьма признательны.
Редактировать: В настоящее время склоняется к Синатре, так как выглядит очень элегантно, но позволяет пользователю иметь как можно больше или меньше контроля. И я выберу ответ, когда думаю, что ответы остановились.
Некоторые из требований кажутся MS-ориентированными и могут заглушить ваши варианты. Вы можете выиграть больше, открыв немного. Например, IoC не имеет особого смысла в Ruby из-за дизайна языка. Я знаю, что вы думаете, что вам это нужно, но опытные рубисты имеют более идиоматические решения, чем IoC (поверьте мне, или Google Jamis Buck RubyConf и смотрите разговор). Точно так же автоматическое завершение не столь велико для сделки в Ruby или Python, потому что общие LOC намного ниже. – runako
Я довольно открытый. Возможно, это то, к чему я привык. Но автозаполнение неплохо ... речь идет об обнаружении API, а не о сохранении нажатий клавиш. Однако это трудно сделать на динамических языках. – Travis