我正在创建新的业务Web应用程序,并且想要实现:
- 使用各自领域的最佳技术。我想要具有可靠ORM的可靠后端框架。我想要最先进的SPA(单页应用程序)框架,并为前端应用程序使用最新的HTML和Javascript功能
- 公开后端实体和业务服务以供不同类型的应用程序使用,例如,Web应用程序,移动(Android)以及可能的其他类型(智能设备等)
因此,为了满足这两个要求,我倾向于将我的应用程序完全隔离在后端和前端应用程序中,并使用REST API(JSON)来组织它们之间的通信。这是合理的方法吗?
这种分离并不是显而易见的设计解决方案,因为许多Web应用程序技术都集成了视图层,其中服务器端应用程序或多或少地控制视图的生成并部分处理视图的响应(例如,带有视图层的SpringMVC,带有视图的PHP Yii Java JSF / Facelets层将其组件的状态完全保存在服务器上)。因此-周围有许多技术提出了更强的耦合性,并有望缩短开发时间和提供更标准的路径。所以-在开始以未广泛使用的方式使用技术时,我必须谨慎。
据我了解,完全分离的SPA前端通常是由使用第三方API引起的。但是,当后端和前端都由一家公司开发时,这种去耦声音设计是否有效?
我目前选择的技术是Java / Spring后端和Angular2 / Web组件/聚合物前端-如果允许我这么说的话。但这与这个问题无关,因为这个问题是关于一般设计而不是具体技术的选择?
So - I must be cautious when starting to use technologies in manner which is not widely used.
是的,如果您打算使用锤子敲打丝绸,则必须谨慎。也许这不是正确的工具。