Подтвердить что ты не робот

Будет ли VС++ MFC устаревать в ближайшем будущем?

Обычно люди говорят, что MFC немного неуклюжие. Это делает разработку интерфейса немного сложнее в обслуживании, так как в нем много автогенеративного кода. Он имеет хорошую архитектуру (doc/view), но не прозрачен, как программирование Win32, чтобы понять, как оконная программа работает в фоновом режиме. Таким образом, в этой ситуации приятно распространять экспозицию при программировании MFC или лучше переключиться на .NET, поскольку для более быстрого проектирования пользовательского интерфейса с легкостью в обслуживании.

Is it good to continue as MFC developer or good to know .NET as well?

Как глобально компании ищут MFC как технологию для разработки пользовательского интерфейса. Являются ли они удобными в поддержке своих разработчиков для продолжения работы с MFC или поиска изменений в технологии разработки.

4b9b3361

Ответ 1

Я искренне сомневаюсь, что любая компания начнет новый проект с использованием MFC вместо, по крайней мере, WinForms.

Но я могу быть слишком оптимистичным.

С другой стороны, наличие того, кто может поддерживать старые проекты, использующие MFC, всегда приятный, но я бы не стал полагаться только на это умение.

Ответ 2

Ну, наш продукт состоит из около 70 проектов MFC (EXE и DLL) с затратами на развитие 100 человеко-лет.

Мы должны гарантировать, что это приложение будет запущено, по крайней мере, через 10 лет. И мы должны обеспечить, чтобы наши существующие клиенты могли использовать свои NT-сети и клиенты Win98.

Имея это в виду, мы все еще начинаем новые проекты с использованием MFC.

Хотя некоторые оптические материалы появляются с каждой версией Windows, ядро ​​Windows по-прежнему почти одинаково, и MFC будет продолжать работать.

Ответ 3

В большинстве случаев MFC уже относится к категории устаревшего кода. НО, команды/компании, которые знают только С++/MFC, будут продолжать использовать его для новых приложений, потому что это быстрее для них и позволяет им повторно использовать существующие кодовые базы.

Итак, в заключение, доля кода MFC, которая является наследством, будет продолжать расти, но технологии, как правило, занимают годы или десятилетия, чтобы вымирать, поскольку жизненный цикл команды может быть такой продолжительности.

Если вы являетесь разработчиком MFC, найти способ изучить .NET - это определенно хорошая идея, потому что меньше и меньше рабочих мест захотят MFC, и они обычно будут старыми проектами, а не захватывают новые вещи.

Но это все еще полезный навык, зная, что некоторые редкие технологии могут принести вам хорошие деньги!

Ответ 4

Обновляйте свои навыки С++. Если я беру интервью у кандидатов на работу и знаю С++ и могу продемонстрировать некоторые глубокие навыки С++, я знаю, что они смогут обрабатывать все, что я на них бросаю, будь то VB, С#, Java, Python и т.д. Это немного отличается от синтаксиса и семантики. Многопоточное программирование - дополнительный слой поверх того, что действительно приятно иметь.

Ответ 5

Я много лет занимался MFC, и мне все равно нравится это. Это самый простой и быстрый способ создать небольшой исполняемый файл бесплатных зависимых окон. Я обычно смешиваюсь в ATL, STL и повышаю классы с MFC, все они работают вместе как счастливая семья. Вам нужно понять, что делают автоматически созданные коды, но на самом деле это не так сложно, особенно если вы сделали чистые программы win32.

Любой программист MFC должен также изучить .Net. Это не будет сложно, потому что разработчик MFC/Win32 поймет, что на самом деле делают все эти классы в инфраструктуре .Net.

В качестве решения о карьере я все равно призываю всех расширить свои навыки, выходящие за рамки настольных приложений Windows. Конечно, любое потребительское настольное приложение будет хотеть быть кросс-платформой, как и многие новые бизнес-приложения. Если вы хотите остаться с локальными компьютерными приложениями, вам следует рассмотреть возможность использования кросс-платформенной платформы, такой как Qt.

Конечно, многие приложения перемещаются в Интернет, поэтому немного не повредит некоторым навыкам.