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

最近想学移动web app 开发,学习sencha touch 和 jQuery mobile 哪个更好?

  •  
  •   cuijiudai · 2012-03-19 16:32:10 +08:00 · 8786 次点击
    这是一个创建于 3415 天前的主题,其中的信息可能已经有所发展或是发生改变。
    32 条回复    1970-01-01 08:00:00 +08:00
    joby
        1
    joby   2012-03-19 16:53:51 +08:00
    后面一个用过,还是蛮大的。。。百多K好像。
    icyflash
        2
    icyflash   2012-03-19 17:00:57 +08:00
    现在还有一个jQ.Mobi,体积很小,不过现在BUG还蛮多。
    breeze
        3
    breeze   2012-03-19 17:39:56 +08:00
    如果再者两个当中选择,个人建议选择sencha touch
    Sivan
        4
    Sivan   2012-03-19 17:42:19 +08:00
    sencha touch
    iwege
        5
    iwege   2012-03-19 18:45:05 +08:00
    sencha touch
    jquery mobile 简单点来说:废品...
    panxianhai
        6
    panxianhai   2012-03-19 18:49:21 +08:00
    phonegap如何呢?
    iwege
        7
    iwege   2012-03-19 18:52:29 +08:00
    @panxianhai phonegap是一个壳,你可以想象成为浏览器...
    cuijiudai
        8
    cuijiudai   2012-03-20 23:50:47 +08:00
    @breeze extjs思想,完全js拼页面,页面完全“黑盒” ,开发应该比jq mobile快?
    tylr
        9
    tylr   2012-03-20 23:57:40 +08:00
    Titanium如何呢?最近刚好Lynda.com出了套视频教程:

    Lynda.com Titanium Mobile App Development Essential Training
    iallai
        10
    iallai   2012-03-21 00:01:31 +08:00
    Titanium 不解释
    ElmerZhang
        11
    ElmerZhang   2012-03-21 00:07:54 +08:00
    朋友在用jq.mobi,据说还不错
    tamamaxox
        12
    tamamaxox   2012-03-21 00:39:32 +08:00
    sencha touch 作商业用途的话,要收费.
    pyleaf
        13
    pyleaf   2012-03-21 01:13:48 +08:00 via Android
    都是浮云,因为性能真的没发达到一般用户的要求,除非你是炫为目的,而不是需求。
    benzhe
        14
    benzhe   2012-03-21 01:26:37 +08:00
    之前测试过现成的框架,无论哪个都感觉到明显的延迟,在LG 2X上,不算非常差的手机吧
    jquery mobile性能真的很差
    sencha touch 相对来说好一些
    yzhrain
        15
    yzhrain   2012-03-21 02:01:36 +08:00 via Android
    推荐用 jQuery Mobile,对有web开发经验的更加友好,不喜欢extjs那种纯js的方法来做界面。
    yyfearth
        16
    yyfearth   2012-03-21 03:09:59 +08:00 via iPad
    @yzhrain 问题是jquery mobile真的很烂,用的时候头都大了,而且很卡。
    只不过相对容易学很多。
    学extjs要理解那套OO的东西,初学者比较难。
    sobigfish
        17
    sobigfish   2012-03-21 08:34:03 +08:00 via iPad
    如果只需要touch 和swipe的话,google closure也支持吧,移动版的搜索里,gmail之类的应该都是closure
    sobigfish
        18
    sobigfish   2012-03-21 08:37:51 +08:00 via iPad
    // WebKit touch events.
    TOUCHSTART: 'touchstart',
    TOUCHMOVE: 'touchmove',
    TOUCHEND: 'touchend',
    TOUCHCANCEL: 'touchcancel',



    http://closure-library.googlecode.com/svn-history/r1376/docs/closure_goog_events_eventtype.js.source.html
    iwege
        19
    iwege   2012-03-21 09:43:14 +08:00
    @yzhrain @yyfearth 何止烂,当年用a4的时候实在是烂到极致,而且一直在说要为pad兼容,我hack的pad兼容都出两版了,他们还在为手机优化,还有那个伪双栏。去年在他们论坛里面提了一下双栏优化和pad兼容问题,木人理我,伤心。

    双栏的问题在pad上面很突出的就是没有scroll,jqm 早期实验版本的srollview 是个很没性能的
    东西,后期可以配合iscroll来做,但是sencha本身就支持scroll。


    而sencha原生就支持pad和phone的转换,最关键的就是组件开发的模式,其实jqm很废材的就是如果我要用原生技术来实现这些东西,只要挖出来他的css即可。其他的都有现成的js库来使用,而且开发起来比使用jqm更快。如果我不用原生技术来做,而是从.net转过来的,sencha的组件虽然学习成本高,但是无需后期再考虑N-Screen的问题,全面兼容各种phone和pad。

    这个时候jqm完全没可比性..充其量当了一个资源库而已。作为单页面前端程序,使用backbone自制一套的时间都比熟悉jqm要快,尤其是现在jqm只实现iphone 最普通的应用程序样式。
    yzhrain
        20
    yzhrain   2012-03-21 12:16:17 +08:00
    @iwege @yyfearth 受教了,我当初为公司的网站开发一个移动的版本,选择的时候考虑过Sencha和jQuery Mobile,由于早年有过一段 EXTJS 的惨痛经历,而且极为不爽全部 JS 来做界面的写法(因为这种做法,如果要自己定制或者修改一点什么东西的话,非常麻烦,成本太高,而我本身对 JS 则是半路出家的并非精通的那种,而 JQM 则是正常的 web 思路:HTML + JS + CSS,对我来说上手容易。)

    于是选择用 JQM 来写,前端JQM + 后端Rails(业务逻辑全部重新写一次),就我一个人 code 时间大概一个月时间不到,当然功能比较阳春啦。所以我对 JQM 的感觉还是相当好的。

    JQM 确实是 bug 挺多的,当时我使用的时候还是 RC1 版本,不过我看好 jQuery 社区的发展,觉得目前 bug 多和性能不甚佳的问题不大(开发的时候用 iPhone 4 + iPad 2 做测试,非常流畅,但是用 1G 的 Android 机器三星 i9000 的浏览器则会有少少的卡,我认为这是 Android 的问题,同样在 wp7 下也很流畅,机器是三星的 i917)。
    yyfearth
        21
    yyfearth   2012-03-21 12:25:35 +08:00
    @yzhrain 感觉jquery mobile限制比extjs还高, 可扩展性也差。只不过对十分熟悉js的人来说比较困难。而且extjs思路也完全不同,和java c#那样的更加接近,完全不是在做web。
    对于jquery mobile,ios确实还算行,不过bug实在多,而且也显得笨重了(本来应该比sencha要轻,但是实际上完全没这样的感觉),android下就彻底坑爹了,wp的ie功能太少我直接放弃了。
    之前比较依赖jquery,所以没多少选择,现在自己可以用一些轻量级的框架甚至自己写一些简单的框架,感觉选择的余地会更大。mobile的web还是有优势的,就是整体平台相对桌面差异小一些(不考虑比较早的wm和塞班等),而且没有坑爹的ie6-8的问题。只不过又要接近本地app,又要有性能,如果还要功能多的话,真的吃不消。
    iwege
        22
    iwege   2012-03-21 16:39:18 +08:00
    @yzhrain 其实更多的是因为jqm高不成低不就,就高手而言没必要用它,几个库搭配起来使用就能搞定了。对于新手而言,实际上也没简化多少,看着html还极度不舒服,后期调试也很麻烦,生成的dom我个人感觉是和sencha有的一比,少不了多少。如果是学习的话我是相对而言推荐的,但是说到直接上马项目,需要兼容pad 和phone ,sencha其实非常好。

    另外你在pad上面难道没遇到经典的双栏问题?RC1的时候这个问题应该还没处理掉。
    yzhrain
        23
    yzhrain   2012-03-21 17:39:47 +08:00
    @iwege iPad 版直接就和 iPhone 版一样的,仅仅是放大而已,没有用那种双栏的结构。当时的需求是:以 iPad 这样的大屏幕可以直接访问原来的界面,用 JQM 做的移动版仅仅是给手机等设备使用。

    当时没有选择 sencha ,原因有二:一是当年 EXTJS 的不爽,我不喜欢这种纯 JS 构建界面的方式,二就是 sencha 的商业用途是要收费的,当时没考虑过购买,当然也不愿意用了不给钱。
    cuijiudai
        24
    cuijiudai   2012-03-21 23:10:36 +08:00
    @iwege @yyfearth @yzhrain 总结起来就是 sencha 开发快,兼容性好了!!
    tokki
        25
    tokki   2012-03-22 09:47:20 +08:00
    个人觉得 web app 不要去模仿原生应用的操作方式,因为他是要跑在多个平台的阿,我觉得m.flickr.com 挺好的
    所以,不要用框架了吧。。
    yzhrain
        26
    yzhrain   2012-03-22 09:47:57 +08:00
    @cuijiudai 但是你得考虑是否能够适应纯粹 JS 代码的写法。
    cuijiudai
        27
    cuijiudai   2012-03-22 10:30:23 +08:00
    @yzhrain 显然这种写法是最快的,不用考虑html,css兼容问题
    iwege
        28
    iwege   2012-03-23 11:16:53 +08:00
    @cuijiudai 但是像 @yzhrain 说的那样,对传统网页编程的人不会很习惯这个,而且自定义会很差。

    但是如果是模拟传统app界面,多平台支持,目前sencha的成熟度是最好的。jqm对于pad的横屏竖屏的转换没有sencha完善(可以说几乎就米有)。
    cuijiudai
        29
    cuijiudai   2012-03-23 11:56:30 +08:00
    @iwege thanks,sencha touch2 的资料太少了,有什么推荐学习的书或者资料么
    chuck911
        30
    chuck911   2012-03-23 12:01:02 +08:00
    sencha touch 就是extjs for mobile
    我觉得extjs代码风格很恶心
    iwege
        31
    iwege   2012-03-26 22:55:11 +08:00
    @cuijiudai 没有,我没怎么用过touch,如果你要学,一般是看官方的例子和文档来学的。
    tuoxie007
        32
    tuoxie007   2012-04-10 17:10:23 +08:00
    zepto.js 怎么样呢?有木有人用过
    关于   ·   帮助文档   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   2074 人在线   最高记录 5497   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 20ms · UTC 08:34 · PVG 16:34 · LAX 01:34 · JFK 04:34
    ♥ Do have faith in what you're doing.