首先,我希望我可以提出这么广泛的问题(第一次这样做)。
好吧,我对React很新,我需要一个项目来处理,所以我想我会重新创建我的投资组合(目前在laravel中创建)作为反应和反应本机应用程序。
我的问题是:
我的主要问题是,这是一个好方法吗?我想要一个基本的后端(auth,新闻帖子,投资组合项目等),然后继续构建我的反应应用程序。
我在想通过创建一个Rest API后端,在尝试为PC,Android或其他任何东西(相同的后端,不同的客户端)创建一个反应应用程序时会省去很多麻烦。
P.S:我将在Azure的免费网站上托管我的API,如果它的ASPNET或共享主机,如果它的PHP,这是我离开laravel的原因(所以laravel是禁止的)。
P.S2:Firebase或其他云(Azure除外)对我来说是不行的。我可以访问大量资源,我想使用它们而不是使用像firebase或诸如此类的免费服务。
在这里给我2便士,因为这是基于意见的!
就后端而言,它取决于您,无论您感觉更舒服 - 但我会敏锐地关注您构建的后端系统的体系结构。
我的选择是创建一个基于微服务的架构,您可以在其中创建仅在其域内处理的简单原子服务。例如,您可以创建“公共服务” - 可以被其他服务(事件,加密,文档等)用作依赖的服务,然后创建处理应用程序某个方面的原子服务,例如用户服务,支付服务,产品服务,篮子服务等..
这个想法很简单,可以创建简单的数据驱动的CRUD服务,这些服务是模块化的,原子的和可重用的。我发现学习新技术很棒,但理解和学习优秀的编程架构更有价值。您可以构建数据以使其最有效。
构建服务后,您可以使用Swagger UI等服务来自动化文档并为其创建测试套件。如果您还没有使用过Swagger,我会完全推荐它。
实施每项服务的测试,并完成软件开发的整个生命周期。这真的会在你的投资组合中走得很远。
以下是一些与ASP.NET Core中构建微服务相关的文章
昂首阔步
作为旁注,我不是在ASP或任何其他微软堆栈中开发 - 但原理是相同的
UPDATE
构建单一应用程序的问题在于,随着应用程序的增长,代码库变得越来越复杂和庞大。 Micorservices的一些优点是:
我的设置类型是使用Spring Boot(Java)和使用Eureka Server - 但是你进入MS Stack,但我上面给出的链接显示了如何使用Net Core创建基本的CRUD微服务。我会给它一个去,看看它如何,然后你可以转移到Azure的CI / CD!
从简单的CRUD API开始,您可以引入具有事件驱动更新(服务器到客户端)的WS连接,而不是要求新数据。
我曾与之合作的一位建筑师(天才家伙)告诉我永远不要过于依赖“框架” - 当他们表现良好时他们很酷,但一个伟大的应用程序应该灵活改变,所以我不会过分依赖“框架”,但这只是他的意见。
尝试API Platform - dockerized,但可部署到php托管(基于Symfony),生成基于react-admin
的管理员和可选的web /移动客户端(恕我直言,这个项目中最薄弱的部分),openAPI(swagger)文档,可以轻松使用graphQL
...尝试。
使用Laravel建立投资组合并不是一个好主意。使用Gatsby - 您可以使用graphql(WordPress,contentfull)作为源,生成静态站点。