V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
yakczh
V2EX  ›  问与答

angularjs 可以替代 php 吗?

  •  
  •   yakczh · 2014-12-26 17:33:47 +08:00 · 4741 次点击
    这是一个创建于 3626 天前的主题,其中的信息可能已经有所发展或是发生改变。
    当然我指的不是前后台的技术架构, 我说的是业务逻辑和界面显示
    ,实际上ng的大部分工作和php的工作内容高度重合,如果后台定义好Restful接口,大部分界面显示的部分ng完全可以胜任
    18 条回复    2014-12-26 22:23:37 +08:00
    rekey
        1
    rekey  
       2014-12-26 17:46:12 +08:00
    不能吧,很多权限的部分是需要中转的。
    chenhaifeng
        2
    chenhaifeng  
       2014-12-26 18:11:41 +08:00
    这能比吗
    raincious
        3
    raincious  
       2014-12-26 18:16:55 +08:00   ❤️ 1
    雷锋塔可以代替雷锋么?哦不,Javascript可以代替Java么?

    PHP后端主要负责的是数据处理,前端(无论什么前端)主要负责数据显示。所以任何前端技术都是不能代替后端的,除非……不是MVC结构,比如ALL-IN-ONE结构的,一条过程从头到尾那种。
    learnshare
        4
    learnshare  
       2014-12-26 18:19:52 +08:00
    业务逻辑和数据处理这些都可以替代,HTTP 处理和数据库替代不了。RESTful 可以很好的搞定
    xiaoyaoking
        5
    xiaoyaoking  
       2014-12-26 18:23:19 +08:00
    目测可以,甚至后端可以用其他非web语言写都可以吧。 反正输出json就行,不过兼容性和效率应该不如PHP做后端。
    raincious
        6
    raincious  
       2014-12-26 18:24:16 +08:00
    @learnshare

    > 业务逻辑和数据处理这些都可以替代

    我觉得我们应该明确下各自的“数据处理”是什么意义

    我的:
    就是处理数据合法性,数据关系和存储及调用等过程。其中还包括调用这些过程的安全性和性能管理事物等情况。确保数据合理、快速且完整的储存和读取。
    oott123
        7
    oott123  
       2014-12-26 18:24:51 +08:00 via Android
    @raincious _(:з」∠)_考虑 node.js,还真有一部分可以替代…
    raincious
        8
    raincious  
       2014-12-26 18:27:13 +08:00
    @oott123 我刚手抖发完帖就知道肯定会有提Nodejs的家伙,但那真不是我的意思呢……我是说前端和后端……

    而且楼主说了AngularJS。

    我(凭自己浅薄的AngularJS经验)觉得AngularJS等这种东西让前端也实现了工作流程,但除了让后端不用再渲染页面之外,没啥重大利好。
    learnshare
        9
    learnshare  
       2014-12-26 18:34:51 +08:00
    @raincious 前端的数据处理一样:
    1. 数据合法性;2. 数据关系和存储及调用(内存中的数据对象,或者 localStorage/cookie 之类);3. 安全性和性能(校验、防注入、加密,缓存)

    Angular.js 不只是拿 JSON 渲染页面这么点用处,组件化和模块化都是重点,后面还会有依赖注入之类的新功能加入。会是 MVC 的升级
    raincious
        10
    raincious  
       2014-12-26 18:51:08 +08:00
    @learnshare

    这倒是提醒我前端也需要处理它自己的数据结构的。

    但是

    其实这跟后端也是不重的。也就是说前端干自己的,然后提交准备好的数据给后端,后端拿到数据接着干自己的,然后把数据存储存结构里。

    翻过来也是后端取得好数据,给前端,前端组合数据然后输出。

    事实上数据的组合过程也可以在后端完成,这样前端拿到的就是整体数据了。(扯皮点+1)

    > 但除了让后端不用再渲染页面之外

    这个其实是针对后端而言,不要见怪。
    wolfan
        11
    wolfan  
       2014-12-26 18:54:49 +08:00
    AngularJS 我只当前端的一个工具库而已。
    learnshare
        12
    learnshare  
       2014-12-26 19:21:21 +08:00
    @raincious Angular.js 这种前端框架其实是分担了一些后端工作的,甚至可以完全替代后端的页面渲染。再复杂一点,后端可以只作为数据库操作的中间层。

    @wolfan Angular.js 是个框架,和 jQuery 这种工具库不一样,解决更高层面的问题
    ctsed
        13
    ctsed  
       2014-12-26 20:25:51 +08:00 via Android
    把业务交给前端做,你在逗我吗
    @learnshare
    huijiewei
        14
    huijiewei  
       2014-12-26 21:39:01 +08:00
    可以。Restful API 交给 PHP 做

    前端 Web 使用 AngularJS MVC, Android 和 iOS 都可以使用 Restful API。
    要想省事 使用 Ionic,前端可以使用同一套代码了。
    xoxo
        15
    xoxo  
       2014-12-26 21:42:04 +08:00
    付款交易可以交给JS判断吗
    zhouquanbest
        16
    zhouquanbest  
       2014-12-26 21:44:09 +08:00 via Android
    某些需要伪静态SEO的怎么办
    learnshare
        17
    learnshare  
       2014-12-26 22:13:10 +08:00
    @ctsed 没说业务之类的复杂问题交给前端,普通的增删改查可以交给前端
    @xoxo 别闹

    @zhouquanbest Angular.js 这种是做 WebApp 的,通常是不需要而且不能被搜索的,所以跟 SEO 不沾边
    hahastudio
        18
    hahastudio  
       2014-12-26 22:23:37 +08:00
    我觉得楼主说的应该是页面模板
    页面模板当然可以接管了,我觉得 AngularJS 的模板系统非常好
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2887 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 13:37 · PVG 21:37 · LAX 05:37 · JFK 08:37
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.