后端(服务器)只通过api(s)提供数据,所有页面呈现都将通过javascript(ajax)完成。
一般来说,我认为支持多个客户端是一个好主意,例如android,iOS,浏览器都可以使用相同的api。人们也可能有更明确的职责,只能专注于服务器或前端。
但是我现在可以找到一些问题:
1可重复使用的布局。
对于后端呈现的页面,我们可以使用一些模板(布局)库(如apache tile)来为while应用程序创建统一的外观。
对于客户端渲染,没有一个ejs,把手可以适合这个。
2身份验证
某些操作可能只对经过身份验证的用户开放,通常我们会使用:
<c:if test="${session.user}!=null">
// put the security operations
</c:if>
对于客户端渲染,我们必须向服务器发送ajax以确保用户已通过身份验证,然后刷新视图,这可能会导致渲染步骤更加复杂。
3个URL参数解析
当服务器呈现页面时,我们可以轻松获取网址参数,例如@Param
@PathVariable
。这意味着我们可以创建任何类型的网址。
对于客户端渲染,我们必须自己构建一个公共库来解析参数。
4 ...
我认为可能还有更多我尚未提及的问题。
然后我想知道这种设计是否可取?如果是,我们可以遵循任何常见做法吗?