Php 对单页web应用程序体系结构的愚蠢而明智的关注

Php 对单页web应用程序体系结构的愚蠢而明智的关注,php,javascript,apache-flex,laravel,single-page-application,Php,Javascript,Apache Flex,Laravel,Single Page Application,我正在启动一个新的web应用程序,我有一个非常愚蠢的担忧,我想我会向你们所有人澄清 该应用程序将是一个单页web应用程序,将以Html、JS/Flex作为前端和PHP作为后端进行开发。所以我有两个选择 将所有应用程序逻辑保留在客户端(即JS/Flex),并使用PHP将数据输入和输出到数据库 仅在UI中使用JS/Flex,并将所有应用程序逻辑保留在PHP中,这些逻辑将作为独立服务使用 两者都有利弊,比如 如果我选择第一个选项,应用程序的用户体验将是平滑的。(因为这涉及很少的客户机-服务器交互)

我正在启动一个新的web应用程序,我有一个非常愚蠢的担忧,我想我会向你们所有人澄清

该应用程序将是一个单页web应用程序,将以Html、JS/Flex作为前端和PHP作为后端进行开发。所以我有两个选择

  • 将所有应用程序逻辑保留在客户端(即JS/Flex),并使用PHP将数据输入和输出到数据库
  • 仅在UI中使用JS/Flex,并将所有应用程序逻辑保留在PHP中,这些逻辑将作为独立服务使用
  • 两者都有利弊,比如

    • 如果我选择第一个选项,应用程序的用户体验将是平滑的。(因为这涉及很少的客户机-服务器交互)
    • 如果我使用第二个选项,应用程序逻辑将在PHP中出现,我可以稍后将其公开为API,以防我希望其他人使用相同的API并构建自定义应用程序
    但我无法就两者的利弊进行辩论,并最终确定其中一个。请帮忙,希望你在发展生涯中也遇到过类似的问题


    提前谢谢

    出于以下原因,我建议并更愿意选择
    选项2
    1.正如您所说,您可以稍后公开API。 2.它将更加安全,因为所有的应用程序逻辑都将由PHP处理。

    但是有很多,因为您对以后使API成为最适合您的选项2的一种形式感兴趣

    仅在UI中使用JS/Flex,并将所有应用程序逻辑保留在PHP中,这些逻辑将作为独立服务使用

    只需为单页应用程序前端用户界面使用以下技术之一制作前端:

    • 弯曲

    然后将所有业务逻辑转换为
    restfulapi
    调用,这些调用是用
    PHP
    Python
    或任何其他
    后端语言编写的

    如果这些服务允许完整的
    CRUD
    而不仅仅是
    Read
    ,我建议使用
    OAuth
    来保护您的服务,只允许授权用户创建、更新和删除
    。你只需要使用一个


    原因是它允许你创建任何其他应用程序,只需要重建UI,而不必重新编写每种语言<代码>(C、C++、ObjavaC、Python、PHP、JavaScript、Ruby等)中的业务逻辑。然后,当您向公众发布
    API
    时,他们将使用有效的用户名和密码(由用户提供)调用您的
    OAuth服务
    ,并且将能够制作一个功能丰富的应用程序,因为您现在已经有了。这是一个非常重要的概念,尽管开发可能需要更长的时间,但您不必
    重新构建
    ,从而
    重新开发
    重新考虑
    大量代码。

    这取决于应用程序。如果某些数据需要持久化,那么当然应该将其存储在服务器端。如果不是,本地数据库确实更好。使用合适的单页应用程序,您可以使后端成为从前端调用的api。这叫做“吃你自己的狗粮”。你也可以发布一个客户端api。@abc123你应该展开并发布它作为答案。。。。这是正确的。@Orangepill在这种情况下,客户端api的真正含义是什么?没有什么能阻止他使用选项一并从前端代码中利用自己的api。谢谢Runish!是的,没错。你认为这还有什么好处吗?由于选项2可能会对用户体验产生一点影响,我正在寻找克服缺点的可靠优势。我不确定您的应用程序是什么以及如何使用它。但真正的优势是API。因为一旦你们有了一个成熟的API,你们就可以用同一个API构建不同的移动应用程序、平板电脑应用程序,当然还有网络应用程序。@Runish,不过我同意方法2,但若现在更需要用户体验,API是唯一考虑的事情,那么首先可能是更实际的方法。@kuldeep是的,这当然取决于您的应用程序的优先级。我们只是在讨论这两种选择的优点。