百度也整了个 MVVM 前端框架: San,它支持 ie6 !!!???!!! - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内容
Terry05
V2EX    程序员

百度也整了个 MVVM 前端框架: San,它支持 ie6 !!!???!!!

  •  
  •   Terry05
    TerryZ 2018-06-22 11:00:14 +08:00 13608 次点击
    这是一个创建于 2669 天前的主题,其中的信息可能已经有所发展或是发生改变。

    首页: san

    Github: san

    以百度这样的体量,让团队开发个 MVVM 框架不奇怪,支持 ie6 让我有点震惊,这是要吃准了国情弯道超车!?

    简单看了下,感就是照着 Vue 来做的

    72 条回复    2018-06-23 13:40:02 +08:00
    morethansean
        1
    morethansean  
       2018-06-22 11:02:34 +08:00 via iPhone   3
    我觉得吧,8102 年了
    还在谈支持 ie6 不是加分项,是减分项
    LaplaceTransform
        2
    LaplaceTransform  
       2018-06-22 11:04:21 +08:00
    好事吧,希望能做好
    wxsm
        3
    wxsm  
       2018-06-22 11:05:04 +08:00   5
    其实吧,支持 ie6 这回事,真的很。。。。

    你想想,它的生态怎么做?我做个 ui 库,要不要支持 ie6 呢?开源作者很头疼的啊。
    hhacker
        4
    hhacker  
       2018-06-22 11:07:27 +08:00   2
    支持 IE6 谁敢用它啊
    34C
        5
    34C  
       2018-06-22 11:12:47 +08:00 via iPhone
    ECharts 团队搞的,应该还不错
    Foolt
        6
    Foolt  
       2018-06-22 11:20:04 +08:00   1
    做得好,我选择 Vue.js
    huaouo
        7
    huaouo  
       2018-06-22 11:26:47 +08:00 via Android
    图标和 Scala 好像 ...
    grewer
        8
    grewer  
       2018-06-22 11:27:35 +08:00
    我选择 avalon
    lred
        9
    lred  
       2018-06-22 11:30:20 +08:00
    两年前就整了
    tiaod
        10
    tiaod  
       2018-06-22 11:44:22 +08:00
    8102 年还支持 IE6 简直人人喊打啊
    ctsed
        11
    ctsed  
       2018-06-22 12:02:25 +08:00 via Android   7
    政府和企业中 ie68 比重很大,比如电力 一个系统寿命十几年很常见,底下写着200x 真的不要太多,见过几十个项目,只有一个对着 ie8 以上开发的,用了 bootstrap,升级改造?可以啊,多交点税,扇几天扇子。这么一搞估计人民又要喷了:老子交的钱是享受服务的,不是让你们 xx 造玩具炫技的骗经费的。坐在开发者的屁股上面鄙视 ie 一点毛病没有,但是这个包袱客观存在要逐步卸下来。
    zacksleo
        12
    zacksleo  
       2018-06-22 12:06:54 +08:00 via iPhone
    是啊,这锅不能算开发的,用户环境使然, 政府企业啥时候能升级 xp 啊
    mars0prince
        13
    mars0prince  
       2018-06-22 12:08:52 +08:00   1
    san 支持 ie6,webpack 支持吗? babel 支持吗?各种周边工具支持吗?没有这些现代工具对 IE 的大力兼容,MVVM 就是空中楼阁
    higoge
        14
    higoge  
       2018-06-22 12:12:56 +08:00
    最近一个项目让几十个政府部门升级 IE11,那过程直接不是“痛苦”两个字就能说明白的
    szj1006
        15
    szj1006  
       2018-06-22 12:14:38 +08:00 via iPhone   1
    San 首页有说明为什么做兼容:
    通过方法修改数据的另一好处是,可以获得更好的浏览器兼容性。毕竟有时我们产品的受众用户有点死板。
    ---
    显然是百度的受众用户问题
    Arrowing
        16
    Arrowing  
       2018-06-22 12:14:41 +08:00
    支持 IE6 有点心慌慌,不敢用。
    ctsed
        17
    ctsed  
       2018-06-22 12:16:27 +08:00 via Android
    @szj1006 你国好垃圾
    a5677746
        18
    a5677746  
       2018-06-22 12:17:09 +08:00 via Android
    通过方法修改数据的另一好处是,可以获得更好的浏览器兼容性。毕竟有时我们产品的受众用户有点死板。

    怕不是在暗示什么
    ctsed
        19
    ctsed  
       2018-06-22 12:17:51 +08:00 via Android
    @szj1006 你国好多低端人口
    xi_lin
        20
    xi_lin  
       2018-06-22 12:18:13 +08:00   1
    关于 ie6,大家可以翻翻项目 issue,没有强制绑定要用吧
    murmur
        21
    murmur  
       2018-06-22 12:18:53 +08:00
    @morethansean 但是从钱的角度来说 做政府项目钱还不少。。人家未必比你 react 的工资低
    ctsed
        22
    ctsed  
       2018-06-22 12:21:27 +08:00 via Android
    @murmur 上线前要有一些检测之类的审核,如果一次没过,后面单检测费就几万十几万
    yamedie
        23
    yamedie  
       2018-06-22 12:36:16 +08:00
    兼容到 IE6, 代码势必要编译成 ES3 吧, 很多 1 行能解决的事怕不是要兜个大弯子才行, 效率堪忧.
    ShineSmile
        24
    ShineSmile  
       2018-06-22 12:54:21 +08:00
    还有 7891011edge 需要兼容
    麻烦百度的工程师再多努力一些
    laobubu
        25
    laobubu  
       2018-06-22 12:55:17 +08:00
    打开项目网站,第一眼印象挺走心的,但是代码里一大堆的 .data.set() .data.get() 以及 .data.push('array1', xxx) 之类的看得脑阔疼。
    如果可搞一个 babel 插件或者 TypeScript Transformer 把这些丑写法藏起来就好了
    AV1
        26
    AV1  
       2018-06-22 12:56:46 +08:00 via Android
    @mars0prince
    webpack 还真的可以,把 babel 换成 tsc,target 设为 ES3,再引入 es5、es6、es7、es8、es9 等等 polyfill
    dong3580
        27
    dong3580  
       2018-06-22 13:32:16 +08:00   1
    @mars0prince
    webpack 只是打包工具,兼容性考虑一些 css 和 js 的写法就行了。
    jiqing
        28
    jiqing  
       2018-06-22 14:03:00 +08:00
    这些前端工具怎么用的,谁给解释一下。这个 san 很久之前就看到了,看不明白。我对前端的理解还仅仅局限在 bs 框架,引入 js 改 class 名。
    k9982874
        29
    k9982874  
       2018-06-22 14:17:25 +08:00
    @laobubu #25 我是接受不了它的 template 定义成字符串,变量又直接定义在模板字符串中
    sangmong
        30
    sangmong  
       2018-06-22 14:18:49 +08:00   3
    只要还有一个人在用 ie6,就会去兼容,这才叫大公司,你们这些弱鸡懂什么
    jjplay
        31
    jjplay  
       2018-06-22 14:27:26 +08:00
    百度框架为什么不以 B 开头,叫做 Ban 多 nice static/img/doge.gif
    wangxiaoaer
        32
    wangxiaoaer  
       2018-06-22 14:38:05 +08:00 via Android
    @ctsed 咋一听好像很有道理,可惜不是那么回事儿。

    就拿政府企业来说,已有 ie 68 的项目维护不可能引入这种框架。
    新项目没有兼容的必要。
    ctsed
        34
    ctsed  
       2018-06-22 15:28:33 +08:00   1
    @wangxiaoaer #32 谁告诉你不可能的?甲方技术部门都知道 ie68 上淘宝京东不好使,生产、办公、涉密用破电脑,人家自己买的 win10 本 mac 本啊;要么甲方提供框架环境,要么提供接口规格,合同里签了维护条款,你爱用 jquery 用 jquery,爱用 mvvm 用 mvvm ;战线长了什么项目没有,你随便找几家 2000 年到现在的老牌公司,哪怕本身就是 it 相关,oa crm 没做过迁移的,ie6~chrome60 全线通吃,不知打过多少补丁;啥?你说 vue react 才是现代框架?代表先进生产力?先不算像电力这样基础设施的系统,公司里 oa crm 不计成本全都停一周做迁移,只兼容新版 chrome safari firefox,你看你公司炸不炸;包袱之所以叫包袱,是因为重而不能丢。
    winiex
        35
    winiex  
       2018-06-22 15:47:36 +08:00   1
    作为 web 框架不去加速 IE6 的淘汰,是没有社区责任感的。
    wlwood
        36
    wlwood  
       2018-06-22 15:52:42 +08:00
    真的兼容 ie6 么?

    为何我用 ie 打开它的组件,都无法显示?

    https://ecomfe.github.io/san-mui/#/components/AppBar
    Lawlieti
        37
    Lawlieti  
       2018-06-22 15:55:12 +08:00
    造这么多轮子有意思吗?
    overflowHidden
        38
    overflowHidden  
       2018-06-22 16:20:28 +08:00
    vue 语法糖加 react 函数式编程和 jsx,前阵子 facebook license 时间加上兼容性问题,百度造这么个框架很正常
    leonlu
        39
    leonlu  
       2018-06-22 16:35:29 +08:00   3
    支持到 ie6,说得准确点应该是支持 ie678。这只是 san 的一个加分项而已。san 也是支持 chrome 等等现代浏览器的啊,大家不用过于担心。而且就算 san 支持了 ie678 这些老古董们,体积也只有 14KB,还是远小于 Vue/ React 的 。

    虽然前端开发者们心理生理上都需要淘汰 ie678,但是我们也不得不承认仍然有一些站点『被迫』需要支持 ie678。目前根据 http://tongji.baidu.com/data/browser 给出的数据来看,ie78 就是 pc 流量的 10% 左右,ie6 基于上已经狗带了。这样来看,这些流量很可能也就是 pc 用户群体 /收入的 10%。直接放弃流量这种事情老板肯定是不乐见的,这时候说什么社区责任感什么都是 shit。无论是 Vue 还是 React,都没办法跑了,而用 san 至少你的 js/组件还能用啊!只是兼容一下 css,还省力不少的。

    对于以移动流量 /『高端用户』为主目标用户人群的站点来讲,这个兼容 ie678 这个特性直接忽略就好了,功能 /易用性 /性能上也都不会差。如果讲性能,浏览器渲染也好,服务端预渲染也罢,san 也是遥遥领先。https://baidu.github.io/san/ 大家可以自己看。
    wangxiaoaer
        40
    wangxiaoaer  
       2018-06-22 16:36:08 +08:00 via Android   1
    @ctsed 我们给 j 区政府做的项目多了,10 年开始就强推 ie9 chrome.

    现在的项目根本不考虑 Ie .
    opengps
        41
    opengps  
       2018-06-22 16:38:00 +08:00
    百度可能是给政府项目做多了,不得不支持 ie6, 有些陈旧老设备,还在 xp 时代。。。医院等地方比较常见 xp 老机器
    leonlu
        42
    leonlu  
       2018-06-22 16:38:30 +08:00
    @wlwood 这个是因为这套组件库是不支持 ie678 的,san 框架本身是支持 ie678 的。这个组件库是 Google 的 material 风格啊,支持到 ie6 还不如去死算了。
    luffysup
        43
    luffysup  
       2018-06-22 16:39:10 +08:00
    这个轮子做的好 但是我一般不考虑 ie6 所以我还是不选这个把
    leonlu
        44
    leonlu  
       2018-06-22 16:42:21 +08:00
    @k9982874 一般情况下,大家都直接写 `.san` 格式的组件呢,可以对标 `.vue`
    Tokin
        45
    Tokin  
       2018-06-22 16:50:31 +08:00
    San-mui 写的好随意,https://ecomfe.github.io/san-mui/#/components/Toast 这是实习生写的吗
    ctsed
        46
    ctsed  
       2018-06-22 16:52:14 +08:00
    @wangxiaoaer #40 有人推动办公人员电脑当然好协调了,又没啥风险,能上新上新。生产控制设备显示器键盘都是内嵌的,常见的有 ATM 机,事实上和你生活息息相关的众多基础系统能用 win7 就不错了,这个老破旧的问题不只中国有,看看去年永恒之蓝漏洞打挂多少系统,有的地方手工操作上街排队了。要不就花钱改造让开发人员少费脑子,要不就“又不是不能用”兼容一下,你既不肯多花钱又不要慢慢迭代,这样人很为难啊。
    shangfabao
        47
    shangfabao  
       2018-06-22 16:53:06 +08:00 via Android
    烂大街的 xp 基本都 ie8 了
    dbpe
        48
    dbpe  
       2018-06-22 16:53:23 +08:00   1
    各种轮子。。。正妹那还有个 anujs
    ctsed
        49
    ctsed  
       2018-06-22 16:53:36 +08:00
    @leonlu #39 就我知道的用 ie6 的大部分都不联外网使用了
    rzti483NAJ66l669
        50
    rzti483NAJ66l669  
       2018-06-22 17:09:42 +08:00
    按照政府的信息化进程,支持 IE6 属于炫技。
    leonlu
        51
    leonlu  
       2018-06-22 17:13:45 +08:00
    @Tokin 整体组件库的文档站点都是粗糙的不行。。。明显没有 PM+UE 加持,浓郁的程序员风味:视觉和文案就这样吧,我尽力了(扑街)。。。
    xianxiaobo
        52
    xianxiaobo  
       2018-06-22 17:29:15 +08:00
    本来准备学的,后来发现虽然框架支持 ie6,但是并没有与之匹配的组件库 ui 库之类的东西。所以这东西确实没什么前途。
    Felldeadbird
        53
    Felldeadbird  
       2018-06-22 17:41:27 +08:00
    只怕这个框架 过了一段时间没人维护了。
    599316527
        54
    599316527  
       2018-06-22 17:43:31 +08:00
    @wlwood 不是同一个东西。框架支持,UI 支不支持另说嘛
    599316527
        55
    599316527  
       2018-06-22 17:45:32 +08:00
    怎么都在说 IE6,人家都写了,因为用了 set 所以能兼容,那就顺手兼容一下呗。代码都开源了,你要不想兼容,就改下 webpack 的 stage 就行
    PhpBestRubbish
        56
    PhpBestRubbish  
       2018-06-22 17:45:52 +08:00
    ECharts 团队做的 必须支持
    PhpBestRubbish
        57
    PhpBestRubbish  
       2018-06-22 17:51:41 +08:00
    兼容 ie6 垃圾 都什么年代了 还去兼容 ie6
    不兼容 ie6 垃圾 ie6 用户怎么办
    jagger2048
        58
    jagger2048  
       2018-06-22 18:22:41 +08:00
    就一个“兼容 ie6 ”就能扯半天,框架本身却没人关注 药丸
    xhyzidane
        59
    xhyzidane  
       2018-06-22 18:37:09 +08:00   1
    最好再兼容个 Netscape 6、IE4,让大家都能体验到上网冲浪的快感
    xhyzidane
        60
    xhyzidane  
       2018-06-22 18:37:41 +08:00
    @jagger2048 兼容性不属于框架本身吗?
    huskar
        61
    huskar  
       2018-06-22 18:47:30 +08:00
    @ctsed 肯定存在仍在用 ie6 的人和组织机构,用再老旧的技术也是人家的自由,没啥可喷的。

    可是百度身为一个商业公司,发布一个开源作品肯定是希望获得社区认可的。在 2018 年发布一个前端框架,却还要支持 ie6 是为了什么?就为了迎合仍在用 ie6 的这一批用户?还是觉得喜欢现代技术的开发者看到他支持 ie6 会对这个框架更有好感?
    我觉得两头不落好,既让大部分现代开发者反感, 又无形中延长了早该淘汰技术的寿命。
    fancyhan
        62
    fancyhan  
       2018-06-22 18:56:55 +08:00
    你敢用吗,他们业务调整说变就变
    yksoft1
        63
    yksoft1  
       2018-06-22 19:02:18 +08:00
    @xhyzidane 还有支持功能手机的老浏览器,比如 Netfront 之类?
    ctsed
        64
    ctsed  
       2018-06-22 20:33:36 +08:00 via Android
    @huskar 你又肯定了?现在开源负担这么重了吗
    mingyun
        65
    mingyun  
       2018-06-23 00:30:05 +08:00
    2018 还支持 ie6 可以的
    murmur
        66
    murmur  
       2018-06-23 00:52:00 +08:00
    @huskar 百度这个招牌不好,再加上 react 是洋人作品信仰高,vue 信仰不够但是入场早,所以 ie8+已经留给百度的不多了,如果百度再挤 ie8+
    给我个理由好么
    jedihy
        67
    jedihy  
       2018-06-23 01:09:42 +08:00 via iPhone
    @winiex 早淘汰了。只是有些系统还在用没办法。
    Geo200
        68
    Geo200  
       2018-06-23 08:41:11 +08:00 via iPhone
    @huskar 你想太多了,这八成就是个 KPI 产物,我敢打赌过了今年这个项目就基本上不会再更新了,因为已经发年终奖了。
    Ssskyl
        69
    Ssskyl  
       2018-06-23 09:07:22 +08:00
    我觉得把兼容 ie6 的部分抽出来,再搞个 ie8+的版本
    hundan
        70
    hundan  
       2018-06-23 10:24:47 +08:00 via Android
    就怕到时候没人维护
    Terry05
        71
    Terry05  
    OP
       2018-06-23 11:26:06 +08:00
    百度有挺多开源项目最后都太监了,比如很多人在用的文件上传组件:WebUploader
    fan776783
        72
    fan776783  
       2018-06-23 13:40:02 +08:00
    别提了,说好的兼容 ie6,连 ie9 下的下拉框渲染都有问题
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2705 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 32ms UTC 09:51 PVG 17:51 LAX 02:51 JFK 05:51
    Do have faith in what you're doing.
    ubao 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