Microsoft Dynamics (Navision) vs C#.NET

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

C# / .NET

  1. IDE: Visual Studio
  2. Язык: C#
  3. домен приложения: веб-или настольный
  4. бизнес-домен: любая отрасль
  5. хорошее развитие карьеры и легко изменить работу
  6. etc...

Microsoft Dynamics

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

спасибо!

3 ответов


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

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

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

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

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

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

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

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


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

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

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

  • NET knowledge будет иметь решающее значение в следующих выпусках как NAV больше перемещается в сторону интеграции типов .NET / Visual Studio. Как недавнее изменения в выпуске R2 демонстрируют, что они дают разработчикам много лучше tools and if you know both .NET and NAV (C/AL) Программирование чем вы очень хорошо расположены к architecht и строить лучшие породы решения.

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

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

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

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

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

  4. ключевым преимуществом (с точки зрения задней части) является возможность быстрое развитие и развертывание бизнес-логики и функциональности. Этот НАВИГАЦИЯ платформа имеет встроенные средства безопасности и обеспечивает достаточно структура такая, что вы можете разрабатывать богатые приложения очень, очень быстро. (Мне нравится это о NAV).


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

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

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

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

  4. преимущества для клиентов-функциональность" best practice " существует в день 1, скорость выполнения остального, согласованная использование шаблонов, т. е. " вещи должны работать таким образом "(если разработчики не создают беспорядок, нарушая их), избегая блокировки поставщика в какой-то степени, поскольку вокруг много партнеров NAV, и если что-то пойдет не так, есть возможность изменить партнеров, оставаясь с NAV.

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

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