Ser*_*kiy 3 security memory-management knockout.js single-page-application breeze
本文旨在开始深入讨论Web的单页应用程序.在大多数有关该主题的资源中,有些问题似乎没有明确的答案.他们在我的脑海里
谢谢.
War*_*ard 18
@Sergey - 我认为这对StackOverflow来说太宽泛了.SO不是讨论论坛; 这是一个特定答案的地方.因此,虽然您的问题可能是有效的,但我认为您不应该对此采取深刻的实质性回应抱太大希望.
我可以用尽可能最友好的方式补充一下,你那些彻底,不受支持和否定的陈述会让你看起来像个巨魔.你是谢尔盖,你不是巨魔吗?
关于你事实上真正关心的可能性,我提供了一些快速反应,特别是因为它们与Breeze有关.
授权.在Web API中,您可以在方法级别进行授权.ApiController基类有一个User
返回的属性IPrincipal
.因此,无论您有一个控制器还是多个(如果需要,您可以在Breeze中使用多个控制器),粒度是方法级别,而不仅仅是类级别.
内存管理.桌面开发人员多年来一直在应对这种担忧.如果您始终开发过程生命周期短暂的传统Web应用程序,这可能会让您感到惊讶.但对于我们这些在桌面技术(如WinForms,WPF和Silverlight)中构建大型应用程序的人来说,长时间运行的流程并不是新闻.在HTML和JavaScript领域,问题和解决方案大致相同.
后端的图层.你一直在看演示太久了.是的,大多数演示将所有内容转储到一台服务器上运行的项目中 我们假设您知道如何重构服务器以满足您的环境的扩展,性能和安全性要求.我们的演示主要涉及前端SPA开发.我们涉足服务边界,以显示数据如何通过服务API,通过ORM流向数据库.我们认为识别这些不同的层是足够的,并且为读者留下将这些层移动到不同层的相对微不足道的事情.我们有一天可能不得不重新访问这个假设.但有没有人认真地认为在服务器端层之间分配层/责任存在重大障碍?真?像什么?
不引人注目的验证.当大多数人开始在HTML中使用"unobtrusive"这个词时,他们通常会指出将JavaScript保留在HTML之外.也许这就是你的意思,在这种情况下,SPA开发者无处不在......这就是为什么有许多"不显眼的验证"库可用.我想到了HTML 5验证,jQuery验证和Knockout验证.所有这些都在SPA开发人员的工具包中,并且没有一个"需要开发人员使用MVC部分视图和控制器".是什么让您觉得SPA需要任何服务器端资源才能使用无JavaScript的HTML标记实现验证?
Ids为安全风险.真?这是假的.关键值不再是任何其他数据值的安全风险.数百万个应用程序 - 不仅仅是SPA - 在URL和正文中向客户端传达密钥值.它是REST API的标准.它是ODATA的标准配置.你想通过说它们" 针对安全要求和功能集很少的区域 "来解雇它们吗?祝你好运.我认为你必须做得比在一个相对模糊的组织的整个网站的链接上休息你的情况更好.