Silverlight и C ++ или C ++ в C # продолжаются преобразования кода? - PullRequest
2 голосов
/ 26 января 2009

Я работаю над продуктом на основе чертежей, в котором я хочу производить версии для iPhone, настольных OS / X, планшетов Windows, браузера на основе Silveright, Windows Mobile и Windows в указанном порядке приоритета.

Для переносимости графического интерфейса классический ответ - сохранить ядро ​​в C ++ и использовать тонкие слои Cocoa / Objective-C или WPF / C #.

Однако Silverlight усложняет выбор.

У меня не возникло бы никаких проблем при переносе моего кода в C ++ / CLI и поддержании двойной кодовой базы (с некоторыми макросами для подделки контекстных ключевых слов C ++ / CLI и некоторым судебным поиском и заменой ^ и%).

Из того, что я смог найти до сих пор , маловероятно, что C ++ / CLI будет поддерживаться в Silverlight. Это оставляет меня с вариантами:

  1. Однократная миграция исходной базы C ++ v1.0 в C # и текущее параллельное обслуживание
  2. Портирование в реальном времени с помощью инструмента (рекомендации, пожалуйста!) С C ++ на C # или наоборот, который достаточно плавный, чтобы быть частью процесса сборки.
  3. Архитектурное разделение версии Silverlight, поэтому логика C ++ остается на сервере. Мне немного не по себе из-за последствий для производительности.

Может кто-нибудь предложить альтернативы, сообщить хорошие новости о C ++ / CLI в Silverlight или порекомендовать инструменты для переноса? Я достаточно комфортно говорю на любом языке, чтобы сделать C ++ или C # моим основным языком для бэкэнда, если порт надежен.

Edit: Рассматривая ассортимент продуктов, предлагаемых Tangible Software Solutions , их заметки о преобразователях дают понять, что преобразование C # в C ++ проще, чем другие. Это, как я и ожидал, вызывает интересные мысли об ограничении моего стиля C ++ наименьшим общепринятым OO-знаменателем.

1 Ответ

2 голосов
/ 26 января 2009

Архитектурное разделение версии Silverlight, поэтому логика C ++ остается на сервере. Мне немного не по себе из-за последствий для производительности.

Я бы сделал это. Производительность, вероятно, не так плоха, как вы себе представляете.

...