Критически важное для производительности приложение с графическим интерфейсом (Windows, Linux) - PullRequest
5 голосов
/ 13 августа 2008

Мне было поручено обновить серию приложений, которые являются критически важными для приложений VB.NET, которые, по сути, просто отслеживают и возвращают сетевую статистику. У меня только три требования: преобразовать его в C #, сделать его быстрым и стабильным

Одно предостережение: мы "можем" мигрировать с платформы .NET на linux "скоро"

Я буду отвечать за обслуживание этих приложений в будущем, поэтому я бы хотел сделать это правильно. Я решил провести рефакторинг этих приложений в соответствии с шаблоном MVP, чтобы правильно тестировать юнитов этого плохого парня. Но я также думал о том, что, поскольку я использовал MVP, я мог также выполнять вычислительно дорогие вещи в собственном коде C / C ++, в то время как графический интерфейс мог бы быть сделан с формами .NET, или Qt или чем-то другим.

вопросы:

  1. имеет ли смысл делать GUI в winforms, но дорогой материал в нативном, неуправляемом C / C ++?

  2. какие-нибудь рекомендации для хорошего кроссплатформенного оконного комплекта, который бы подходил для сценария, описанного выше?

Ответы [ 12 ]

0 голосов
/ 17 сентября 2008

gtk-sharp - довольно хороший кроссплатформенный инструментарий.

Gtk # - набор инструментов для графического интерфейса пользователя для моно и .Net. Проект связывает набор инструментов gtk + и различные библиотеки GNOME, что позволяет полностью разрабатывать графические приложения Gnome с использованием сред разработки Mono и .Net.

0 голосов
/ 13 августа 2008

Возможно, я неправильно понимаю проблему , но если это система сетевого мониторинга, почему она не написана как «выделенная» служба Windows?

VB.NET не должен быть намного медленнее, чем C #. Я не уверен на 100%, есть ли какие-то большие различия в сгенерированном IL-коде, но единственное преимущество (и оправданная причина переписать его в C #), о котором я мог подумать (за исключением того, что C # имеет более приятный синтаксис и некоторые другие полезности ) - это использование небезопасного блока кода, который может немного ускорить процесс.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...