.NET项目平台

时间:2012-06-07 06:38:43

标签: .net asp.net-mvc silverlight

我是该公司(新成立的公司)的唯一开发人员(在Web开发方面经验丰富)。我收到了一个从头开始开发ERP系统的项目。当然,我选择的平台是ASP.NET。我启动了这个项目,完全用MVC编写,但随着我的进一步发展,我发现它越来越难以管理。

尽管拥有良好的架构,Repository,DI,MVC-VM,但系统本身很难维护。 HTTP的无状态特性要求我编写大量的javascript / jQuery来插入漏洞,比如维护状态,这耗费了我很多时间。此外,由于它是一个相当大的应用程序,设计有时可能是限制性的,我最终使用javascript来解决。考虑在表单中使用表单。这是我一直面临的问题。

然后,我在浏览和浏览时遇到了Silverlight LOB应用程序,我印象深刻。 UI和流畅性给人留下了深刻的印象。所以现在,我需要一个建议。我应该接受Silverlight吗?或者我应该继续使用MVC? Silverlight可以显着缩短开发时间吗?学习曲线是什么样的?

编辑:我忘了提到这个应用程序仅限内部员工使用。与外部世界交互的唯一组件是目录和CMS组件。

1 个答案:

答案 0 :(得分:1)

一年前,我们/我面临类似的决定:我们必须将桌面LOB(类似于ERP的复杂性)移植到网络上。我们查看了可能的选项:Silverlight,Flash(Air)和HTML 5(javascript)。

由于我们都有.net背景,在Web开发方面经验不足,我们选择了Silverlight。 我们切换到HTML 5后9个月:)。 发生了什么:

  • SL和HTML 5都能够完成工作
  • 如果你有.net(win forms,wpf)背景,SL学习曲线会更小。
  • 从桌面到网络的学习曲线很高 - 所以无论你选择什么,你都会感到头疼
  • SL也是无状态的(或更好 - 我们使用的SL启用的WCF服务是无会话的)因此我们必须自己编写整个状态管理逻辑(实际上并不那么难)
  • 在Silverlight中管理大型项目的复杂性也相当困难 - 我们使用Prism,MEF和其他几个库来更好地组织代码并完成工作,但项目只是很大 - 与某些人一起“不那么幸运的“决定(缺乏网络开发技能的结果)使项目内的导航成为一个问题”
  • (好)SL开发人员很难找到 - 我们找了6个月,找不到任何人来帮助我们进行架构/设计。在这方面,找到(好的)ASP.net开发人员更容易 - 在考虑增加团队或维护时需要考虑这一点
  • 连接到前一点 - 我们从SL切换到HTML 5的主要原因是管理压力 - HTML 5是今天的热门话题,而SL被视为“相当死”的技术(我不想讨论这个陈述 - 它只描述了管理层如何看待事物。当你告诉他们你想用SL开发时,他们会问你“为什么要去SL,当其他人都在使用HTML 5”时? - 很难找到合理的理由......
  • 我在SL中看到了很好的LoB应用程序 - 我们投入的9个月也带来了相当不错的应用程序 - 但是通过切换到MVC 4,我们可以让更多人参与该项目,我不得不承认MVC应用程序看起来和SL一样好。当然需要一些时间来习惯javascript(以及它的所有库),但作为一个前winforms / wpf / SL开发人员,我开始欣赏它的美丽。
  • 一个注意事项:有了一些js库(淘汰赛,甚至可能是其他人),你将获得SL中令人敬畏的“绑定”功能(我认为XAML和ExpressionBlend是SL中最好的东西)

总结:

  • 如果你已经开始使用ASP.net MVC我的建议就是坚持下去 - 通过维护/让人们相信你是在正确的技术船上会更容易。您可以量化现在切换到SL的成本(2-3个月来习惯SL和各种SL库 - PRISM,MVVM灯等等+几个月的开发才能到达现在的同一个地方)用这笔钱,你可以得到另一双手来帮助你使用你的MVC应用程序。
  • 如果你想要光滑/响应能力得到一些js库 - Kendo(来自telerik)非常好 - 看起来很棒并快速移动

    希望这对您有所帮助 - 如果您有任何其他问题 - 请发表评论。