У меня есть шанс начать перенос устаревшего приложения, написанного на C++/Powerbuilder, на C#. У нас есть функция этого спринта, которая запускает независимый диалог, и я только что прошел через создание библиотеки CCW для моей управляемой реализации этой функции, которая будет вызываться из C++. Я решил использовать WPF для представлений в моей управляемой DLL. Пока что так хорошо, что я могу взаимодействовать с моей управляемой DLL, включая запуск окна WPF из примера приложения MFC.Постепенно портирование приложения PowerBuilder/C++ на C#/WPF или Winforms
Есть несколько причин, мотивирующих эту стратегию:
- У меня есть куча многоразовые управлять библиотеками DLL, которые пришли к тому, от недавней реконструкции 10 летних унаследованным приложения в.
- Я довольно опытна в C# по сравнению с C++, где я постоянно сталкиваюсь с синтаксисом языка и intellisense. FWIW, наша компания могла бы лучше инвестировать в некоторые инструменты, хотя это не изменит мою неприязнь к синтаксису C++, файлам заголовков и несоответствиям ... подхода.
- Для настольных приложений по крайней мере для тех приложений, которые мы разрабатываем, я думаю, что C# - это путь. 4. Есть планы на будущее, чтобы перезаписать приложение, и я не хочу повторять себя, следовательно, соблазн начать проектирование правильно, где я могу, на этом этапе.
- У меня нет много помощи С ++.
Однако, у меня есть некоторые проблемы и вопросы:
Является ли это фрагментарный подход путь?
С точки зрения производительности, должен ли я взаимодействовать с Winforms вместо WPF? Приложение будет размещать ГИС, поэтому производительность ключевая, хотя мы только что разработали другое приложение WPF, на котором размещается MapSuite ThinkGeo, и он работает довольно хорошо. Главное отличие заключается в том, что унаследованное приложение отличается большим количеством ГИС, чем его кузен WPF.
С последними слухами о судьбе WPF/Silverlight, должен ли я даже рассматривать WPF? Каковы альтернативы в любом случае для настольных приложений, если WPF/Silverlight должен был умереть?
3.Что такое ждет меня?
Любые мысли и/или советы по этому вопросу будут замечательными. Я буду консультироваться с моим менеджером по этому вопросу, но сначала хотел бы получить некоторые ваши мысли и опыт. Тиа.
Клаус
EDIT:
Извините, но приложение 10 лет, а не 25-летний, как первоначально заявлено. Немного смешайтесь.
Если ваше приложение имеет серьезный масштаб, вы, скорее всего, не закончите это, как перенос руки. У него 25 лет развития, конечно, он довольно большой. Неужели вы не собираетесь перекодировать все это вручную и надеетесь сохранить все свои свойства? Вы можете найти это обсуждение полезным: http://stackoverflow.com/q/3455456/120163 –
WPF & Silverlight - хорошие альтернативы PB. Ожидайте, что разработка займет примерно 4 раза, что потребуется в PB, и это также предполагает, что вы гибки в графическом интерфейсе. До сих пор сложно дублировать окно данных, я использую сетки Telerik, но нигде не приближаюсь к гибкости в качестве окна данных. –