V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
wovfeng
V2EX  ›  程序员

关于目前前端的一些想法

  •  
  •   wovfeng ·
    wov · 2013-04-09 10:33:22 +08:00 · 3790 次点击
    这是一个创建于 4247 天前的主题,其中的信息可能已经有所发展或是发生改变。
    昨天有人问我 移动端web的iscroll的问题,我告诉他最好用原生的 支持 ios5.

    使用方法如下:

    div{
    overflow:auto;
    -webkit-overflow-scrolling:touch;
    }

    这样好处就是 维护成本极低,而且效果非常流畅。

    但是他回复我还必须要兼容之前的版本。

    大家是不是都是这样,必须不停的考虑之前的系统?

    我觉得没有必要的原因有几点:
    1.移动的叠代很快,考虑之前的版本本身没有错,但是完全一样就没有必要了
    2.苹果新产品都会预装最新的系统,而且不可逆。所以旧版本份额也会逐渐减少
    3.其实ie6份额在中国这么高,开发者也有一定责任,我们总是在不停的兼容ie6而花费了大量的时间和资源。所以用户还有升级浏览器的必要么?
    4.我经常说的一句话:做过去的事,做现在的事,做未来的事。 我会选择做未来的事。

    有可能是我太激进。但是作为一个前端工程师,我已经有1年没有碰ie6,7,8 了,也照样活的好好的。

    欢迎大家拍砖
    9 条回复    1970-01-01 08:00:00 +08:00
    hzlzh
        1
    hzlzh  
       2013-04-09 10:47:40 +08:00
    iscroll 在移动端短期内还是很有用的,移动开发迭代很快,但是消费者(用户)的设备迭代却不快,再加上很多考虑到越狱而放弃了版本更进的用户等等,有时候要跳出圈子,考虑下真正的用户群是什么。
    ps: 打开Google analytics, 查查用户的UA和iOS版本分布图,用数据来决定取舍。

    开个玩笑:你倒数第二句话很好驳斥:做为一个用户用了10+年 ie678 也活的很幸福。
    Sivan
        2
    Sivan  
       2013-04-09 10:54:59 +08:00 via iPhone
    要从用户的角度出发,不兼容低版本或低级浏览器不会使用户更新浏览器,只会流失这部分用户。兼容性是前端必须要考虑和学习的东西,没法偷懒。
    wovfeng
        3
    wovfeng  
    OP
       2013-04-09 11:29:45 +08:00
    @hzlzh http://umindex.com/#ios_system 这个是最新的ios版本统计。

    iscroll的原理是顶部绝对定位,底部绝对定位。中间内容使用transform滚动。并且兼容了pc的事件,所以其实效率并不高。由于特殊性质本身也会有些问题,比如文本框内没有办法输入文字等等。

    而使用iscroll 的原因是因为早期的 ios 不支持 position:fixed.(虽然目前支持的也不完美 会有抖动) 而早期的android 是支持 position:fixed 但是不支持 overflow:auto。 导致的。

    所以真正的解决办法(当然还要看实际问题)并不一定是使用iscroll。

    我只是希望不要把时间浪费在没有用的事情上。h5的出现并不是为了把事情复杂化,而是把事情简单化。
    wovfeng
        4
    wovfeng  
    OP
       2013-04-09 11:34:44 +08:00
    @Sivan 并不是考虑兼容性。但是应该做到渐进增强。而不是完全一样。

    况且把时间浪费在使用hack而解决的"兼容性"上,对于后期的维护负担太重了。
    hzlzh
        5
    hzlzh  
       2013-04-09 12:55:14 +08:00
    @wovfeng position:fixed的问题在iOS和Android上一直都是蛋疼的问题,但可以有比较折中的兼容方式,否则为了一个menubar耗费太多的确不好。

    另外我说的 [版本分布图] 是指单个产品的,而非友盟这种总的。
    举个简单的例子:
    V2EX,访客大部分是‘先进’浏览器,主要是IT从业人群,因此不用过多考虑ie678。
    TaoBao,面向的是普通消费大众,兼容就是必要的,每一个用户都是不可多得的财富。

    所以建议你分析你所维护产品的统计(如Google analytics或友盟单个app后台),找出受众分布群,就能大致决定是否要放弃ie678了
    YuHong
        6
    YuHong  
       2013-04-11 18:12:54 +08:00
    -webkit-overflow-scrolling:touch 在Android设备上触控效果极差,甚至没有滚动指示条。

    @wovfeng 有什么好的解决办法么?还是照样使用
    perfectworks
        7
    perfectworks  
       2013-04-11 20:44:41 +08:00
    平稳退化和渐进增强的问题老生常谈,可以止了

    就一句话:看产品
    ytzong
        8
    ytzong  
       2013-04-11 21:05:12 +08:00 via iPad
    你还是不够激进,你应该用native的而非web
    wovfeng
        9
    wovfeng  
    OP
       2013-04-12 10:57:44 +08:00   ❤️ 1
    @YuHong android浏览器是不支持 scrolling touch的。但是支持overflow:scroll只是效果不是很流畅。
    不过chrome for android 是支持scrolling touch的。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2685 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 03:28 · PVG 11:28 · LAX 19:28 · JFK 22:28
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.