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

滴答清单客户端用的什么框架?

  •  
  •   Victor215 · 303 天前 · 5044 次点击
    这是一个创建于 303 天前的主题,其中的信息可能已经有所发展或是发生改变。
    我发现滴答清单的 windows 客户端特别的跟手,也有多平台的客户端,而且客户端的更新频率并不低。

    而且神奇的是,滴答清单的内存占用并不高,大概也就 100M+;同时客户端的体积也不是很大。

    我就在想滴答清单用了什么技术,能达到这个效果:
    1. 满足多平台客户端的开发效率;
    2. 响应很快,操作跟手;
    3. 对终端配置要求低;
    4. 功能相对比较复杂;
    5. 客户端打包后不太大;

    有没有哪位小伙伴是在滴答清单团队的,或者了解其技术详情的?
    catamaran
        1
    catamaran  
       303 天前
    没有安装,不是很大是多大?另外作为一个清单,100M 内存不少了
    Victor215
        2
    Victor215  
    OP
       303 天前
    @catamaran 最新的 windows 客户端安装包 15.1M ,如果要是用 electron 之类的实现的话,内存不太可能 100M 的。
    cugljd
        3
    cugljd  
       303 天前   ❤️ 1
    // C:\Program Files (x86)\滴答清单\TickTick.exe
    // TickTick, Version=5.0.5.0, Culture=neutral, PublicKeyToken=null
    // Global type: <Module>
    // Entry point: ticktick_WPF.App.Main
    // Architecture: x64
    // Runtime: v4.0.30319
    // Hash algorithm: SHA1

    WPF
    lsk569937453
        4
    lsk569937453  
       303 天前   ❤️ 1
    PE32
    操作系统: Windows(7)[I386, 32 位, GUI]
    链接程序: Turbo linker(2.25)
    编译器: Embarcadero Object Pascal(Delphi)(33.0 (26.0.36039.7899))
    语言: Object Pascal(Delphi)
    库: Visual Component Library
    工具: Embarcadero Delphi(10.3 Rio)
    签名工具: Windows Authenticode(2.0)[PKCS #7]
    安装程序: Inno Setup(6.1.0)[Install,Unicode]
    附加: Binary
    安装程序数据: Inno Setup[Install]

    貌似是 Delphi 。在字段中也发现了“ tkInterface, tkInt64, tkDynArray”,这都是 Delphi 的数据类型
    HaroldFinchNYC
        5
    HaroldFinchNYC  
       303 天前
    @lsk569937453 Delphi 来实现跨平台??
    lsk569937453
        6
    lsk569937453  
       303 天前
    @lsk569937453 看上面的兄弟扫的是 wpf,那应该是我的工具有问题。
    yadam
        7
    yadam  
       303 天前
    Linux 下, yay 安装的

    cat /usr/bin/dida
    #!/usr/bin/sh
    XDG_CONFIG_HOME=${XDG_CONFIG_HOME:-~/.config}

    # Allow users to override command-line options
    if [[ -f $XDG_CONFIG_HOME/dida-flags.conf ]]; then
    DIDA_USER_FLAGS="$(sed 's/#.*//' $XDG_CONFIG_HOME/dida-flags.conf | tr '\n' ' ')"
    fi

    electron19 $DIDA_USER_FLAGS /usr/share/dida/dida.asar "$@"

    file /usr/share/dida/dida.asar
    /usr/share/dida/dida.asar: Electron ASAR archive, header length: 266663 bytes

    ll /usr/share/dida/dida.asar
    -rw-r--r-- 1 root root 94M Nov 16 10:23 /usr/share/dida/dida.asar
    Victor215
        8
    Victor215  
    OP
       303 天前
    @yadam 应该不是 election ,起码 windows 版本的不是,要不然体积不能这么小,而且响应不能这么快。
    Victor215
        9
    Victor215  
    OP
       303 天前
    @cugljd WPF 的话,就有一个问题了,跨平台是怎么做的?
    ych8398527
        10
    ych8398527  
       303 天前
    滴答清单以前的 pc 版速度很快,后面更新了界面之后就感觉所有操作都卡卡的。不如 h5 版。
    levidcd
        11
    levidcd  
       303 天前
    mac 端是原生的,全是 nib 文件
    zyxyz123
        12
    zyxyz123  
       303 天前   ❤️ 3
    之前多平台都是各自原生框架开发的,现在不太清楚
    zxf4399
        13
    zxf4399  
       303 天前
    只有 linux 是 Electron
    encro
        14
    encro  
       303 天前
    就是基于浏览器技术的,应该是 windows 采用了 webkit2 。
    nikenidage1
        15
    nikenidage1  
       303 天前
    @Victor215 WPF 确实暂时没办法跨平台,应该是分开开发的吧
    不过社区有一个 WPF 的高级版,avalonia ,可以跨平台,还可以 aot ,可以看我之前的帖子
    https://v2ex.com/t/952603
    cenbiq
        16
    cenbiq  
       303 天前
    应该是 WPF ,因为我记得在打开滴答清单的程序目录下见到了那几个经典的 dll...当然不排除它又套了
    aitianci
        17
    aitianci  
       303 天前
    @catamaran #1 他不光是个清单,还有日历,协同工作区,看板,一大堆东西呢
    gdfsjunjun
        18
    gdfsjunjun  
       303 天前
    使用了下,确实超级流畅。钉钉快来学习一下,太卡了!
    用了这么多 OA ,钉钉流畅度连企业微信和飞书都比不上。
    mogutouer
        19
    mogutouer  
       303 天前
    他每个平台都是原生的,滴答订阅用户很多,很有钱的
    kevin262516
        20
    kevin262516  
       303 天前
    @ych8398527 我也是多年老用户, 这个问题确实如此
    GeekGao
        21
    GeekGao  
       303 天前   ❤️ 2
    “ 而且神奇的是,滴答清单的内存占用并不高,大概也就 100M+;同时客户端的体积也不是很大。 ”

    这句话感觉有点苦涩和滑稽啊,放在 10 年前,这不是正常的桌面应用标准么,是什么把网友们的体验拉到这么 low 了 😂
    Victor215
        22
    Victor215  
    OP
       303 天前
    @GeekGao 确实是啊,各种所谓的高大上的 APP ,不仅吃光资源,还卡的不要不要的。
    GeekGao
        23
    GeekGao  
       303 天前
    @Victor215 这些厂商应该感到羞愧
    kneo
        24
    kneo  
       303 天前 via Android
    原生就可以。为什么你觉得别人一定用的跨平台技术?
    SenLief
        25
    SenLief  
       303 天前
    滴答挺吃资源的,我现在都是直接用网页了。
    vicya
        26
    vicya  
       303 天前
    废物钉钉是真 tm 难用,一段时间不关整个电脑都跟着卡....
    Maboroshii
        27
    Maboroshii  
       303 天前
    一直以为滴答清单是 electron , 刷新认知了。 公司很有钱啊,每个平台单独开发!
    i979491586
        28
    i979491586  
       303 天前
    钉钉的用户不是我们这些用钉钉的员工,钉钉是给各位老板做的,目的是管理员工。
    wwlzz
        29
    wwlzz  
       303 天前   ❤️ 12
    @Victor215 你好,我是滴答清单开发者,Windows 客户端确实使用的 WPF ,除了 Linux 使用的是 Electron ,其他每个平台都是原生开发的 :)
    ilooch
        30
    ilooch  
       303 天前   ❤️ 5
    @mogutouer @Maboroshii
    跟钱没关系
    从一开始没收入,一直都是每个平台原生开发的
    从 2G 时代过来的,对流量敏感,对 App 大小敏感,比较抠
    性能,稳定是一直强调的基本要求,确实还做的不够,一直在改进
    verrickt
        31
    verrickt  
       303 天前 via Android
    前几年去面试时,Windows 端是 wpf
    param
        32
    param  
       303 天前 via Android
    @wwlzz 那什么时候 Linux 也能用原生。我 Linux 没有装客户端而直接用浏览器,就是因为客户端也是个浏览器。如果有原生的客户端一定用原生的了。
    abcbuzhiming
        33
    abcbuzhiming  
       303 天前
    @GeekGao 因为有人公然声称用户的内存不值钱,跑不动是你自己机器问题。就在这个论坛里就有自称是程序员的人这么说
    GeekGao
        34
    GeekGao  
       303 天前
    @abcbuzhiming 这就是“代码工人” 与 “软件工程师” 的区别
    skiy
        35
    skiy  
       303 天前 via iPhone
    @param linux 用原生不容易吧?要么用 qt ,要么 gtk…现在 rust 倒是一堆 gui 工具库
    Victor215
        36
    Victor215  
    OP
       302 天前
    @skiy linux 桌面客户端受众还是太小了,而且 GUI 库也不统一。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1394 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 17:29 · PVG 01:29 · LAX 09:29 · JFK 12:29
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.