Рекомендуется ли Visual C++ для разработки корпоративного приложения для совместной работы?
Я начинаю новый проект и не уверен, какая платформа разработки лучше всего подходит для пользовательского интерфейса. Это совместное корпоративное решение, которое может быть разработано как приложение для внутренней сети (или, возможно, приложение для настольных компьютеров).
Пользовательский интерфейс будет состоять из строк и столбцов, которые пользователи должны иметь возможность добавлять / удалять на лету. Они будут редактировать метки строк / столбцов как текстовые поля.
Результирующая таблица или "сетка" должна поддерживать редактируемые пользователем иерархии для строк - как я полагаю, со свойством элемента управления TreeView::LabelEdit - и сортируемые столбцы. Сетка может расшириться до 2000 строк и 30 столбцов (хотя будет намного меньше для всех, кроме опытных пользователей / групп, возможно, 20 x 5). "Ячейки" сетки будут выпадающими меню и не должны редактироваться пользователем. Наконец, созданная пользователем сетка будет стимулировать интенсивные статистические вычисления.
Итак, в общем, мои требования касаются совместной сетки, которая (1) имеет динамический размер (добавление / удаление строк и столбцов), с (2) поддержкой иерархий типа TreeView для строк, (3) редактируемых меток строк / столбцов, (4) сортируемые столбцы, (5) раскрывающиеся меню для "ячеек" и (6) поддержка расширенных статистических библиотек или ресурсов. Все в контексте корпоративного сотрудничества.
Я бы предпочел создать его как настольное приложение в Visual C++ Professional, потому что я хочу изучать VS C++ и готов потратить на это время. У меня есть проекты, для которых потребуется этот язык /IDE, поэтому мне действительно нужно сократить мои зубы на этом.
Мои вопросы:
1) Могу ли я эффективно выполнить вышеизложенное в VS C++, даже если это не оптимальное решение?
2) Если это не может быть эффективно сделано в C++ (несмотря на мои предпочтения:), какие другие подходы / платформы я должен рассмотреть?
Я начинаю с чистого листа, и просто хочу сосредоточить свою энергию в лучшем направлении.
Спасибо.
1 ответ
Я создал рабочий прототип в Excel. Это было ценное упражнение, но Excel не поддерживает требования совместной работы эффективно (по крайней мере, несколько десятков пользователей).
Мой предварительный ответ - использовать элементы управления Flex в MediaWiki. Например, элементы управления, такие как DataGrid или Advanced DataGrid**, по-видимому, отвечают требованиям пользовательского интерфейса, а платформа вики избавит меня от необходимости создавать (или импортировать) поддержку совместной работы в C++. (В качестве альтернативы я мог бы разработать веб-приложение ASP.NET, поддерживающее совместную работу, или встроить элементы управления ASP.NET в MediaWiki. Я не чувствую сильных и слабых сторон ASP для этого.)
Я поговорю с внештатным гуру TWiki завтра, но я в значительной степени исключил это, потому что бесплатная версия / версия для сообщества не поддерживает некоторые основные функции, которые предлагает MediaWiki. Наконец, я пытаюсь определить, предлагает ли HTML5 подходящие элементы управления пользовательским интерфейсом.
Буду признателен за любые отзывы или предложения, моя голова крутится, взвесив все за и против этих и других альтернатив (но тогда, как правило, все равно крутится). Спасибо.
** Примеры интерактивного Flex для динамического редактирования / сортировки сеток (включая код):