请问有没有 php 或者 ruby 可以用的, 类似 LeanCloud 的服务 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
adkudao
V2EX    问与答

请问有没有 php 或者 ruby 可以用的, 类似 LeanCloud 的服务

  •  1
     
  •   adkudao 2015-09-11 13:10:12 +08:00 3791 次点击
    这是一个创建于 3686 天前的主题,其中的信息可能已经有所发展或是发生改变。
    LeanCloud 开发移动端确实是神器啊, 可是他们公司没有 php/ruby 工程师;

    网上的第三方 SDK 很难保证稳定性;

    请问国内有没有 php/ruby 能用的, 类似 LeanCloud 这样的 BaaS 服务?
    20 条回复    2016-02-02 17:26:06 +08:00
    qinix
        1
    qinix  
       2015-09-11 14:39:42 +08:00   1
    直接用他们的 REST API 呗
    cnpaas
        2
    cnpaas  
       2015-09-11 21:07:24 +08:00   1
    试试 CNPaaS :
    http://www.cnpaas.io/
    adkudao
        3
    adkudao  
    OP
       2015-09-11 23:04:46 +08:00
    @qinix 没原生代码好用


    @cnpaas 谢谢, 但这个应该还在测试阶段吧, 生死未卜, 我可不敢用他们的服务
    hjiang
        4
    hjiang  
       2015-09-21 15:55:09 +08:00
    LeanCloud 的官方 PHP SDK 已经在开发了。
    adkudao
        5
    adkudao  
    OP
       2015-09-21 20:51:03 +08:00
    @hjiang

    非常期待, 我前几天自学 node.js 和 python 分别写了一套基于 LeanCloud 的系统,不是很顺手, 然后又自己用 REST API 写了一套 php 的系统
    adkudao
        6
    adkudao  
    OP
       2015-09-21 20:51:22 +08:00
    @hjiang

    提两点建议:

    一. 能否添加对 SQL 语句 的支持?

    在不考虑后台的情况下, LeanCloud 对于快速推出产品原型很有帮助, 但如果考虑同时生成后台的话,个人感觉 LeanCloud 并不是很方便;

    举例 1: 在读取 test 这张表(Object)时, 我要用 '字段 1 >字段 2' 这样的条件来筛选:
    如果用 SQL 语句, 直接 'where 字段 1 > 字段 2'就可以了,
    但如果用 LeanCloud 提供的接口, 很难完成这样的操作;


    举例 2: 我要获取在 2015-06-29 当天发布的微博, 如果用官方提供的查询方法, 大概类似这样:
    --data-urlencode 'where={"createdAt":{"$gte":{"__type":"Date","iso":"2015-06-29T00:00:00.000Z"},"$lt":{"__type":"Date","iso":"2015-06-30T00:00:00.000Z"}}}' \

    如果用 SQL 语句, 只要这样就可以了:
    'where time > 时间 1 and time < 时间 2'


    而且这只是查询,如果再加上排序等其他条件的话, LeanCloud 现有的接口真的太复杂,太不方便了,如果可以简化的跟 SQL 语句一样的话, 绝对是功德无量, 造福大家的;

    我个人建议可以参考常见的 Web 框架, 进行 CURD 操作, 比如读取列表可以这么写
    $list = M('表名 /Object 名') -> where(SQL 条件) -> order(排序条件) -> limit(索引条件) -> select();

    $list = M('Test') -> where('quota > finish and time > XX 时间') -> order('time desc, id asc') -> limit(20, 10) -> select();




    二. 能否修改字段属性?
    比如我在使用 REST API 的时候, 明明存储的字段是数字, 结果到控制台一看, 就变成了字符串, 在做条件查询时, 也必须按字符串来做查询约束,否则出错; 我想在控制台更改该字段的属性, 结果发现改不了, 只能删了以后再手工添加一个, 可这么一来, 数据就没了;
    hjiang
        7
    hjiang  
       2015-09-22 12:47:25 +08:00
    @adkudao LeanCloud 本来用的就不是 SQL 数据库,所以是不能支持 SQL 的所有功能的,这并不是一个语法上支持的问题。但是我们支持一个类似的 DSL ,我们把它叫做 CQL : https://leancloud.cn/docs/cql_guide.html 可以看文档了解。

    关于第二个问题,应该是你在传递 JSON 数据时使用的格式造成的,数字两边打上了引号就变成了字符串。对于已经有数据的表,我们不好支持修改字段类型,因为没有通用的处理办法。
    adkudao
        8
    adkudao  
    OP
       2015-09-23 02:37:38 +08:00
    @hjiang

    CQL 太好了, 粗略看了一下, 果然跟 SQL 语句差不多, 我下一个项目的技术选型就试试它, 非常希望可以成为你们的付费用户!

    加油, 祝 LeanCloud 越来越简单易用, 接口越来越强大, 付费用户越来越多.
    LeanCloudRRY
        9
    LeanCloudRRY  
       2015-10-09 11:47:54 +08:00   1
    PHP SDK 已经发布并开源→ https://github.com/leancloud/php-sdk
    adkudao
        10
    adkudao  
    OP
       2015-10-09 21:10:11 +08:00
    @LeanCloudRRY 太漂亮了! 鼎力支持! 只是, 说好的文档呢?
    adkudao
        11
    adkudao  
    OP
       2015-10-09 21:30:50 +08:00
    @LeanCloudRRY

    还有一个很重要的地方, CQL 语言是如何调用的呢? 我翻遍了 tests 文件夹, 貌似没有找到
    CQL 语言对于快速查找遍历数据很有用, 怎能少得了它~
    juvenn
        12
    juvenn  
       2015-10-10 14:30:49 +08:00
    adkudao php-sdk 正在全力开发中,功能还在完善中。我们会尽快发布,敬请期待。
    adkudao
        13
    adkudao  
    OP
       2015-10-10 16:56:34 +08:00
    @juvenn 无比期待 CQL 能够尽快集成,支持你们!
    LeanCloudRRY
        14
    LeanCloudRRY  
       2015-11-09 13:48:06 +08:00
    @adkudao 正式发布了哟,再 mark 一下,希望能够给我们提出意见和建议~
    adkudao
        15
    adkudao  
    OP
       2016-01-19 15:12:50 +08:00
    @LeanCloudRRY 不好意思, 前段时间没上 V 站, 我现在看下, 晚点给你们意见
    adkudao
        16
    adkudao  
    OP
       2016-01-20 03:13:19 +08:00
    @LeanCloudRRY @juvenn

    我看了你们的 Github, 不知道你们希望是以技术驱动产品还是以市场驱动产品?

    如果想以市场驱动的话, 我这里有个建议:

    你们作为一款 BaaS 产品, 要扩大份额就要靠易入门和宣传;

    要保住份额的话, 最重要的是稳定和速度;

    易入门你们已经做的很好了,不过还可以更好, 比如我发现你们写文档时, 似乎优先去做你们的那些 LeanObject,LeanQuery 类;

    但我觉得你们优先把重点放在 CQL 上效果会更好;


    还是用我上面举的例子,我要获取在 2015-06-29 当天发布的微博,

    如果用你们提供的文档, 我可能需要耐着性子去一个一个看你们声明的各种方法, 格式, 结构...
    最后可能才能勉强拼出下面这段代码
    --data-urlencode 'where={"createdAt":{"$gte":{"__type":"Date","iso":"2015-06-29T00:00:00.000Z"},"$lt":
    {"__type":"Date","iso":"2015-06-30T00:00:00.000Z"}}}' \

    作为一个想使用你们产品的新人, 恐怕很多人看了第一个方法后就直接放弃了,更别提还要组合;

    一个是未必能弄懂怎么去组合这些查询方法, 二个是勉强组合出来的代码, 有很大可能性会出错, 运行不了, 然后, 就再也不会使用你们产品了, 你懂的..


    但如果你们一开始大书特书你们的 CQL 查询方法, 告诉别人就像用 SQL 一样去使用就行了, 比如要实现我刚说的查询, 只要下面这行代码就够了:
    'where time > 时间 1 and time < 时间 2'

    那么我很难想出不用你们产品的理由;


    ----------------------------------------------------------------------

    这就是我给你们的建议: 优先做 CQL, 加强 CQL, 完善 CQL:
    1. 把学习成本降低到近乎为 0, 把易入门做到极致;
    2. 让开发更简单, 节约用户大量的开发成本;

    ----------------------------------------------------------------------



    我看你们文档里有提到使用 CQL 可能会导致性能的一些下降, 不过既然用了你们的产品, 想必不会对速度要求特别高, 而且, 程序员的时间, 比机器时间更宝贵, 不是吗?
    adkudao
        17
    adkudao  
    OP
       2016-01-20 03:23:38 +08:00
    @hjiang @LeanCloudRRY @juvenn

    对了, 除了刚才的建议, 正好问你们一件事,

    你们的 Javascript SDK 的 AV.File 接口 , 能否实现在安卓手机浏览器下的文件上传?

    我们都知道安卓有不少版本, 都把 file input 给屏蔽了, 用普通的上传文件方法根本上传不了文件, 我一般都是用微信的上传接口上传的文件, 不知道你们的接口是否可以突破这个限制?

    如果可以, 是否可以扩大一点, 比如能否在 AppCan, APICloud 这种 Hybrid 混合方式用使用? APICloud 他们也做了一个轻 BaaS 平台, 好像是可以上传文件的, 只要能连 HTTP, 就可以通过转码的方式上传;

    希望你们有这个功能, 对于需要适配 Android 的移动网页开发者来说, 应该是个刚需;
    adkudao
        18
    adkudao  
    OP
       2016-02-01 04:17:00 +08:00
    @hjiang @LeanCloudRRY @juvenn

    PHP SDK 完全不能用, 直接用你们的代码, KEY 什么的都没问题, 一个实例都运行不了, PHP 版本 5.3, 5.4 都用过了
    leeyeh
        19
    leeyeh  
       2016-02-02 17:24:53 +08:00
    Javascript SDK 支持包括微信 webview 在内的 Android 运行环境,具体方式请参考 https://leancloud.cn/docs/js_guide.html#文件。

    Android 微信无法通过 file input 上传文件的问题我搜到的资料都比较旧了,不知道现在的支持情况如何。除了使用原生的 file input 控件我们还支持通过 base64 上传文件、保存一个现有存储在其他服务上的 URL 的文件对象。

    对于 Hybird 应用,我们最新的测试版提供了 [React Native 的支持]( https://blog.leancloud.cn/3993/)。此外如果解决方案使用的是 Webview 来运行代码的话,那么理论上也是支持的。
    juvenn
        20
    juvenn  
       2016-02-02 17:26:06 +08:00
    @adkudao 方便描述你在使用 php sdk 的具体问题吗?如错误栈等?如果以后遇到类似的问题,欢迎你在 github.com/leancloud/php-sdk 提交 issue 。同时我们也有用户论坛 forum.leancloud.cn ,正常情况我们都能在 1 天内跟进。

    关于性能上的问题,我们的平台有较大的客户,对速度可用性等的要求都很高,是非常在乎性能的。 CQL 是我们对 key-value 数据库的一个扩展,提供了类 SQL 的接口,在效率和可表达性上做了权衡,但并不能完全与 SQL 兼容。

    关于手机浏览器上传文件的问题,我会反馈给同事。
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     987 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 25ms UTC 22:41 PVG 06:41 LAX 15:41 JFK 18:41
    Do have faith in what you're doing.
    ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86