Я согласен со многими ответами здесь. В .NET не было большого количества независимых IDE, вы использовали Visual Studio для написания кода, управления своими зависимостями и т. Д. Решение в VS достаточно хорошо для MSBuild, так что это то, что вы используете на своих серверах сборки.
С другой стороны, в Java появилось множество IDE, и Java пошла по пути управления проектами, внешними по отношению к IDE. Предоставление разработчикам возможности использовать IDE по своему выбору. Я недавно начал кросс-тренинг с C # на Java, и могу сказать, что концепция сборки maven довольно чужда, но через некоторое время она мне нравится, и, что более важно, я вижу, что предлагает мне концепция репо.
Теперь, когда зависимости, управляемые VS, требуют, чтобы вы добавляли либо ссылку на проект, либо ссылку на DLL. Это добавление ссылки на DLL некорректно. Как вы управляете сменой версий, как вы структурируете сторонние библиотеки DLL из внешних и внутренних источников, а также библиотеки DLL, которые вы хотели бы включить из своей собственной команды, но не в качестве ссылки на проект. Я сделал много обходных решений, основанных в целом на файловой структуре каталогов, но ни один из них не является элегантным или отличным при изменении версий. Также затрудняет ветвление, потому что это становится важным фактором при структурировании каталогов.
Сейчас я работал с Java и публичными репозиториями mavan, супер круто. Я работал с Python, и pip install эффективно снова извлекал из общедоступных репозиториев. Наконец, я снова сделал кое-что на C # с VS 2015, и интеграция с Nuget - это именно то, чего не хватало.
Теперь в корпоративной среде публичные репозитории не всегда доступны напрямую, поэтому вам нужны корпоративные репозитории. И снова экосистемы, отличные от Microsoft, впереди в этом.
В основном, подводя итоги, Java эволюционировала из среды с более открытым исходным кодом, где поддержка проекта IDE не использовалась, тогда как .NET эволюционировала из Visual Studio, управляющей проектом, и эти разные пути означали, что репозитории позже появятся в Visual Studio.
Наконец, и это мое наблюдение, сообщество Java имеет тенденцию больше использовать фреймворки других людей, поскольку базовые библиотеки Java предлагают меньше. В то время как .NET люди пишут намного больше своего собственного кода. Сообщество Java имеет более обширную экосистему шаблонов и практик, тогда как .NET снова написала собственный код или ждала Microsoft. Это меняется, но снова показывает, почему .NET отстает от Java в требованиях к репозиториям.
person
Mark Channing
schedule
15.04.2016