Microsoft Dynamics (Navision) против С#.NET
Я - опытный разработчик С#/.NET и недавно получил возможность стать разработчиком Microsoft Dynamics (Navision) (обучение, сертификация и т.д. все будут оплачиваться работодателем). Я никогда не участвовал ни в чем с этой Динамикой, поэтому я хотел спросить, что такое разработчик Dynamics по сравнению с разработчиком С#/. NET. Я собрал список вещей, которые мне интересны, прежде чем принимать такое решение. Не стесняйтесь редактировать список.
С#/.NET
- IDE: Visual Studio
- Язык: С#
- Область приложения: веб-сайт или рабочий стол
- Бизнес-домен: любая отрасль.
- Хорошая карьера и легко меняющаяся работа.
- и т.д...
Microsoft Dynamics
- Относительно закрытый рынок (по сравнению с .NET)
- Не так много рабочих мест там
- Средство IDE (или среда разработки) ужасно по сравнению с Visual Studio, я даже предпочитаю работать в блокноте
- Какие преимущества получат клиенты Dynamics по сравнению с настраиваемым приложением?
Спасибо!
Ответы
Ответ 1
Мой собственный фон - это .NET-разработчик, использующий в основном С# и в последнее время ASP.NET MVC. Я также был разработчиком/консультантом/архитектором Dynamics NAV уже около 3 лет.
Мир Dynamics NAV довольно маленький, и, честно говоря, он не растет и не сокращается. Я слышал о нескольких местах, недавно перешедших из других ERP в NAV и столько же удаленных от NAV.
В начале этого года я присутствовал на брифинге в Microsoft Executive Briefing Center в Ведбеке (Дания) и встретился с Dynamics NAV GM, а также с некоторыми PM и Dynamics NAV PM (разработчиками, которые пишут приложение NAV), и дорожная карта, которую они имеют для продукта, действительно интересна - там будет большой акцент на HCM и улучшении некоторых финансовых показателей в следующих двух версиях.
С точки зрения повседневной работы с NAV это немного парадигма. Как вы уже отметили, IDE абсолютно ужасна. Они только добавили подсветку синтаксиса в последнее время, и сегодня нет настоящих intellisense или каких-либо современных удобств IDE. Сказав это, вы можете сделать невероятно мощный материал, объединив собственные NAV-объекты с надстройками и т.д., И они действительно улучшили некоторые инструменты для создания лесов, которые помогут в разработке.
В финансовом отношении разработчики NAV хорошо справляются, потому что они достаточно редки. Архитекторы и консультанты NAV делают еще лучше. В вашем профиле не указано, где вы находитесь, но я знаю, что в Дублине стартовая зарплата для разработчика NAV составляет около 60 тыс. Долларов США, а в Лондоне - около 65 тыс. Долларов США.
Рынок вакансий намного меньше, чем у разработчиков С#/. NET, но рабочие места, как правило, немного более безопасны, и растет рынок для клиентов, нанимающих собственных разработчиков NAV, а не только партнеров/поставщиков, нанимающих разработчиков и консалтинговых их клиентам.
Я лично не рассматривал бы это как двоичный выбор между С# и NAV. Конечно, ваш заголовок может быть разработчиком NAV, но если вы используете некоторые из более поздних версий NAV, тогда вы все равно можете сделать много надстроек над написанием С# и т.д. Это также фантастическая возможность освежить ваши знания SQL так как написание/оптимизация хорошо выполняющегося кода в NAV требует достаточно глубокого знания SQL и того, как запросы выполняются правильно обрабатываются способом.
У вас есть более конкретные вопросы?
Ответ 2
Я бы всегда рекомендовал, чтобы у вас была возможность привлечь работодателя к разработке NAV или внедрению NAV, если ваш работодатель предлагает покрыть расходы на это. Как уже подчеркивалось, NAV является нишевым рынком, и Microsoft агрессивно продвигает этот глобальный подход (я думаю, что в конце концов маркетинговые материалы Microsoft показали 70 000 клиентских сайтов и более 1 миллиона пользователей в NAV).
Я не думаю, что разработка NAV и .NET является эксклюзивной в любом случае - на самом деле, если что-либо, обладающее знаниями как языков разработки, так и среды разработки, делает вас намного более ценным. Начиная с версии NAV 2009 R2 Release теперь есть много способов, которыми внешние приложения, API и .NET могут быть интегрированы с любым процессом NAV, используя любую комбинацию: веб-сервисов, элементов управления .NET в роли Tailored Client и, наконец, доступа к родному .NET типы и классы через .NET Interop. В принципе, если вы знаете С# или .NET, вы можете использовать это изначально в среде NAV. Поэтому, если вы понимаете .NET framework и NAV, вы можете использовать лучшее из обоих миров при создании любого решения для своих клиентов/клиентов.
Две точки, которые я хотел бы выделить для будущего/текущего разработчика NAV (imho):
-
Знание NET будет иметь решающее значение в следующих выпусках как NAV
больше подходит для интеграции типа .NET/Visual Studio. Как недавно
изменения в релизе R2 показывают, что они дают разработчикам много
лучшие инструменты, и если вы знаете как .NET, так и NAV (C/AL)
чем вы очень хорошо расположены в архитекторе и строите лучшие породы
решения.
-
Очень важно, чтобы вы могли понять приложение
рабочий процесс и бизнес-логику. Например. Разработчик, который понимает, как
Заказ на продажу работает на разных этапах неопубликованного и размещенного
шаги гораздо полезнее, чем разработчик, которому нужно сообщить
точно, что строить бизнес-аналитиками. Хотя это и происходит
если вы новичок в NAV, убедитесь, что вы тратите время на
понимать и узнавать структуры документов и транзакции
когда вы пишете свой код или отчеты о зданиях.
Я знаю, что это длительное время, но для ответа на ваши вопросы:
-
Рынок открывается как текущие (и, надеюсь, будущие) выпуски
имеют больше возможностей интеграции и .NET. Microsoft
продвижение NAV-интеграции с CRM, онлайн-платежей и интернет-платежей
услуги.
-
Возможно, не так много рабочих мест, но они глобальны - их много
в ЕС, Австралии, Новой Зеландии (я прожил там 2 года, а мой
работодатель заплатил за ход). В Северной Америке намного меньше NAV
так что здесь не так много рабочих мест (но растет).
Поэтому, если вы хотите работать и путешествовать, это может быть здорово, также как и там
- это небольшой набор талантов специализированных ресурсов NAV, законы
спрос и предложение диктуют, что ваш курс выше, чем .NET.
разработчик. Здесь, в Канаде, старшие ресурсы NAV могут быть выплачены в избытке
из $100 тыс. CAD (который по текущему обменному курсу составляет $102 тыс. USD).
-
Да, IDE отстой! - но с каждым выпуском становится все лучше.
(Я ненавижу это о NAV)
-
Ключевым преимуществом (с точки зрения задней части) является возможность
быстро развивать и развертывать бизнес-логику и функциональность.
Платформа NAV имеет встроенную защиту из коробки и обеспечивает
достаточно структуры, чтобы вы могли разрабатывать богатые приложения очень,
очень быстро. (Я ЛЮБЛЮ это о NAV).
Ответ 3
Относительно ваших баллов:
-
Несмотря на то, что .NET - это способ разработки общих продуктов, NAV является проприетарным программным обеспечением для конкретной цели (ERP). Следовательно, рынок довольно закрыт, вам нужна ваша лицензия на разработку, чтобы что-то сделать, что, в свою очередь, требует участия в Microsoft или работы с партнером MS. Пока закрыто, рынок несколько, так сказать, элитный...? По крайней мере, как люди склонны чувствовать себя там.
-
Вакансии - возможно, не так много в абсолютных цифрах, но люди NAV сильно востребованы, и спрос постоянно превышает предложение до тех пор, пока я помню (10 лет). Здесь, в Европе, вы можете легко получить нанятую через неделю перепланировку. Работы все достаточно оплачиваются. Следует также отметить, что NAV является бестселлером в Европе, а не в США, где доминирует Dynamics GP.
-
IDE не имеет значения. Недостаток рода intellisense может быть шоком для новичков, но вы преодолеете это через месяц или около того. Разработка в NAV настолько проста, что вам не нужна хорошая среда IDE. Вместо этого вам нужно понять, как NAV работает концептуально, какие шаблоны и потоки данных используются, и соответственно строить свои вещи. Чем ближе вы находитесь, тем лучше вы.
-
Преимущества для клиентов - функциональность "лучшей практики" есть на 1-й день, скорость выполнения оставшихся вещей, последовательное использование шаблонов, то есть "вещи должны работать ЭТОТ образом" (если разработчики не создают беспорядок путем взлома их), избегая блокировки поставщика в некоторой степени, так как вокруг много партнеров NAV, и если все пойдет не так, есть возможность изменить партнеров, оставаясь с NAV.
В целом, не ожидайте, что вы будете много кодировать с помощью NAV или стать самим разработчиком технологий. Технически, NAV - это что-то среднее между MS Access и большим LEGO стандартной функциональностью и шаблонами действий. То, что все компании фактически ищут, - это не технические разработчики, а разработка консультантов, поскольку большая часть работы обычно связана с одноразовыми настройками (большими и малыми), в отличие от стандартных приложений и модулей разработки и выпуска версий. Таким образом, вы будете наиболее ценны для своего работодателя, как только вы не только научитесь кодировать (что легко сделать через 3-6 месяцев), но и понять, как работает приложение, правильные способы настройки и, самое главное, - делать и не делать и как обойти проблемы/изменить запросы. Как только вы сможете сделать это самостоятельно, вы являетесь востребованным экспертом NAV и можете чувствовать себя, ugh, elite, но путешествие может занять 5-10 лет, в течение которого вы в основном изучаете специфику NAV, запатентованной системы.
Итак, выбор за вами. Пойдите для NAV, если вы чувствуете стремление стать ценным бизнес-разработчиком/консультантом, который обеспечивает видимую ценность для бизнеса. Не ходите на NAV, если ваше сердце в таких ситуациях, как производительность, аккуратный код, контроль версий, алгоритмы и первоклассная технология.