通过严格的Client UX驱动.NET / Server Side应用程序。

时间:2011-07-29 17:24:12

标签: javascript jquery .net asp.net asp.net-mvc-3

过去五年我一直在开发.NET堆栈,并且最新版本的MVC3和.NET 4.0让我觉得我认为事情进展的方向得到进一步确认。

通过客户社区在如此短的时间内采取的创新步骤,似乎最好的应用程序具有由大多数客户端事件控制的UX。例如,facebook.com,stackoverflow.com,google,www.ponched.com :)等。当我说客户端事件时,我不是在谈论包含在UpdatePanel中的服务器端控件来掩盖回发。我正在谈论在客户端上执行所有事件和屏幕转换,并且仅在真正需要时才使用完整的回发。这并不是说像.NET这样的东西不是帮助控制安全性,初始页面加载,路由,中间层等的必要工具。

我理解在处理一个简单的应用程序或在激进的时间限制下使用.NET(或其他Web开发框架)默认提供的控件和功能是不切实际的,如果项目需要它,但它似乎是开发人员可以让自己与众不同的是你可以进入Javascript / jQuery的战壕,并提供有限的(网络)服务器参与的无缝应用程序。作为开发人员,我们可能认为我们的用户变得越来越复杂,因为他们在reg上使用了大名称Web应用程序,但我倾向于认为他们是。

我很好奇是否有人分享这个观点,或者他们是否有另外一个观点?一些午餐后的想法,我想我会在那里开火,看看我得到了什么。

3 个答案:

答案 0 :(得分:1)

我赞同这个观点。我们讽刺地从瘦客户端转移到胖客户端,虽然这次客户端上的所有内容都是通过服务器按需分发的,所以显然维护开销与以前完全不同。

丰富的客户端功能不仅为您提供流畅,响应迅速的交互式应用程序,而且对于能够将大量处理资源移植到客户端浏览器而不必处理的大型站点和应用程序具有显着优势一切都在他们的尽头。在涉及数万或数亿用户的情况下,这相当于节省了很多。

我可以在这件事上说更多但时间很短。我确信会有其他观点(假设问题不是因为主观而关闭)。

答案 1 :(得分:1)

关于让自己与众不同的开发者的观点肯定是目标。了解底层技术并为客户提供定制解决方案的开发人员确实与开发人员分开,他们可以拖放框架工具并连接一些运行良好的东西。

在本次讨论中关注Web开发,开发人员了解正在发挥作用的关键技术至关重要。我无法计算有多少次我遇到过“Web开发人员”(主要是在Microsoft堆栈中,因为那是我主要工作的地方)谁明显拒绝学习JavaScript / HTML / CSS只是因为他们觉得他们可以使用工具在Visual Studio中完成工作就好了。

在许多情况下确实如此,但并非在所有情况下都如此。并且能够解决它没有的情况是让开发人员高于其他人的原因。像暴露一个小的RESTful JSON API并使用AJAX调用来获取必要的数据而不是POST整个页面并重新处理整个响应这样简单的事情对整体用户体验意味着很多。两者都完成了工作,但是对于用户来说,其中一个比另一个更令人印象深刻。

当您想要做的事情完全封装在框架的功能集中时,框架非常棒。但是当你需要超越框架时,它最终会受到限制。这就是对底层技术的深入理解将允许开发人员在框架工具之外发展并为客户提供完整的解决方案。

答案 2 :(得分:0)

你说得对,现代网络开发涉及jQuery(或类似的库)和JavaScript等技术。

整页重新加载是旧方式,Ajax方法是要走的路,只是不要认为Web服务器比以前更少使用或涉及,它仍然响应ajax调用,只是它异步地执行:)< / p>

MVC实际上不支持任何回发,因为没有网页表单,并且没有相同的页面生命周期模型。