Microsoft Dynamics (Navision) против C # .NET - PullRequest
23 голосов
/ 02 июля 2010

Я опытный разработчик на C # / .NET, и недавно мне предложили стать разработчиком Microsoft Dynamics (Navision) (обучение, сертификация и т. Д. Оплачиваются работодателем).Я никогда не имел никакого отношения к этой динамике, поэтому я хотел спросить, каково быть разработчиком Dynamics по сравнению с разработчиком на C # / .NET.Я составил список вещей, которые мне интересно знать, прежде чем я приму это решение.Пожалуйста, не стесняйтесь редактировать список.

C # / .NET

  1. IDE: Visual Studio
  2. Язык: C #
  3. Область применения: веб-интерфейс или настольный компьютер
  4. Сфера деятельности: любая отрасль
  5. Хороший карьерный рост и простота смены работы
  6. и т. Д.

Microsoft Dynamics

  1. Относительно закрытый рынок (по сравнению с .NET)
  2. Не так много рабочих мест
  3. IDE(или среда разработки) ужасна по сравнению с Visual Studio, я мог бы даже предпочесть работать в блокноте
  4. Какие преимущества получают клиенты Dynamics по сравнению с пользовательским приложением?

Спасибо!

Ответы [ 3 ]

29 голосов
/ 02 июля 2010

Мой собственный опыт работы в качестве разработчика .NET, использующего в основном C #, а в последнее время ASP.NET MVC. Я также являюсь разработчиком / консультантом / архитектором Dynamics NAV уже около 3 лет.

Мир Dynamics NAV довольно маленький, и, честно говоря, он не растет и не уменьшается. Я слышал о нескольких местах, недавно переехавших из других ERP в NAV, и столько же, кто уходит из NAV.

В начале этого года я присутствовал на брифинге в Исполнительном брифинг-центре Microsoft в Ведбеке (Дания) и встретился с руководителем Dynamics NAV GM, а также с некоторыми руководителями и разработчиками Dynamics NAV (т.е. разработчиками, которые пишут настоящее приложение NAV) и дорожная карта, которую они имеют для продукта, действительно захватывающая - будет уделено огромное внимание HCM и улучшению некоторых финансовых показателей в течение следующих нескольких версий.

С точки зрения повседневной работы с NAV, это немного смена парадигмы. Как вы упомянули, IDE абсолютно ужасна. Они только добавили подсветку синтаксиса в последнее время, и в настоящее время не существует настоящего intellisense или каких-либо современных удобных IDE. Сказав это, вы можете сделать невероятно мощные вещи, комбинируя нативные объекты NAV с надстройками и т. Д., И они действительно улучшили некоторые инструменты скаффолдинга, чтобы помочь с разработкой.

С финансовой точки зрения, разработчики NAV работают довольно хорошо, потому что они достаточно редки. Архитекторы и консультанты по решениям NAV работают еще лучше. В вашем профиле не указано, где вы находитесь, но я знаю, что в Дублине начальная зарплата разработчика NAV составляет около 60 тыс. Долларов, а в Лондоне - около 65 тыс. Долларов.

Рынок труда гораздо меньше, чем для разработчиков на C # / .NET, но рабочие места, как правило, немного более безопасны, и существует растущий рынок для клиентов, нанимающих собственных разработчиков NAV, а не только партнеров / поставщиков, которые нанимают разработчиков и консультируют их клиентам.

Лично я бы не рассматривал это как бинарный выбор между C # и NAV. Конечно, ваш заголовок может быть разработчиком NAV, но если вы используете некоторые из более поздних версий NAV, вы все равно можете сделать много надстроек для написания C # и т. Д. Это также фантастическая возможность освежить свои знания SQL поскольку написание / оптимизация хорошо работающего кода в NAV требует достаточно глубокого знания SQL и того, как обрабатываются запросы в процессе работы.

У вас есть более конкретные вопросы?

12 голосов
/ 31 марта 2011

Я всегда рекомендовал бы, чтобы, если у вас была возможность, чтобы работодатель имел возможность оплатить разработку NAV или обучение по внедрению NAV, если ваш работодатель предлагает покрыть расходы на это. Как уже подчеркивалось, NAV является нишевым рынком, и Microsoft активно продвигает это глобально (я думаю, по последним подсчетам, маркетинговые материалы Microsoft показали 70 000 сайтов клиентов и более 1 миллиона пользователей на NAV).

Я не думаю, что разработка NAV и .NET каким-либо образом является эксклюзивной - на самом деле, если что-либо, имеющее знание как языков разработки, так и сред разработки, делает вас гораздо более ценным. Начиная с выпуска NAV 2009 R2, теперь стало намного больше способов интеграции внешних приложений, API и .NET с любым процессом NAV с использованием любой комбинации: веб-сервисов, элементов управления .NET в Role Tailored Client и, наконец, доступа к собственному .NET типы и классы через .NET Interop. По сути, если вы знаете C # или .NET, вы можете использовать это изначально в среде NAV. Поэтому, если вы понимаете .NET Framework и NAV, вы можете использовать лучшее из обоих миров при создании любого решения для ваших клиентов / клиентов.

Два момента, которые я бы выделил для любого будущего / текущего разработчика NAV (imho):

  • NET знания будут иметь решающее значение в следующих выпусках как NAV больше движется в направлении интеграции типов .NET / Visual Studio. Как последние Изменения в выпуске R2 показывают, что они дают разработчикам много лучшие инструменты и если вы знаете, как .NET и NAV (C / AL) программирования чем вы очень хорошо расположены для архитектора и построить лучший в своем роде решения.

  • Очень важно, чтобы вы были в состоянии понять приложение рабочий процесс и бизнес-логика. Например. Разработчик, который понимает, как Заказ на продажу работает на разных этапах неопубликованных и размещенных шаги гораздо полезнее, чем разработчик, которому нужно сказать что именно строить бизнес-аналитикам. Хотя это займет время, если вы новичок в NAV, убедитесь, что вы нашли время, чтобы понимать и знакомиться со структурами документов и транзакций рабочий процесс при написании кода или создании отчетов.

Я знаю, что это становится длинным, но ответить на ваши вопросы конкретно:

  1. Рынок открывается как текущие (и, надеюсь, будущие) релизы иметь больше возможностей интеграции и подключения .NET. Microsoft является продвижение интеграции NAV с CRM, процессорами онлайн-платежей и веб услуги.

  2. Может быть не так много рабочих мест, но они глобальны - их много в ЕС, Австралии, Новой Зеландии (я жил там 2 года и мой сотрудник оплатил переезд). Северная Америка имеет гораздо более низкую NAV проникновение, поэтому здесь не так много рабочих мест (но оно растет). Так что если вы хотите работать и путешествовать, это может быть здорово, также как меньше кадров талантливых специализированных ресурсов NAV законы спрос и предложение диктуют, что ваша скорость выше, чем .NET разработчик. Здесь, в Канаде, старшие ресурсы NAV могут быть оплачены сверх $ 100K CAD (который по текущему обменному курсу составляет $ 102K USD).

  3. Да, IDE отстой! - но это становится лучше с каждым выпуском. (Я ненавижу это о NAV)

  4. Ключевым преимуществом (с точки зрения серверной части) является возможность быстро разрабатывать и внедрять бизнес-логику и функциональность. Платформа NAV имеет встроенную безопасность и обеспечивает достаточно структуры, чтобы вы могли разрабатывать богатые приложения очень, очень быстро. (Я люблю это о NAV).

5 голосов
/ 08 сентября 2014

Относительно ваших очков:

  1. Хотя .NET - это общий способ разработки, NAV - это проприетарное программное обеспечение для определенных целей (ERP). Следовательно, рынок действительно закрыт, вам нужна лицензия на разработку, чтобы что-то делать, что, в свою очередь, требует участия в Microsoft или работы с партнером MS. Несмотря на то, что рынок закрыт, он, так сказать, элитный. По крайней мере, так люди там себя чувствуют.

  2. Рабочие места - возможно, не так много в абсолютных цифрах, но NAV люди сильно востребованы, и спрос постоянно превышал предложение, насколько я помню (10 лет). Здесь, в Европе, вы можете легко получить работу через неделю, переезд оплачивается. Все работы разумно оплачиваются. Следует также отметить, что NAV является бестселлером в Европе, а не в США, где доминирует Dynamics GP.

  3. IDE не имеет значения. Отсутствие своего рода intellisense может быть шоком для новичка, но вы справитесь с этим через месяц или около того. Разработка в NAV настолько технически проста, что вам не нужна хорошая IDE. Вместо этого вам нужно хорошее понимание того, как концептуально работает NAV, какие шаблоны и потоки данных используются, и соответствующим образом строить свои вещи. Чем ближе ты, тем лучше.

  4. Преимущества для клиентов - функциональность «передового опыта» есть в первый день, скорость выполнения остального, последовательное использование шаблонов, то есть «все должно работать НАСТОЯЩИМ способом» (если разработчики не создают беспорядок, ломая их), в некоторой степени избегая привязки к поставщику, так как вокруг много партнеров по NAV, и если что-то пойдет не так, есть возможность сменить партнеров, оставаясь с NAV.

В общем, не ожидайте, что будете много заниматься программированием с NAV или станете технологическим разработчиком. Технически, NAV - это нечто среднее между MS Access и большим LEGO стандартной функциональности и шаблонов ведения дел. На самом деле все компании ищут не технических разработчиков, а консультантов, так как большая часть работы, как правило, связана с одноразовыми настройками (большими и маленькими), а не со стандартной разработкой приложений / модулей и выпуском версий. Таким образом, вы будете наиболее ценны для своего работодателя, как только вы не только научитесь кодировать (что легко сделать за 3–6 месяцев), но и поймете, как работает приложение, как правильно настраивать, а главное - делать и не делать и как обойти вопросы / запросы на изменение. Как только вы сможете сделать это самостоятельно с уверенностью, вы будете востребованным экспертом по NAV и, возможно, почувствуете себя элитой, но путешествие может занять 5-10 лет, в течение которых вы в основном изучаете особенности NAV, проприетарной системы. .

Так что выбор за вами. Выбирайте NAV, если вы хотите стать ценным бизнес-разработчиком / консультантом по ИТ, обеспечивающим видимую ценность для бизнеса. Не переходите на NAV, если ваше сердце сосредоточено на таких вещах, как производительность, аккуратный код, контроль версий, алгоритмы и первоклассные технологии.

...