换个角度看前端:你是怎么应对拧巴的兼容性问题? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内容
dabpop139
V2EX    程序员

换个角度看前端:你是怎么应对拧巴的兼容性问题?

  •  
  •   dabpop139 2016-11-16 21:34:07 +08:00 3208 次点击
    这是一个创建于 3256 天前的主题,其中的信息可能已经有所发展或是发生改变。

    在前端发展得如火如荼的今天,在现在各种 MVVM 前端框架被火热推崇的今天,大家是怎么应对浏览器兼容性问题。很多国内的公司还是规定要求兼容 IE7\8 ,甚至还有 IE6 ,看到很多公司 JS 为主的项目还是在用 JQuery 为主力军。大家是否考虑过类似的问题,别小看这两个问题,这两个问题会甚至影响程序员选择的发展方向。大部分人在一想到前端要面对各种浏览器兼容问题,还要处理自适应多个平台的布局就感觉茫然,会因为此而干脆直接转到后端开发的大有人在。在 2016 的当下大家是否还是同样的感觉前端兼容性是个让人头痛的问题,欢迎吐槽,最好说说你的应对策略。

    第 1 条附言    2016-11-16 22:06:13 +08:00
    我没有鄙视任何框架,可能是我表述让大家误解了,这里表示抱歉。 JQ 我认为是个伟大的作品,每一种技术和框架都有他出现的时代背景和意义,抛开这些去看历史都是不明智的。只是说在现在业务发展趋势来说用 JQ 写稍微大一点的项目得就显得有点力不从心,或者可以说是门槛很高,需要熟悉的运用各种大大小小的库去整合在一起。
    20 条回复    2016-11-17 19:29:43 +08:00
    jarlyyn
        1
    jarlyyn  
       2016-11-16 21:39:14 +08:00
    jQuery 为主力军和兼容性有什么关系。

    不知道面对 jQuery 的迷之自信是哪里来的,你有比他更好用的前端库?
    murmur
        2
    murmur  
       2016-11-16 21:40:29 +08:00
    8 的兼容性非常好做 只要别上太多特效就没问题 毕竟有 flash 撑着 而且有 border-box 和 json 就能好多活了
    6 的话必须砍需求 动画什么全砍掉 能 table 就 table 能多页面就多页面 能贴图绝对不用 css
    9+再考虑 MVVM 8 可以上 angular1 至于 avalon 不太清楚多少人用的

    jq 很好的 jq 会走入历史 但是会在历史的长河上留下光辉的一笔
    murmur
        3
    murmur  
       2016-11-16 21:44:45 +08:00   3
    jq 我的感觉
    (1)会走入历史,一定的
    (2)最好用的工具,无论解决问题的程度, API 的优美度,自身体积,提供的功能,在那个年代无出其右,这一点 jq 、 zepto 的占有率已经不需要解释了
    (3)新出的,就 ajax post form 来说,没一个比 jq 的$.ajax 好使,你说你要 FormData 我给你,但是这个东西是 IE10+,而且能不能 polyfill 还尚无定论,不给我 FormData 还不让我用{}构造 Form 这很尴尬啊

    不要跟我提标准,标准是什么?那是给大牛和面试用的,真正写起代码来你绝对不会碰那个东西,一般标准都是超级难用,就跟 java 的 ee 一样,现在不都直接上 spring 了么, servlet 在配置完 spring 的使命基本就结束了

    不要鄙视 jq ,一是你做不出 jq ,二是 jq 的光芒几年内还没法散去,人家 2 兼容 1 只是去掉浏览器兼容性而已,反观某 A 框架 2 到 1 改的娘亲不认
    MinonHeart
        4
    MinonHeart  
       2016-11-16 21:52:57 +08:00 via iPhone
    @murmur A2 和 1 的设计思想不一样,不兼容很正常
    murmur
        5
    murmur  
       2016-11-16 21:55:48 +08:00
    @MinonHeart 不要只看到思想,真正的问题是 ng1 那么多轮子全装不上了,你是再造还是再不造呢

    ng1 有个 grister 超级好用 虽然就 800star 但是我和 react-grid-layout 比过, 3000 的后者比不上 800 的前者

    再造轮子才是真正的问题,尤其对于 ng1 这种 5+年的老框架,背后有多少轮子等着再造
    ByZHkc3
        6
    ByZHkc3  
       2016-11-16 21:55:55 +08:00
    我一向对那些讲着去 jq 化的论调保持呵呵的态度;
    参加很多技术交流会,都是鄙视 jq 流。
    我只想说你高兴就好。
    dabpop139
        7
    dabpop139  
    OP
       2016-11-16 21:59:33 +08:00
    @murmur 感谢用心回答,我一般不会鄙视任何框架, JQ 我认为是个伟大的作品,每一种技术和框架都有他出现的时代背景和意义,抛开这些去看历史都是不明智的。只是说在现在业务发展趋势来说用 JQ 写稍微大一点的项目得就显得有点力不从心,或者可以说是门槛很高,需要熟悉的运用各种大大小小的库去整合在一起。

    我更多的是对前端发展现状和国内实际环境的一种思考,是想了解大家都是如何去应对这种矛盾的问题的。不能只为自己写着方便而就一味的把兼容问题抛开不管,对于追求极致的公司来说这种行为应该是不允许的。
    anubiskong
        8
    anubiskong  
       2016-11-16 22:00:14 +08:00
    怎么都开始鄙视 jq 了, 这世道, 真是好了伤疤忘了疼
    Phariel
        9
    Phariel  
       2016-11-16 22:03:45 +08:00 via Android
    jQuery 再过十年都不会进入历史 除非 Web 开发标准出现重大改变
    Wangxf
        10
    Wangxf  
       2016-11-16 22:18:04 +08:00
    呵呵,我发现一个现象,程序员对于上手简单的东西都嗤之以鼻, jq 确实上手简单,但是要你开发一个上手简单的 jq 你行么?好像这年头还在用 jq 的都是老古董了,都 tm 不配叫前端了,醉了。。。用各种高大上的东西各种构建只为了写 hello , world
    dabpop139
        11
    dabpop139  
    OP
       2016-11-16 22:28:59 +08:00
    @Wangxf 我能不能理解为其实国内前端现在的情况是一种乱象,是迷雾,虽然很多人都在推崇前沿的框架和技术,但实际上很多项目其实还是保守的用着 JQ 。
    wolfan
        12
    wolfan  
       2016-11-16 22:29:55 +08:00
    jQ 的存在还是有一定作用的,虽然不在如往昔般的辉煌,但相对简单且相对通配的支持在生产环节的作用还是有的存在的空间与时间的。
    FrankFang128
        13
    FrankFang128  
       2016-11-16 22:35:11 +08:00 via Android
    还有几个公司在兼容 ie 67
    ferrum
        14
    ferrum  
       2016-11-16 22:44:57 +08:00 via iPhone
    题外话,不知道 Angular 2 国外用得多不多,最近看了看,发现能用的 UI 框架好少,连官方名下的 Material Design 都不知道要何年何日才能正式发布。

    jQuery 很好的一点是,有非常多的插件,能满足各种各样的需求。我用 Vue.js 写的东西都用了不少插件。
    chemzqm
        15
    chemzqm  
       2016-11-16 22:50:55 +08:00
    只要不用兼容 ie 6 7 ,现在情况比以往已经好太多了, javascirpt 可以用 babel , css 可以用 autoprefix ,另外还有各种兼容的 polyfill 。
    jQuery 的兼容确实是当年做的最全面的,只是时代变了,现在 web 应用相比与浏览器的兼容更讲究高效的迭代, jQuery 搞出来的代码通常都比较难维护。
    MinonHeart
        16
    MinonHeart  
       2016-11-16 23:06:29 +08:00
    @murmur 不想在造,那继续用 1 ,也不是不能用。你说的这种避免不了,只是能兼容时间长短问题。
    youfang
        17
    youfang  
       2016-11-17 09:30:57 +08:00
    avalon 兼容到 ie6 不过社区活跃度不够 文档也一般
    coolcoffee
        18
    coolcoffee  
       2016-11-17 10:09:17 +08:00
    如果换工作,尽量不要去还兼容 IE8-的公司, 最好是 IE9+。

    如果现公司还是要兼容 IE8-,那就认命吧,之前怎么来,现在还是怎么来。


    另外,看项目大小,如果是主效果,轻数据,那么肯定是不会去用 angular 和 react 等等的; 如果是像后台管理系统、 OA 系统这种,用 jQuery 写出来的代码自己都怕。
    mars0prince
        19
    mars0prince  
       2016-11-17 16:00:52 +08:00
    国内别想抛弃了,除了 IE6,7 ,还有一大堆遨游,搜狗等垃圾浏览器用 IE 内核呢
    peneazy
        20
    peneazy  
       2016-11-17 19:29:43 +08:00 via Android
    就没人提移动端的兼容问题么 uc qq 的浏览器,遇到的问题最多
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     1016 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 28ms UTC 23:02 PVG 07:02 LAX 16:02 JFK 19:02
    Do have faith in what you're doing.
    ubao msn 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