Необходимо перенести сложные проекты с интерфейсом GUI из RAD Studio в Visual Studio - PullRequest
0 голосов
/ 13 декабря 2018

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

До сих пор мывсегда писал набор Embarcadero RAD Studio для написания и поддержки наших приложений.Однако многие повторяющиеся ошибки в каждой новой версии утомляли моих начальников, и теперь они рассматривают возможность перехода на Visual Studio.

Я думаю, что перенос основных функций приложения, написанных на c ++, не будет реальной проблемой.

Однако для GUI это другая история.У меня был предыдущий опыт работы со сложными интерфейсами под компилятором Visual Studio 2003, и я помню, что это было болезненной работой по их созданию и поддержке.Реального дизайнера не было, компоненты были ограничены, и огромная часть работы должна была выполняться вручную.После этого я взглянул на инструменты проектирования, предоставляемые Visual Studio 2017, и у меня первое впечатление, что с тех пор мало что изменилось.Конструктор для проектов c ++ все еще находится в зачаточном состоянии, особенно по сравнению с RAD Studio VCL с его хорошо поставленной библиотекой компонентов.API C # ближе, чем мне нужно, но я не могу предусмотреть переписать весь мой код на C # как серьезный вариант.

Я пытался найти учебники о хороших методах применения в такой ситуации, но покаТеперь я не нашел никакой полезной информации.

Мои вопросы:

  1. Могу ли я восстановить свой текущий интерфейс графического интерфейса, хотя бы его часть, при переходе на Visual Studio или выполнитьЯ планирую переписать все с нуля?
  2. Предоставляет ли Visual Studio механизм, аналогичный VCL, для создания интерфейсов графического интерфейса, установки пакетов сторонних разработчиков и написания пользовательских компонентов?И если да, где я могу найти соответствующую информацию об этом?
  3. Возможен ли такой порт без большой дозы головной боли и слез?Где я могу найти соответствующую информацию о таком процессе?

1 Ответ

0 голосов
/ 20 декабря 2018

В настоящее время я также работаю над продуктом, который разработан с использованием Embarcadero RAD Studio и некоторых сторонних элементов управления пользовательским интерфейсом.Разработка была сделана много лет назад, поэтому ее интерфейс довольно старый.Я попытался перенести его в Visual Studio, разработав логику приложения на C ++ и пользовательский интерфейс на C # (WPF).Но это так же хорошо, как написание нового приложения, стоимость больше.Поэтому мы прекратили это упражнение.Однако то, что я узнал во время этого, -

  1. Перенос приложения VCL из RAD Studio в Visual Studio - это все равно что писать новое приложение.Нет однозначного отображения (типы данных, структуры, элементы управления пользовательского интерфейса и т. Д.), Вы начинаете с нуля.Также нет доступных инструментов, которые могли бы помочь в этой миграции.
  2. Некоторые типы данных, структуры данных, элементы управления пользовательским интерфейсом легко доступны в RAD Studio, которые недоступны в Visual C ++ (MFC), и наоборот.Поэтому при переносе логики приложения вам нужно просмотреть каждую строку кода.
  3. Для Visual C ++ (MFC) нет сторонних элементов управления пользовательским интерфейсом, которые могли бы облегчить вашу жизнь.Для RAD Studio у вас есть инструменты LMD, businessSkinForms и т. Д.
  4. После работы в RAD Studio более 5 лет разработка пользовательского интерфейса в RAD Studio становится довольно простой (пользовательский интерфейс в C ++).Однако в Visual Studio вы можете разработать свой пользовательский интерфейс на C # (WPF), который будет насыщенным и сможет взаимодействовать с логикой приложения, написанной на C ++.

Как вы сказали, у вас есть несколько настольных приложений, разработанных с помощью RAD Studio, при этом переход на Visual Studio начинается с небольшого и автономного приложения.Таким образом, вы получите некоторую уверенность при переносе этого приложения, а затем сможете без проблем запускать такое перенесенное небольшое приложение в производство.

~ Nilesh

...