V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
Actrace
V2EX  ›  程序员

开源导致 PHP 无法在桌面领域有所发挥?

  •  
  •   Actrace · 2014-05-25 10:25:22 +08:00 · 6948 次点击
    这是一个创建于 3870 天前的主题,其中的信息可能已经有所发展或是发生改变。
    吐槽帖。
    实际上,PHP确实适合做任何事情。感觉PHP跟JAVA相差不大啊。。。
    这么多年过去了,都没有什么什么桌面端的PHP程序出现在人们的视野。
    官方就出了一个好多年没有维护的GTK库,还有几个DEMO。
    真正能用的程序一个都没有,想开发也是困难重重。
    难道就因为开源的特性而没有人愿意开发桌面端相关程序吗?
    第 1 条附言  ·  2014-05-26 10:02:06 +08:00
    结果真的变成了语言大战...
    其实我想说的是,那些持有"XXX只能做(适合做)XXX"观点的人,真是毫无生活情趣.
    45 条回复    2015-08-08 20:53:22 +08:00
    rannnn
        1
    rannnn  
       2014-05-25 10:43:30 +08:00
    一个原生带$_GET, $_POST的语言写桌面总觉得是很变扭的事情
    crhan
        2
    crhan  
       2014-05-25 10:43:58 +08:00
    -,-...正迫不及待的把一个刚接手的 php 程序改成 ruby 宏..
    crhan
        3
    crhan  
       2014-05-25 10:44:38 +08:00
    改成 ruby 中....(小弟刚来 v2ex..这居然不能编辑原回复?)..
    skybr
        4
    skybr  
       2014-05-25 10:45:59 +08:00
    相差不大从何说起啊. 别说Java标准库带GUI, php没有. Java好歹线程、nio都封装得很完善, php连个基本的pcntl扩展都跨不了平台.

    而且Java在GUI领域也就行业软件占份额, 通用领域本身也算小户, 数量上不一定赶得上用python的.

    php一开始的定位就是摘取其他语言特色的web模板语言, 后面加的也是侧重语言特性, 搞GUI这个方向官方可能想都没想过.
    lm902
        5
    lm902  
       2014-05-25 10:48:43 +08:00
    <?php exec("gui.exe") ?>
    GUI程序搞定
    Actrace
        6
    Actrace  
    OP
       2014-05-25 10:49:05 +08:00
    @rannnn 有一些东西有,有一些东西没有,有一些东西常用,有一些东西不常用,在每个语言里都有这样的情况存在。
    我用PHP来写过存储系统的服务端,运行在CLI下,多线程+多进程,资源占用几乎可以忽略不计,运行效率非常不错。这几年,虽然PHP出了很多完全没用的功能,但是丝毫不影响使用的心情啊。如果硬要说的话,就是缺个GUI用于客户端界面的开发。。。
    Actrace
        7
    Actrace  
    OP
       2014-05-25 10:51:40 +08:00
    @skybr PHP的pthreads库可以在windows上实现多线程。
    参见
    http://us2.php.net/manual/zh/pthreads.requirements.php
    ichou
        8
    ichou  
       2014-05-25 11:02:04 +08:00   ❤️ 1
    @Actrace CLI 下跑 php, 完全当脚本用的节奏啊,好像很 nice 的样子,什么时候也试一下
    rannnn
        9
    rannnn  
       2014-05-25 11:12:00 +08:00
    这帖子会演变成『php是最好的语言』的争论。。。
    dongbeta
        10
    dongbeta  
       2014-05-25 11:14:43 +08:00
    将纸细细打成纸浆,脱水之后做成纸砖,然后可以做成纸房子。为什么我们不用纸做房子!纸适合做任何事情啊!
    Lucups
        11
    Lucups  
       2014-05-25 11:20:23 +08:00
    我不认为一门语言必须要大而全,有一个它所擅长的方面就可以了。
    Actrace
        12
    Actrace  
    OP
       2014-05-25 11:31:34 +08:00
    @ichou 程序和脚本都是同一种东西。
    @Lucups 我不是希望大而全,只是为了发掘一些潜力。
    @rannnn 完全没有必要争论什么,程序猿总是有一种毛病,什么事情都只有true or false。但是我这个帖子是希望能够召集有爱人士让PHP尝试去做更多更有趣的事情。比如开发一些GUI扩展引擎,用于windows或者osx甚至linux。我喜欢的是这门语言,而不是这门语言所能做的事情。不要局限自己的思维嘛。
    @dongbeta 水泥确实是现在最合适的材料。不过你能想象一下现在的船都用木头来做吗?几百年前是这样的。
    robertlyc
        13
    robertlyc  
       2014-05-25 11:35:57 +08:00
    php和ruby比全面? 呵呵呵呵呵呵呵呵
    ruchee
        14
    ruchee  
       2014-05-25 11:57:27 +08:00
    try wxphp
    wesley
        15
    wesley  
       2014-05-25 12:16:55 +08:00
    最简单的PHP GUI程序是在本地跑个http服务,用html做页面。。。。
    belin520
        16
    belin520  
       2014-05-25 12:24:35 +08:00
    @rannnn 果然!!!!!!
    Lucups
        17
    Lucups  
       2014-05-25 12:28:32 +08:00
    PHP本身就是为Web而设计的,Personal Home Page 嘛
    人家只是天生不擅长 GUI 而已,搞不懂楼主为什么问开源导致的。。。
    likexian
        18
    likexian  
       2014-05-25 12:45:48 +08:00
    PHP is a popular general-purpose scripting language that is especially suited to web development.

    Fast, flexible and pragmatic, PHP powers everything from your blog to the most popular websites in the world.



    人家说过要在桌面系统占坑吗?

    你怎么不说 php 无法在编写系统内核上发挥优势?
    towser
        19
    towser  
       2014-05-25 13:21:24 +08:00
    确实不适合做任何事。。。没有适合做任何事的语言。
    chuck911
        20
    chuck911  
       2014-05-25 13:34:33 +08:00   ❤️ 2
    PHP-GTK发展不好为什么要怪罪于“开源”呢?楼主倒是给点线索啊,光说了个“难道”,跟没说一样。开源有得罪过桌面应用吗,难道有过什么类似的案例?
    Actrace
        21
    Actrace  
    OP
       2014-05-25 13:38:46 +08:00
    @chuck911 开源会阻碍商业项目。
    dongcheng
        22
    dongcheng  
       2014-05-25 13:42:31 +08:00
    技术选择,应该跟随主流,不会错,多学习不同的语言,有帮助。精力应该放在实现创意上。
    hooluupog
        23
    hooluupog  
       2014-05-25 13:43:00 +08:00
    @Actrace 你说说现在依赖linux这个开源的商业项目有多少?数得清吗?
    levn
        24
    levn  
       2014-05-25 13:53:02 +08:00
    lz你换了头像我照样认识你
    WildCat
        25
    WildCat  
       2014-05-25 14:10:47 +08:00 via iPhone
    没有银弹!
    wdlth
        26
    wdlth  
       2014-05-25 14:25:39 +08:00
    php cli都比不过shell、perl、python,还说GUI……
    edwardro
        27
    edwardro  
       2014-05-25 14:35:09 +08:00
    @Actrace PHP的pthreads库可以在windows上实现多线程就可以说相差不大?你实在太搞笑了吧,哈哈

    完全没用过PHP pthread做过东西的人说PHP的pthreads库可以在windows上实现多线程,笑死我了。

    更别说php连个基本的pcntl扩展都跨不了平台,连nio都没有的,连pthread都有一大堆问题的了

    只说了一个非常错误的答案就像似能反驳 @skybr 提出的好几个问题似的,太可笑了。
    zakokun
        28
    zakokun  
       2014-05-25 15:42:54 +08:00   ❤️ 1
    你这是写php写出幻觉了.
    jamiesun
        29
    jamiesun  
       2014-05-25 16:15:53 +08:00
    先天不足
    yakczh
        30
    yakczh  
       2014-05-25 17:18:52 +08:00
    写php的赶紧转java,js吧,以后是富客户端和大数据后台运算的应用场景,象php这种数据搬运工,套模板的工作越来越没有生存空间了
    yun77op
        31
    yun77op  
       2014-05-25 17:35:53 +08:00
    趋势上说,php份额只会越来越少
    chemzqm
        32
    chemzqm  
       2014-05-25 20:41:39 +08:00
    性能低下,没有模块化导致代码难以重用,乱七八糟的API
    breeswish
        33
    breeswish  
       2014-05-25 22:39:09 +08:00
    PHP天生和图形化客户端没什么缘分,大多数语言都不能避免这个问题
    Node.js有一个node-webkit,过于逆天的组合
    dorentus
        34
    dorentus  
       2014-05-26 02:44:06 +08:00 via iPhone
    和开源有啥关系?
    「开源会阻碍商业项目」又从何说起…PHP的协议,似乎都不是GPL吧,能限制到你什么?
    dorentus
        35
    dorentus  
       2014-05-26 02:47:46 +08:00 via iPhone
    看了下,PHP用的是类似BSD的协议,也就是说,你把它源码拿下来,改(或不改),然后闭源分发,收钱,都没问题。

    PS:更一般的是自己用PHP写网站或软件用或卖,这种情况PHP的协议根本管不到…
    vibbow
        36
    vibbow  
       2014-05-26 04:34:48 +08:00
    @ichou 我的Gist基本全都是PHP脚本...
    https://gist.github.com/vibbow
    yakczh
        37
    yakczh  
       2014-05-26 08:42:32 +08:00
    拉不出屎来抱怨地球引力太小
    ety001
        38
    ety001  
       2014-05-26 09:11:35 +08:00
    不要想着一种语言通吃天下,多学一门其他方向的语言没有什么不好,我当年在学校带社团的时候,也是觉得为什么PHP不能去开发桌面应用呢,这样我们可以省下时间去学习一门新的语言了,但是后来慢慢就明白了,每种语言的诞生都是有它最初诞生的目的的,而php的目的就是为了网页开发,只不过是后期人们加入了很多其他的跟网页开发没有什么直接关系的功能。
    PS:php无法在桌面领域有所发展肯定不是因为它开源啊!!它就是为了网页而生啊!!不要再强迫它去做不擅长做的事情了。。。。
    senghoo
        39
    senghoo  
       2014-05-26 09:15:42 +08:00
    以前用Php写过一个daemon(非web)。然后再也不会用php做这种事情了。
    tonghuashuai
        40
    tonghuashuai  
       2014-05-26 09:41:01 +08:00
    php 做桌面 == C 做 web,一个字:作
    ioth
        41
    ioth  
       2014-05-26 10:23:25 +08:00
    程序写几年,觉得无所不能了。
    ichou
        42
    ichou  
       2014-05-26 10:40:28 +08:00
    @vibbow 看了下,感觉真的是相(sang)当(xin)厉(bing)害(kuang)啊,书签已加好

    @yakczh 他们当年也是这么说 IE 的,但是后来火起来的不是 FF ,而是 Chrome
    yakczh
        43
    yakczh  
       2014-05-26 12:10:14 +08:00
    ff才是王道 ,chrome是用界面吸引几个小白过去,多开几个tab就直接死翘翘了, ff是先练内功,功能稳定了才花时间优化界面,ff30界面跟chrome已经没什么区别了, easy come easy go 短时间火起来的一定很短命,就跟水果机一样的命运,能坚持笑到最后的才是王者
    Actrace
        44
    Actrace  
    OP
       2014-05-26 13:10:57 +08:00
    @yakczh 这个很高端啊.high level black.
    lenran
        45
    lenran  
       2015-08-08 20:53:22 +08:00
    这跟开源没有半毛钱关系,为什么硬要把“开源“扯进来?
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2574 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 10:31 · PVG 18:31 · LAX 02:31 · JFK 05:31
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.