Риски, связанные с использованием приложений Visual Basic 6.0
Учитывая, что среда выполнения Visual Basic 6.0 поставляется с Windows 7 и будет поддерживаться в течение всего срока службы ОС ( до января 2020 года), а среда IDE Visual Basic 6.0, хотя и больше не поддерживается, довольно стабильна, каковы риски, связанные с этим? сохранить критически важные приложения в Visual Basic 6.0 в течение следующих нескольких лет?
5 ответов
Официальный совет для владельцев приложений VB6 от Microsoft UK:
[Не обновляйте и не заменяйте ваше приложение VB6, если] ваше приложение работает отлично, оно не требует каких-либо изменений в течение многих лет, нет планов по расширению функциональности или необходимости его интеграции с более новыми приложениями.
Это говорит вам о факторах, которые увеличивают риск для приложения VB6:
- Необходимо изменить приложение (исправление ошибок или новые функции).
- Необходимость интеграции приложения с новыми приложениями.
- Но интеграция не требует миграции. Interop позволяет смешивать код.Net с VB6 (технический документ в формате PDF).
РЕДАКТИРОВАТЬ Я забыл упомянуть основной риск. Перенос кода VB6 в.Net может быть большой задачей. На мой взгляд, в настоящее время это проще, чем было в первые дни: сейчас есть отличные коммерческие инструменты; и некоторые более поздние функции языка VB.Net делают это проще. Риск состоит в том, что это может снова стать более трудным, если вы оставите это слишком долго. Наступит момент, когда большинство людей, которые когда-либо собираются мигрировать, уже мигрировали: тогда инструменты могут исчезнуть, и знания сообщества о миграции могут ухудшиться. /РЕДАКТИРОВАТЬ
Я уверен, что Microsoft в конечном итоге откажется от среды выполнения VB6, но имейте в виду, что Windows 8 по-прежнему поддерживает 16-битные приложения. И еще есть виртуальные машины. Лично я думаю, что приложения VB6 еще долго будут работать.
Одним из рисков является то, что вы работаете на языке, с которым разработчики не хотят иметь дело. Найти хороших разработчиков будет сложнее, так как текущие разработчики уходят или вам нужно расширять приложение.
Кроме того, вы увеличиваете размер кодовой базы, которую вы когда-нибудь захотите обновить на другой язык.
Самое главное, что добавление новых функций в ваше приложение VB6 обходится дороже, чем если бы приложение было на лучшем языке, таком как C# или VB.NET. Это потому что:
- Разработчики VB6 обходятся дороже. Поскольку разработчики не хотят использовать VB6, они потребуют больше денег, чтобы занять должность в вашей компании (я бы)
- .NET имеет гораздо большую стандартную библиотеку и больше сторонних компонентов, чем VB6. По моему опыту, в.NET есть еще много сторонних компонентов с открытым исходным кодом, в то время как компоненты VB6 часто являются проприетарными.
- Использование Visual Studio 2008 или 2010 более продуктивно, чем VB6 IDE, благодаря всем улучшениям и функциям за последние 10 лет.
- .NET имеет лучшую поддержку модульного тестирования.
- C# - лучший язык, чем VB6. Хороший разработчик на C# может написать функцию намного быстрее, чем хороший разработчик на VB6, потому что язык намного мощнее.
Существует много рисков... Например, если во время выполнения VB6 будет обнаружена дыра в безопасности - будет ли MS вкладывать деньги в ее исправление? Есть хороший шанс, что они это сделают, но на данный момент он настолько стар, что может не беспокоиться.
Оценка риска также должна основываться на том, насколько критически важно ваше приложение, и насколько оно велико / сложно. Если это лежит в основе вашего бизнеса, а простои, потраченные на один день, обанкротят ваш бизнес, я бы хотел заменить его довольно быстро на то, что на самом деле поддерживается.
С другой стороны, у вас много компании. В производстве все еще много кода VB6 (я уверен, что некоторые вещи, которые я написал в VB6, все еще работают).
Другой возможный риск также связан с использованием старого ocx с 16-битным setup.exe для среды разработки.
Вы не можете запустить 16-битную установку в новой 64-битной среде разработки ОС.
Процитируйте, например, Farpoint Spread 3.0.16: он имеет 16-битную настройку разработчика, но в этом счастливом случае вы можете найти обновленное 32-битное приложение setup.exe.
Некоторые ocx не имеют 32-битного setup.exe для среды разработки.
Часто возникают проблемы со старыми серийными номерами OCX / регистрационными ключами. С некоторыми из этих ocx вы больше не получаете поддержки
Приложения в VB6 сделаны в огромных количествах сегодня. Проще говоря, они надежны. Там нет никаких рисков, но просто препятствие, не является кроссплатформенным. Существует огромное количество онлайн проектов с открытым исходным кодом VB6 для всех доменов. Сейчас он используется в Linux. Он очень хорошо работает со встроенным ASM для функций низкого уровня.
Некоторые хорошие моменты:
Компоненты VB6 бесплатны онлайн.
VB6 более продуктивен, чем Visual Studio 2008 или 2010 или любой другой язык после VS6.
Вопреки сказанному выше, VB6 - лучший язык, чем C# (он тоже намного быстрее). Хороший разработчик на VB6 может написать функцию намного быстрее, чем хороший разработчик на C#, потому что язык намного мощнее.