1

I am a sole developer (experienced in web development) in the company (a newly established one). I received a project to develop an ERP system from ground-up. Naturally, my platform of choice would be ASP.NET. I started the project, fully written in MVC but as I progress further, I find that it is getting increasingly hard to manage.

Despite having a good architecture, Repository, DI, MVC-VM, the system itself is hard to maintain. The stateless nature of HTTP requires me to write a lot of javascript / jQuery to plug holes such as maintaining state, which consumed a lot of my time. Also, since it's a fairly large application, design can sometimes be restrictive which I ended up using javascript to resolve. Think about having a form within a form. This is the kind of problem I've been facing.

Then, I came across Silverlight LOB applications while browsing and wow, I was impressed. Very impressed with the UI and fluidity. So now, I need an advice. Should I take on Silverlight? Or should I stay with MVC? Can Silverlight reduce development time significantly? What is the learning curve like?

Edit: I forgot to mention that this application is strictly for internal staffs only. The only component that interacts with the outside world is the catalog and CMS component.

4

1 回答 1

1

一年前,我们/我面临一个类似的决定:我们必须将桌面 LOB(复杂性与 ERP 相似)移植到 Web。我们研究了可能的选项: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 和其他几个库来更好地组织代码并完成工作,但项目只是很大 - 加上一些“不那么幸运” " 决策(缺乏 Web 开发技能的后果)使在项目中导航成为问题
  • (好)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 light 等 + 几个月的开发才能达到您现在所在的位置) 并且有了这笔钱,您可以获得另一双手来帮助您开发 MVC 应用程序。

  • 如果您想要流畅/响应性,请获取一些 js 库 -剑道(来自 Telerik)非常好 - 看起来很棒并且移动速度很快

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

于 2012-06-07T07:27:50.203 回答