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

想开发移动应用,PhoneGap 还是 Titanium ?

  •  
  •   roody · 2013-02-19 20:04:20 +08:00 · 6772 次点击
    这是一个创建于 4321 天前的主题,其中的信息可能已经有所发展或是发生改变。
    当然网上有一大堆对比的文章,结果无非就是各有优缺点等等。
    我想问问诸位的意见和心得。
    第 1 条附言  ·  2013-02-21 15:16:56 +08:00
    很多人推荐开发native app,但是学习曲线较大,并且希望能在多个平台上使用,所以只能作罢。
    24 条回复    1970-01-01 08:00:00 +08:00
    kstsca
        1
    kstsca  
       2013-02-19 20:21:34 +08:00 via Android
    骚年 还是原生吧,别想跨平台,现在还不成熟
    fl3x
        2
    fl3x  
       2013-02-19 20:22:47 +08:00
    +1,Titanium的社区都不怎么活跃了,出问题只能哭了
    PrideChung
        3
    PrideChung  
       2013-02-19 20:26:00 +08:00
    +1 for native
    BenX
        4
    BenX  
       2013-02-19 20:26:31 +08:00
    如果交互要求不高,没有密集的运算,不牵扯硬件运用。还是可以用这类跨平台的方案。不过native的早晚要面对
    Frannk
        5
    Frannk  
       2013-02-20 08:45:52 +08:00   ❤️ 1
    我也遇到了困难
    首先你应该确定产品的形态 Web技术栈是否能够达到你的要求
    PG中的典型案例没有一个逾越了普通web的样子。
    如果你想作出重视推送,实时,流畅UI的产品尽量使用原生的,绕圈子会很痛苦。
    Frannk
        6
    Frannk  
       2013-02-20 08:49:46 +08:00   ❤️ 1
    @Frannk 擦 上面是吐槽 我不会写原生 所以圈子还是要绕
    我最后选择了PG 优点是

    1. HTML5 stack
    2. 有很多插件
    3. 只提供本地浏览器,里面的UI和js留给用户自由度大
    guotie
        7
    guotie  
       2013-02-20 09:06:34 +08:00
    hybird不是挺流行的吗
    lyric
        8
    lyric  
       2013-02-20 10:24:01 +08:00
    咳咳...Hybird在移动平台性能太差了。
    RelativeLayout
        9
    RelativeLayout  
       2013-02-20 11:14:51 +08:00
    原生吧
    66450146
        10
    66450146  
       2013-02-20 11:18:25 +08:00
    Native +1
    jeeson
        11
    jeeson  
       2013-02-20 11:18:39 +08:00
    Titanium 实际上是把不同平台的 API 重新封装一遍 (http://docs.appcelerator.com/titanium/latest/#!/api),用 JavaScript 作为编程语言。具有跨平台的潜力,但实际开发时还是得为不同平台调整匹配。

    Titanium 已经非常 Native,UI 都是对应平台的,封装的 API 都有源码(对应平台语言),必要时可以自己修改;少数 API 不支持的功能,或者用 JavaScript 性能不够理想时(比如图像处理),可以用其它语言实现扩展模块来达到 (http://docs.appcelerator.com/titanium/latest/#!/guide/Titanium_Module_Concepts)。有些语言的限制也可以通过扩展模块达到,例如,Titanium 不支持多线程,可以用模块实现 worker。也就是说,Titanium 受 API 和 语言的限制比较小,基本可以设法绕过。

    Titanium 在模拟器下调试比较方便,不支持在实际机器上断点调试(后来可能支持了)

    Titanium 一直在发展中,差不多每 3 个月有个大的版本更新(http://developer.appcelerator.com/blog/

    Titanium 目前支持 iOS, Android, BlackBerry, 预计 2013 下半年支持 Windows Phone

    我当时选择用 Titanium 主要是因为不想重新有折腾一种新的编程语言,对 JavaScript 也还比较熟悉,实际使用下来也遇到不少问题,基本都能 Google 到解决方案


    真正同时了解 Titanium 和 PhoneGap 的开发者恐怕并不多,你所听到的往往都是片面的,我也仅仅是对 Titanium 熟悉一点。
    caiwb1990
        12
    caiwb1990  
       2013-02-20 13:40:13 +08:00
    Native +1
    ywencn
        13
    ywencn  
       2013-02-20 13:56:51 +08:00
    国产的 appcan 如何
    jjx
        14
    jjx  
       2013-02-20 15:35:37 +08:00
    数据库应用选择 phonegap或titanium 没有什么问题, 从技术结构来说,titanium性能更好 ,但titanium是商业产品,选择时要考虑这点
    ljbha007
        15
    ljbha007  
       2013-02-20 20:36:47 +08:00
    phonegap没啥问题
    如果要用到后台服务的话 最好是phonegap+native混合开发
    alexrezit
        16
    alexrezit  
       2013-02-20 20:47:13 +08:00
    要么纯 Web App 要么 native.
    duhastmich
        17
    duhastmich  
       2013-02-20 21:49:39 +08:00
    roody
        18
    roody  
    OP
       2013-02-21 11:39:31 +08:00
    @kstsca 性能没太多需求,简单的工具类软件。
    roody
        19
    roody  
    OP
       2013-02-21 11:39:53 +08:00
    @fl3x 目前看phonegap能更活跃一点
    roody
        20
    roody  
    OP
       2013-02-21 11:41:10 +08:00
    @Frannk 同样,一个简单的工具类软件,需要借用第三方的库,对性能没太多要求。
    Frannk
        21
    Frannk  
       2013-02-21 12:01:19 +08:00
    @jjx
    @roody
    @ljbha007
    请问PG如何实现iOS/Andriod的推送 大家有没有什么方案?
    roody
        22
    roody  
    OP
       2013-02-21 15:14:22 +08:00
    @Frannk 刚刚开始接触移动开发,这个不太清楚。
    ljbha007
        23
    ljbha007  
       2013-02-22 21:52:40 +08:00
    @Frannk 有个XMPP协议的插件 上次同学毕业设计就是用的那个 待我找找

    https://github.com/alexstrat/PhoneGap-XMPPplugin-Android

    这种插件的悲剧的地方就在于 你得每个平台都写个对应插件
    lbj96347
        24
    lbj96347  
       2013-03-17 19:33:13 +08:00
    如果硬是要走混合开发的路的话,推荐的是PhoneGap。对于Titanium的话,因为很多界面的东西不好处理,而且Plugin少。相对来说PhoneGap的自由度更高,而且有标准的插件嵌入模式。

    我觉得在考虑使用Hybrid技术的时候,你必须清楚你的应用需求是否能够满足。如果大部分事情都需要用Native的方式实现,建议放弃。不然会很累。

    对于Hybrid应用,目前多用于展示性,以及简单社交应用。交互偏复杂的,不建议使用。对于Hybrid开发已经有一年多经验了,也折腾过Native开发。以上建议纯属个人见解。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5273 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 08:45 · PVG 16:45 · LAX 00:45 · JFK 03:45
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.