Microsoft Dynamics (Navision) против C # .NET

Я опытный разработчик C # / .NET, и недавно мне предложили стать разработчиком Microsoft Dynamics (Navision) (обучение, сертификация и т. Д. Оплачиваются работодателем). Я никогда не участвовал ни в чем, связанном с этой Dynamics, поэтому я хотел спросить, каково быть разработчиком 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 по сравнению с настраиваемым приложением?

Спасибо!


person Jeff    schedule 02.07.2010    source источник


Ответы (3)


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

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

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

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

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

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

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

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

person Rob Burke    schedule 02.07.2010
comment
Спасибо за подробное понимание. - person Jeff; 04.07.2010

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

Я не думаю, что разработка NAV и .NET в каком-либо смысле исключительна - на самом деле, если что-то знание языков разработки и сред разработки делает вас намного более ценным. Начиная с версии NAV 2009 R2 Release, теперь существует гораздо больше способов интеграции внешних приложений, API и .NET с любым процессом NAV с использованием любой комбинации: веб-служб, элементов управления .NET в клиенте, адаптированного для ролей, и, наконец, доступа к собственному .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 могут быть оплачены на сумму, превышающую 100 тыс. Канадских долларов (что по сегодняшнему обменному курсу составляет около 102 тыс. Долларов США).

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

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

person Jeff Landeen    schedule 31.03.2011

Что касается ваших очков:

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

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

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

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

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

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

person Ivka    schedule 08.09.2014
comment
Что касается вашего утверждения из пункта 1: вам нужна лицензия на разработку, чтобы что-то делать, так ли это для NAV 2016? В моем понимании этого документа по умолчанию < b> клиентская лицензия на функциональность Starter Pack позволяет клиенту создавать ряд таблиц, страниц, кодовых модулей, запросов, публиковать страницы как веб-службы и т. д. Это правильно? - person turdus-merula; 31.08.2016
comment
В целом да, в последних версиях ничего особенного не изменилось, и все это довольно сложно. Вся лицензия довольно детализирована, и есть уровни с точки зрения возможностей разработки. Со стандартной клиентской лицензией вы можете добавлять таблицы / поля, настраивать страницы, составлять отчеты и выполнять интеграцию. Но вы не можете видеть / изменять код приложения. Вы можете приобрести (довольно дорогое) обновление своей клиентской лицензии, чтобы получить доступ к коду, но все же это лицензия для конечного пользователя, и вы по-прежнему не можете делать все, что можно сделать с партнерской лицензией, например, писать код для удаления финансовых записей, так что все еще ограничено. - person Ivka; 21.10.2016