2

在开发单页面应用程序时,我总是质疑自己,这是设计我的项目的最佳方式。我应该解耦客户端和后端吗?我的客户端应用程序应该与我的后端代码位于同一台服务器上吗?我应该投资于客户端和服务器的多个托管计划吗?所以我问,这是组织和开发单页面应用程序的最佳方法吗?什么是开发SPA的最佳方法?

+0

为什么会在客户端和服务器代码都住在不同的服务器?你看过任何处理这个问题的框架吗? – epascarello

+0

因为有很多教程,显示如何使用ROR创建一个单页的应用程序,.net等,他们总是嵌入母版页或.erb文件的应用程序,我问这个。还有其他一些资源显示应用程序的开发使用纯html5为了消耗运行在其他服务器上的api。 – user1659653

回答

4

当我第一次开始时,这是我的一个问题,很难在网上找到完整的答案。一般来说,虽然这只是过分简单化,但企业如何在这个过程中发挥作用。

Monolith:后端代码和前端代码存在于同一个项目中的应用程序。

这是什么意思:代码库很容易维护,因为它就在那里。开始时不太复杂,而且生产时间少得多,因为它更容易“出门”。您没有复杂性,例如“系统”的不同部分如何相互交谈等。所有初创企业都从这里开始。

这里的缺点是,最终代码库变得非常难以维护,因为开发人员将新功能和创意填入其中。此外,您的API没有公开,所以它只能用于这个应用程序(下面更多)。

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

这意味着什么:现在您已经分解了API和前端代码库,您可以使用API​​为任何需要它的前端应用程序提供数据。例如,思考网络与移动。他们都可以使用相同的API。对于一个更大的应用程序,这变得更加可维护,现在您可以围绕后端和前端流程构建团队。随着项目的发展,您现在可以实现更好的规模和效率。

的利弊这里,你现在有两个独立的代码库来维持,向上保持,使更新过,确认是同步的,等

FEBE &微服务:一个应用程序,所有部分“系统”生活在非常孤立的代码库,架构等中。FEBE是一个“前端,后端”,微服务是一种服务(可以是API),它服务于一个非常特定的功能业务逻辑。这个世界的前端可能需要消费几种微服务才能实现其目标。

这是什么意思:这是成功的,大公司最终土地,如果他们做到了。再次,简单化,但所有主要公司都在这个领域运行基础设施。这种架构对于团队来说比编码或开发要多得多。拥有数百名工程师的公司可以给他们每个系统的一部分拥有和维护,使他们能够按照自己的步伐发布产品等。

这里的缺点是系统现在被分成几百个没有人力就难以维持。同样,公司这样做的原因是因为它允许团队非常有效地独立运作。

所有公司作为起动一般迁移此列表,首先是整体,因为他们生存下去,把收入变成盈利,雇佣更多的人,等

我给你的建议是:与使用的Node.js(快递)后端整料和任一种或React.js角前端开始。

我这样说是因为Node.js的是未来,是很容易学习,要么反应或角在框架方面的良好开端的地方。

当你转移到阶段2(前端和API)时,坚持使用Node.js,并且可能在那一刻作出反应,或者如果是我,我会在Handlebars中使用我的API数据并完成它(根本不使用前端框架)。

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

+1

这是一个完整的答案,FEBE方法对我来说是全新的。感谢您的指导。我会考虑这个作为强有力的答案候选人。 – user1659653

+1

很高兴能帮到你! – sidewalksalsa

相关问题