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

2016-11-16 21:34:07 +08:00
 dabpop139

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

2747 次点击
所在节点    程序员
20 条回复
jarlyyn
2016-11-16 21:39:14 +08:00
jQuery 为主力军和兼容性有什么关系。

不知道面对 jQuery 的迷之自信是哪里来的,你有比他更好用的前端库?
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
2016-11-16 21:44:45 +08:00
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
2016-11-16 21:52:57 +08:00
@murmur A2 和 1 的设计思想不一样,不兼容很正常
murmur
2016-11-16 21:55:48 +08:00
@MinonHeart 不要只看到思想,真正的问题是 ng1 那么多轮子全装不上了,你是再造还是再不造呢

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

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

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

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

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


另外,看项目大小,如果是主效果,轻数据,那么肯定是不会去用 angular 和 react 等等的; 如果是像后台管理系统、 OA 系统这种,用 jQuery 写出来的代码自己都怕。
mars0prince
2016-11-17 16:00:52 +08:00
国内别想抛弃了,除了 IE6,7 ,还有一大堆遨游,搜狗等垃圾浏览器用 IE 内核呢
peneazy
2016-11-17 19:29:43 +08:00
就没人提移动端的兼容问题么 uc qq 的浏览器,遇到的问题最多

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/321035

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX