爱意满满的作品展示区。
kokdemo

v2ex.k 新版内测

  •  3
     
  •   kokdemo ·
    kokdemo · Jul 11, 2016 · 7173 views
    This topic created in 3766 days ago, the information mentioned may be changed or developed.

    距离 v2ex.k 上一个版本已经好久好久了……

    重写的原因

    依稀记得为了写这个插件学习 react 的日子,然而在写完这个插件之后我就再没有写 react 了:P 。

    所以一直没有更新是有理由的。

    这段时间决定重写一下这个插件,全部换成了 vue 。于是就有了目前的这个版本。

    由于是重写,因此没能 100%的还原 react 版本的全部功能(其实我也忘了之前有什么功能了......)。基本完成了样式的重现。

    大概长这样:

    image

    怎么安装:

    最后,希望测试使用的童鞋能多多的反馈建议。能顺手给个star就更好啦!

    35 replies  •  2016-07-18 18:38:39 +08:00
    designer
    designer
    Jul 11, 2016
    1
    我还以为是一个域名。。
    DearTanker
    DearTanker
    Jul 11, 2016
    2
    做成插件放 chrome 市场吧,这样加载略嫌麻烦。(其实是我太懒 )
    learnshare
    learnshare
    Jul 11, 2016
    3
    来,邀请楼主来对比一下 React 和 Vue
    chanssl
    chanssl
    Jul 11, 2016
    4
    适用了一下,不太习惯,视角方向需要左右切换,有点累
    jwk345
    jwk345
    Jul 11, 2016 via iPhone
    5
    很好,不用来回翻页
    xhowhy
    xhowhy
    Jul 11, 2016 via iPhone
    6
    何苦用 vue
    mthli
    mthli
    Jul 12, 2016
    7
    :P
    baoguok
    baoguok
    Jul 12, 2016
    8
    这个是基于 api 做的么?
    kokdemo
    kokdemo
    OP
    Jul 12, 2016
    9
    @DearTanker 有上架,但是这是个不完全功能的版本,所以没有全面更新。

    @learnshare 不吹不黑,我个人更喜欢 vue ,等到 2.0 出来之后会更新到 vue2.0 的版本。

    @chanssl 这个比较适合宽屏用,最窄也能支持到 1100px 左右的宽度

    @xhowhy 主要就是手熟……

    @baoguok 并不是,全部拿的是原来页面的数据,整理之后重新展现。
    oott123
    oott123
    Jul 12, 2016❤️1
    10
    😂我就知道没有 Firefox 版本
    kokdemo
    kokdemo
    OP
    Jul 12, 2016
    11
    @oott123 应该是没有,但是我会考虑把插件改写成 userscript 的形式。
    oott123
    oott123
    Jul 12, 2016
    12
    @kokdemo 其实 Firefox 最近支持 Web Extensions 了……看你这插件感觉应该改改就能用。
    不过有 userscript 版本最好啦……这样普适性强,在 chrome 下也不用折腾什么开发者模式整天被禁用插件了。
    xhowhy
    xhowhy
    Jul 12, 2016
    13
    @kokdemo @learnshare
    vue2 里貌似没有 shouldComponentUpdate ,但有时候非常有用,举个例子,比如渲染一个实时的新闻列表

    在渲染每行 Cell 的时候,只要重写 Cell 组件的 shouldComponentUpdate ,`return this.props.updateTime === newProps.updateTime `,这样直接就完成了 diff ,简单高效,不需要深度 diff 不需要 Imutable 。
    这样的优化效果是没有 shouldComponentUpdate 的方式无法比拟的,后者宣称开发再方便,不支持开发者直接进行优化,在很多时候性能都会被秒成渣。

    如果有了 shouldComponentUpdate , vue2 和 react 又有何区别?所以为毛要用一个小众框架。。
    kokdemo
    kokdemo
    OP
    Jul 12, 2016❤️1
    14
    @oott123 额,也不是 userscript 最好, chrome 的插件毕竟可以拿到不少的权限,这样我折腾起来也容易的多。
    oott123
    oott123
    Jul 12, 2016
    15
    @xhowhy 你指的是 http://vuejs.org/guide/list.html#track-by 这种功能么?


    @kokdemo 嗯,有道理,不过还是希望能出功能精简的 userscript 或者 firefox 扩展 😂 或者改天我自己移植一下……
    kokdemo
    kokdemo
    OP
    Jul 12, 2016❤️1
    16
    @oott123 这个项目接下来的方向应该是挪到 electron 里面封装一个 mac 客户端,所以 firefox 扩展靠你了……
    TangMonk
    TangMonk
    Jul 12, 2016
    17
    安装了一个感觉还不错
    oott123
    oott123
    Jul 12, 2016
    18
    @kokdemo 赞。开始开发的时候记得在 V2 发帖,有空我也想 contribute 一些~
    kokdemo
    kokdemo
    OP
    Jul 12, 2016
    19
    @oott123 我都是闷声开发的,只有快成品了才批量 commit ……
    xhowhy
    xhowhy
    Jul 12, 2016
    20
    @oott123 确实可以把我说的场景中,字段合并后进行编码,比如 uid = md5(articleId + updateTime),但这样就显得不太优雅了:

    1. 只是想 diff ,为什么要引入一种消耗性能的 guid 生成方式呢
    2. md5(articleId + updateTime) 这样的方式生成 uid ,然后让框架去对比 uid ,这样做完全不符合开发直觉:我明明可以直接比较 updateTime 字段,为啥要通过 updateTime 小心翼翼地生成一个 uid 呢,还得防止冲突碰撞
    learnshare
    learnshare
    Jul 12, 2016
    21
    @xhowhy 我在 Angular.js 里也用 updateTime 去驱动重新渲染,$watch 深度对比几乎是废物

    因为写 Angular.js 很久了,所以我更倾向于 Vue ,而不是 React 。 React 的许多风格都不喜欢
    oott123
    oott123
    Jul 12, 2016
    22
    @xhowhy 你如果可以直接比较 updateTime ,那你直接写 track-by="updateTime" 就行了嘛,不一定要生成 UID 呀……
    要是后端有现成的 UID ,那也可以正好直接拿过来用嘛。
    xhowhy
    xhowhy
    Jul 12, 2016
    23
    @oott123 两篇文章的 updateTime 一样 那不就错了嘛 至少得 articleId + updateTime
    xhowhy
    xhowhy
    Jul 12, 2016
    24
    @oott123 shouldComponentUpdate 让我自己可以定义比较过程,用 vue 让我不仅得清楚比较过程,还得为这个过程的结果生成一个 uid 。高下立判。
    oott123
    oott123
    Jul 12, 2016
    25
    @xhowhy 那就 track-by="'' + articleId + updateTime" ……感觉看上去还行?
    xhowhy
    xhowhy
    Jul 12, 2016 via iPhone
    26
    @oott123 uid=articleId+updateTime 感觉很 low 理由上一条说了
    kokdemo
    kokdemo
    OP
    Jul 12, 2016❤️1
    27
    @xhowhy
    @oott123 我还指望着你们反馈一些使用建议和反馈呢,结果你们因为这个吵起来了……
    oott123
    oott123
    Jul 12, 2016
    28
    @kokdemo 不算吵,和谐讨论~
    对离题感到抱歉。 sorry :(
    kokdemo
    kokdemo
    OP
    Jul 12, 2016❤️1
    29
    @oott123 这个不用抱歉啊,只要能收到有效的反馈我就很开心。
    xhowhy
    xhowhy
    Jul 12, 2016 via iPhone
    30
    @kokdemo 嗯 和谐讨论 你有没有一点点感受到我说的情况
    ClassicOldSong
    ClassicOldSong
    Jul 16, 2016 via Android
    31
    看起来很赞~ star 之~
    dtfm
    dtfm
    Jul 18, 2016
    32
    貌似这个开发者是厨师公司的 PR ,真的挺厉害啊。
    kokdemo
    kokdemo
    OP
    Jul 18, 2016
    33
    @dtfm pr 是啥……
    dtfm
    dtfm
    Jul 18, 2016
    34
    @kokdemo 写错啦, PM ,产品经理啊
    dtfm
    dtfm
    Jul 18, 2016
    35
    @kokdemo 你不就是么!对下厨房一向有好感,想跳去它的 Android 岗,我之前在一个吐槽微博邮箱里见过你的回复就记住了。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   1288 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 48ms · UTC 21:42 · PVG 05:42 · LAX 13:42 · JFK 16:42
    ♥ Do have faith in what you're doing.