开发SPA的最佳方法是什么?



在开发单页应用程序时,我总是质疑自己是设计项目的最佳方法。我应该解开访问端的客户和后端吗?我的客户端应用程序应该与我的后端代码在同一服务器中吗?我应该投资客户和服务器的多个托管计划吗?所以我问,哪种是组织和开发单页应用程序的最佳方法?

当我第一次开始时,这是我遇到的问题,很难在线找到完整的答案。一般来说,尽管这将是一个过分简化,但这是公司如何完成此过程的方式。

MONOLITH:在同一项目中使用后端和前端代码的应用程序。

这意味着什么:代码库易于维护,因为它在那里就可以了。最初的复杂性较小,生产时间较少,因为它更容易"出门"。您没有复杂性,例如"系统"的不同部分如何相互交谈,等等。所有初创企业都从这里开始。

这里的弊端是,随着开发人员将新功能和想法塞入其中,代码库最终变得非常无法实现。另外,您的API未暴露,因此只能用于此应用程序(以下更多内容)。

前端&API:一个应用程序,其中前端代码和API分别在不同的代码库中使用。API仅提供数据,通常采用JSON格式,前端代码消耗并显示此数据。

这意味着什么:您已经分解了API和前端代码库,您可以使用API为任何需要它的前端应用程序提供数据。例如,想想网络与移动设备。他们都可以使用相同的API。对于一个较大的应用程序,这将变得更加可靠,现在您可以围绕后端和前端流程建立团队。随着项目的增长,您现在也可以达到更好的扩展和效率。

这里的弊端是您现在有两个单独的代码库可以维护,向上保存,进行更新,确保同步等等。

febe&微服务:一个应用程序,其中"系统"的所有部分都生活在非常孤立的代码库,架构等中。FEBE是"前端,后端",微服务是一项服务(可能是在业务逻辑中具有非常特定功能的API)。这个世界上的前端可能需要消耗几个微服务来实现其目标。

这意味着什么:这是成功的,大型公司最终降落的地方,如果他们做到了。同样,过度简化,但是所有主要公司都在此领域运行基础架构。对于团队而言,这种体系结构比编码或开发要多得多。拥有数百名工程师的公司可以为他们提供一个系统的一部分来拥有和维护,使他们能够以自己的生产速度释放,等等。

这里的弊端是,该系统现在被分成数百个零件,而没有人力,因此很难维护。同样,公司之所以这样做,是因为它允许团队非常有效,独立地运作。

所有公司作为一家初创公司通常都从整体开始迁移,因为它们生存,转向收入,盈利,雇用更多的人等。

我对您的建议是:使用node.js(express)后端和react.js或Angular前端的整体开始。

我这么说是因为Node.js是未来,并且很容易学习,而React或Angular在框架方面都是不错的起点。

当您转到第2阶段(前端和API)时,请坚持Node.js,并可能在此时做出反应,或者如果是我,我只会在车把上消耗我的API数据并完成(完全不使用前端框架)。

希望这会有所帮助。我回答是因为我知道几年前寻找答案时,这对我来说是多么令人沮丧。

最新更新