【问题标题】:Microsoft Dynamics (Navision) vs C# .NETMicrosoft Dynamics (Navision) 与 C# .NET
【发布时间】:2010-07-02 09:13:49
【问题描述】:

我是一名经验丰富的 C#/.NET 开发人员,最近有机会成为 Microsoft Dynamics (Navision) 开发人员(培训、认证等费用均由雇主支付)。我从来没有参与过与这个 Dynamics 相关的任何事情,所以我想问一下作为一个 Dynamics 开发人员与 C#/.NET 开发人员相比是什么样的。在做出决定之前,我已经编制了一份我有兴趣了解的事情的清单。请随时编辑列表。

C#/.NET

  1. IDE:Visual Studio
  2. 语言:C#
  3. 应用程序域:基于 Web 或基于桌面
  4. 业务领域:任何行业
  5. 职业发展良好,容易换工作
  6. 等等……

微软动态

  1. 相对封闭的市场(与 .NET 相比)
  2. 那里的工作没有那么多
  3. IDE(或开发环境)与 Visual Studio 相比很糟糕,我什至可能更喜欢在记事本中工作
  4. 与自定义构建的应用程序相比,Dynamics 客户可以获得哪些优势?

谢谢!

【问题讨论】:

    标签: c# .net erp navision dynamics-nav


    【解决方案1】:

    我自己的背景是 .NET 开发人员,主要使用 C# 和最近的 ASP.NET MVC。我也是 Dynamics NAV 开发人员/顾问/架构师大约 3 年了。

    Dynamics NAV 世界很小,老实说,它既没有增长也没有缩小。我听说最近有几个地方从其他 ERP 转向 NAV,还有很多地方从 NAV 转向。

    今年早些时候,我参加了在 Vedbæk(丹麦)的 Microsoft 高管简报中心举行的简报会,并会见了 Dynamics NAV 总经理以及一些 Dynamics NAV PM 和开发人员(即编写实际 NAV 应用程序的开发人员)和他们为产品制定的路线图非常令人兴奋 - 在接下来的几个版本中,他们将非常关注 HCM 并改善一些财务状况。

    就 NAV 的日常工作而言,这有点像是范式转变。正如您所提到的,IDE 绝对是糟糕的。他们最近才添加了语法高亮,并且没有真正的智能感知或当今 IDE 提供的任何现代便利。话虽如此,您可以通过将本机 NAV 对象与插件等相结合来做一些非常强大的事情,并且它们确实改进了一些脚手架工具来帮助开发。

    在财务方面,NAV 开发商做得很好,因为他们相当罕见。 NAV 解决方案架构师和顾问做得更好。你的个人资料没有说明你在哪里,但我知道在都柏林,NAV 开发人员的起薪约为 6 万美元,而在伦敦则约为 6.5 万美元。

    就业市场比 C#/.NET 开发人员要小得多,但工作往往更安全一些,而且客户雇用内部 NAV 开发人员的市场不断增长,而不仅仅是合作伙伴/供应商雇用开发人员和咨询人员将它们发送给客户。

    我个人不认为它是 C# 和 NAV 之间的二元选择。当然,您的头衔可能是 NAV 开发人员,但如果您使用的是 NAV 的一些较新版本,那么您可能仍会进行大量 C# 开发编写插件等。这也是复习 SQL 知识的绝佳机会因为在 NAV 中编写/优化性能良好的代码需要相当深入的 SQL 知识以及如何在整个过程中正确处理查询。

    您还有什么更具体的问题吗?

    【讨论】:

    • 感谢您的详细见解。
    【解决方案2】:

    如果您有机会让雇主承担资产净值开发或资产净值实施培训,如果您的雇主愿意承担这方面的费用,我总是建议您这样做。正如已经强调的那样,资产净值是一个利基市场,微软正在全球积极推动这一市场(我认为,微软的营销材料最终显示资产净值上有 70,000 个客户网站和超过 100 万用户)。

    我不认为 N​​AV 和 .NET 开发在任何方面都是排他性的 - 实际上,如果任何拥有开发语言和开发环境的知识会让你更有价值的话。从 NAV 2009 R2 版本开始,现在有更多方法可以将外部应用程序、API 和 .NET 与任何 NAV 进程集成,使用以下组合:Web 服务、角色定制客户端中的 .NET 控件以及最终访问本机 .NET通过 .NET 互操作的类型和类。基本上,如果您了解 C# 或 .NET,您现在就可以在 NAV 环境中使用它们。因此,如果您了解 .NET 框架和 NAV,则可以在为您的客户/客户构建任何解决方案时利用两全其美。

    我要为任何未来/当前的 NAV 开发人员(恕我直言)强调两点:

    • NET 知识在即将发布的 NAV 版本中至关重要 更倾向于 .NET/Visual Studio 类型集成。作为最近 R2 版本中的更改表明它们为开发人员提供了很多 更好的工具,如果您同时了解 .NET 和 NAV (C/AL) 编程 比你非常适合建筑师和建造最好的品种 解决方案。

    • 能够理解应用程序至关重要 工作流和业务逻辑。例如。了解如何 销售订单通过未过帐和过帐的各个阶段工作 步骤比需要被告知的开发人员有用得多 正是业务分析师要构建的内容。虽然这确实需要 如果您是 NAV 新手,请务必花时间 了解并了解文档结构和事务 编写代码或构建报告时的工作流程。

    我知道这有点啰嗦 - 但要具体回答您的问题:

    1. 随着当前(以及希望未来)的发布,市场正在开放 有更多的集成和 .NET 连接选项。微软是 推动资产净值与 CRM、在线支付处理器和网络的集成 服务。

    2. 可能没有那么多工作,但它们是全球性的 - 有很多 在欧盟、澳大利亚、新西兰(我在那里住了 2 年,我的 员工为搬家支付了费用)。北美的资产净值要低得多 渗透,所以这里没有那么多工作(但它在增长)。 因此,如果您想工作和旅行,这可能会很棒,就像那里一样 专业资产净值资源的人才库规模较小 供需决定了您的运行速度高于 .NET 开发商。在加拿大,高级资产净值资源可以超额支付 10 万加元(按今天的汇率实际上是 10.2 万美元)。

    3. 是的,IDE 很糟糕! - 但每个版本都在变得更好。 (我讨厌 NAV)

    4. 一个关键的好处(从后端的角度来看)是能够 快速开发和部署业务逻辑和功能。这 NAV 平台集成了开箱即用的安全性,并提供 足够的结构让你可以开发出非常丰富的应用程序, 很快。 (我喜欢 NAV)。

    【讨论】:

      【解决方案3】:

      关于你的观点:

      1. 虽然 .NET 是一种通用开发方式,但 NAV 是用于特定目的 (ERP) 的专有软件。因此,市场确实非常封闭,您需要您的开发许可证才能做任何事情,这反过来又需要参与 Microsoft 或与 MS 合作伙伴一起工作。关闭时,市场有点,可以说,是精英市场..?至少人们在那里的感觉是这样的。

      2. 工作 - 绝对数量可能没有那么多,但对资产净值人员的需求量很大,而且只要我记得(10 年),需求就一直超过供应。在欧洲,您可以在一周内轻松获得聘用,并支付搬迁费用。这些工作都是合理的报酬。还应注意,NAV 在欧洲是畅销书,而在 Dynamics GP 占主导地位的美国则不那么畅销。

      3. IDE 无关紧要。缺乏某种智能可能会让新手感到震惊,但你会在一个月左右的时间内克服它。在 NAV 中进行开发在技术上非常简单,您不需要一个好的 IDE。相反,您需要很好地理解 NAV 在概念上的工作原理、使用的模式和数据流,并相应地构建您的东西。离得越近越好。

      4. 客户利益 - 第 1 天就有“最佳实践”功能,完成其余事情的速度,一致使用模式,即“事情应该以这种方式工作”(除非开发人员破坏他们),在一定程度上避免了供应商锁定,因为周围有许多 NAV 合作伙伴,如果出现问题,可以选择在保留 NAV 的同时更换合作伙伴。

      总而言之,不要期望使用 NAV 进行大量编码,也不要期望自己成长为技术开发人员。从技术上讲,NAV 介于 MS Access 和具有标准功能和做事模式的大型乐高积木之间。所有公司实际上都在寻找的不是技术开发人员,而是开发顾问,因为大多数工作通常与一次性定制(大小)相关,而不是标准应用程序/模块开发和发布版本。因此,一旦您不仅学会了编码(这在 3-6 个月内很容易完成),而且还了解了应用程序的工作原理、定制的正确方法,以及最重要的是 - 该做什么和不该做什么,那么您对您的雇主将是最有价值的以及如何解决问题/变更请求。一旦你可以自信地独立完成,你就是一个被要求的资产净值专家,可能会觉得,呃,精英,但这个过程可能需要 5-10 年,在此期间你主要学习资产净值的细节,一个专有系统.

      所以选择权在你。如果您有志成为有价值的业务 IT 开发人员/顾问,提供可见的业务价值,请选择资产净值。如果你的心是性能、整洁的代码、版本控制、算法和一流的技术,就不要选择 NAV。

      【讨论】:

      • 关于您在第 1 点的陈述“您需要您的开发许可证才能做任何事情”,NAV 2016 仍然是这种情况吗?在我对this document 的理解中,Starter Pack 功能的“默认”customer 许可证允许客户创建许多表、页面、代码单元、查询,将页面发布为 Web 服务等.这是正确的吗?
      • 通常是的,最近的版本没有太大变化,这一切都非常复杂。整个License比较细化,在开发能力上也有层次。使用标准客户许可证,您可以添加表格/字段、自定义页面、制作报告和集成。但是您无法查看/修改应用程序代码。您可以购买(相当昂贵的)客户许可证升级以获取代码,但它仍然是最终用户许可证,您仍然无法使用合作伙伴许可证完成所有操作,例如编写代码以删除财务条目,所以还是有限的。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-11-14
      • 2023-04-05
      • 1970-01-01
      • 2019-02-09
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多