没有骨干的SPA.js



我目前正在构建一个可以与各种应用程序一起使用的应用程序框架。该框架是用PHP编写的,并具有RESTful API。我希望框架能够结合使用jQuery和我的API来支持单页应用程序。

我已经研究了 backbone.js但我遇到的问题和其他一些类似的问题是,你本质上是在 js 中复制你的业务逻辑。这不仅有效地使代码库的大小翻倍,而且还会带来各种安全风险。通过在js中复制您的业务逻辑,您可以向全世界展示您的后端是什么样子的,这使得恶意用户的工作变得更加容易。

也就是说,我当然不是前端/js大师,我真的只认真地研究了骨干.js为此。我的想法是,必须有一种好方法来定义动态js函数,这些函数基本上可以完成相同的事情。我正在寻找的是朝着正确方向的点,即使它告诉我我错了。

如果您使用 REST 通过 JSON 更新模型,那么您实际上没有两倍于应用程序中的代码量。这实际上取决于您要在客户端上执行多少工作以及在服务器上执行多少工作。如果你想要基本的表单验证,你必须把它写在客户端和服务器上。

在客户端上复制业务逻辑似乎不是问题。只需提交无效数据,最终就会将您的业务规则暴露给恶意用户。缩小 javascript 将大大有助于阻止这种情况,但大多数时候你只需要在客户端上进行简单的验证,在服务器上进行业务规则。

我正在为我的 SPA 创建和使用以下结构:

├── ajax //~ function calls, posted data must be on the same server
├── html //~ webroot
│   ├── css 
│   ├── fonts
│   ├── images
│   ├── js //~ js files, including jquery,init,functions,admin,etc.
│   └── uploads 
   |_ index.php,.htaccess
├── includes //~ config,functions,router,index.html-the template

这是一个对SEO友好的SPA框架,我认为(希望?)非常安全所有 ajax 调用都经过验证,发布在源服务器上我希望有人看到这一点,如果我做错了什么,有一些见解

最新更新