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

🤱🏻 用 Rust 打包了一个才 1.8M 的微信读书 Mac App

  •  
  •   tw93 ·
    Tw93 · Oct 15, 2022 · 15322 views
    This topic created in 1482 days ago, the information mentioned may be changed or developed.

    总览

    之前用 Rust 打包了一个微信读书的 Mac 版本,1.8M 大小,用了一段时间还不错,将代码开源到 Github ,感兴趣的小伙伴可下载试试,让你可以使用电脑进行阅读,当然也可以基于代码二次开发一些其他有趣的工具。

    🎉 开源地址:https://github.com/tw93/pake

    🏂 下载地址:http://tw93.fun/images/app/WeRead.dmg

    原理

    用 Rust 来打包你的 App ,底层使用 Tauri ,当前支持微信读书,有更多想法,欢迎提 Issue 。

    展示效果

    1

    Supplement 1  ·  Oct 15, 2022

    0.2 新增 Flomo

    2

    Supplement 2  ·  Oct 15, 2022

    为了防止 ETC,说明如下

    1. 这个东西只是一个玩具,不是用来赚钱的,关于你更喜欢 PWA 或者其他的打包方式完全没有问题,喜欢就好
    2. 花了半天搞的,所以只能说能用,或者有朋友想自己折腾折腾,fork 就能用,没有太多优化啥的,后面会持续优化优化,当时开源这种东西,不是甲乙方的关系,而是分享交流而已,V 站我觉得是国内程序员最好的社区,不然其实也不会来分享的。

    关于这个工具的一些特征,说明如下

    • 🏂 小:相比传统的 electron 套壳打包,大小要小数十倍,一般 2M 大小
    • 😂 快:Pake 的底层使用的 Rust Tauri 框架,性能体验较 JS 框架要轻快不少
    • 🩴 特:不是单纯打包,实现了通用快捷键的透传、沉浸式的窗口、拖动、打包样式兼容
    • 🤱🏻 玩:只是一个玩具,或者说一个用 Rust 替代之前老思路的玩法,欢迎交流

    此贴不再回复,下楼吃螺蛳粉去~

    75 replies  •  2023-09-09 00:38:00 +08:00
    fyooo
    fyooo
    Oct 15, 2022
    1
    哇塞,不错啊,暗中观察一下,看看大家会不会被封号,不封的话我再试试
    HopeLee
    HopeLee
    Oct 15, 2022
    2
    赞一个
    sdd11
    sdd11
    Oct 15, 2022 via iPhone
    3
    为啥能这么小,因为用的系统的 webkit 么
    oldshensheep
    oldshensheep
    Oct 15, 2022❤️44
    4
    感觉是来搞笑的,套个浏览器就成了一个应用了。还有 100 多 STAR ,什么小白这么好骗,眼馋……
    Sting1226
    Sting1226
    Oct 15, 2022❤️1
    5
    直接网页版不就好了。网页转 App 纯属脱了 kz 放 p 。
    bxb100
    bxb100
    Oct 15, 2022
    6
    虽然但是直接用 PWA 不就好了
    tw93
    tw93
    OP
    Oct 15, 2022 via iPhone
    7
    @Sting1226 爱用不用
    tw93
    tw93
    OP
    Oct 15, 2022
    8
    @fyooo 为啥会封号?
    tw93
    tw93
    OP
    Oct 15, 2022
    9
    @sdd11 是的,rust 里有一个叫做 tauri 的框架搞的
    tw93
    tw93
    OP
    Oct 15, 2022
    10
    @bxb100 其实不是所有的都要做成这样的,更适合那种本来应该是一个 pc 软件的当时没有做的那种,比如说各种阅读类的
    Veneris
    Veneris
    Oct 15, 2022 via iPhone
    11
    不懂就问,这不就是网页套壳吗?
    甚至是把微信读书官方的网页直接套进来
    tw93
    tw93
    OP
    Oct 15, 2022
    12
    @Veneris 是的,不是传统那种,这个性能好一点,而且包巨小,传统套壳一般是 100M 的大小了,相当于包了一个 electron ,这个使用的是当前一个 Rust 中一个比较新的技术 https://tauri.app/ 弄的,可以去了解一下,平时用来做些小工具很合适
    tw93
    tw93
    OP
    Oct 15, 2022
    13
    要不我也点一个赞,哈哈
    dcsuibian
    dcsuibian
    Oct 15, 2022❤️1
    14
    只是套壳的话没啥用。
    vscode 、draw.io 、typora 做成 app 可以读取、访问本地文件
    clash for windows 是为了改网络设置

    微信读书本来不就有网页版,也不需要调用本地 api ,直接多一个浏览器标签页不好么
    tw93
    tw93
    OP
    Oct 15, 2022
    15
    @dcsuibian 其实各有喜好,怎么都行
    hangbale
    hangbale
    Oct 15, 2022
    16
    最近正在用 tauri 重构之前的一个项目 比 Electron 爽多了
    tw93
    tw93
    OP
    Oct 15, 2022
    17
    @hangbale tauri 我大概半年前开始用,这个东西性能以及和本地交互还是很不错的,就是 rust 很多周边能力还是没有 js 那么丰富,不过愿意折腾其实反而更好玩
    kenken
    kenken
    Oct 15, 2022 via iPhone
    18
    不错,支持一下
    penzi
    penzi
    Oct 15, 2022 via Android
    19
    好奇 OP 怎么推广这么短时间拿到这么多 stars 的
    tw93
    tw93
    OP
    Oct 15, 2022
    20
    @maggch97 我在推上也发了下,不少朋友比较喜欢,才想着其实 V 站也有不少喜欢技术的朋友,就顺便也发到这里来了
    mango111
    mango111
    Oct 15, 2022
    21
    @maggch97 你看 op 本来就在经营影响力了,推特啊周报啊群啊发发能触达到很多人
    kidlj
    kidlj
    Oct 15, 2022❤️1
    22
    感谢作者,我个人很喜欢。
    darer
    darer
    Oct 15, 2022
    23
    win 不打包一下吗
    tw93
    tw93
    OP
    Oct 15, 2022 via iPhone
    24
    @darer 哈哈 有 windows 同学欢迎 fork
    Tink
    Tink
    Oct 15, 2022
    25
    好评,虽然是套壳应用,用起来可以
    kongkongye
    kongkongye
    Oct 15, 2022 via iPhone
    26
    之前喜欢装 app ,现在反过来了,喜欢网页,因为 app 开多了扩展坞会很挤,并且 app 经常需要更新,然后打开加载竟然还没网页快,关闭 app 感觉也不如网页轻量
    TonyHoAspire
    TonyHoAspire
    Oct 15, 2022
    27
    准备支持 Linux 吗?
    muhuan
    muhuan
    Oct 15, 2022
    28
    支持一个
    2NUT
    2NUT
    Oct 15, 2022
    29
    @oldshensheep #4 pwa 有什么问题么?
    DonaidTrump
    DonaidTrump
    Oct 15, 2022 via iPhone
    30
    @kongkongye app 怎么能开到扩展坞里去?
    tw93
    tw93
    OP
    Oct 15, 2022 via iPhone
    31
    @tulongtou 安装后打开就在了
    tw93
    tw93
    OP
    Oct 15, 2022 via iPhone
    32
    @TonyHoAspire 可以去看看 tauri 的文档 直接 fork 实现
    tw93
    tw93
    OP
    Oct 15, 2022 via iPhone
    33
    @2NUT 😂 存在就是合理的,很多时候需要拿作品说话
    2NUT
    2NUT
    Oct 15, 2022❤️1
    34
    @tw93 #33 我是 支持你的, 即使是形式上 一个是 cs 一个 bs ,在客户看来就是本质区别
    DonaidTrump
    DonaidTrump
    Oct 15, 2022 via iPhone
    35
    @tw93 那电脑没有插扩展坞会怎样?会打不开么?
    tw93
    tw93
    OP
    Oct 15, 2022 via iPhone
    36
    @2NUT 谢谢
    tw93
    tw93
    OP
    Oct 15, 2022 via iPhone
    37
    @2NUT 哈哈 我的意思是你回复的那哥们喷是合理的,下次我标题和内容尽量注意 防止引起 argue
    Phishion
    Phishion
    Oct 15, 2022
    38
    套不套壳选什么技术路线很重要么?我觉得还是满足用户需求最重要,只能说这个门槛比较低,容易被模仿,对用户来说倒是没差
    tw93
    tw93
    OP
    Oct 15, 2022 via iPhone❤️1
    39
    @Phishion 赞同 首先需要满足需求 然后才是技术选择,有时候技术选择能帮助一定程度提高体验和开发效率
    blankmiss
    blankmiss
    Oct 15, 2022
    40
    存在即合理是句误译来着
    icyalala
    icyalala
    Oct 15, 2022❤️4
    41
    这什么扯淡 MacApp ,就一个 WebView 。。。
    同样的需求,我试了下拿 Xcode 拖个 WebView 加载 https://weread.qq.com ,两分钟就能做出你这个需求,打包出来 213 KB 。

    @2NUT 做 PWA 直接在浏览器里打开,点下安装就能出一个桌面 App 图标,压根就不需要你打包。
    tw93
    tw93
    OP
    Oct 15, 2022 via iPhone
    42
    @icyalala 你 2min 搞好,贴出来看看是不是一样,嘴强王者不如实际操作,少于 5min 算我输,我这边可以半 min 打一个包
    yesterday17
    yesterday17
    Oct 15, 2022
    43
    @tw93 Rust 项目半分钟就能打包完可能不是褒义(
    tw93
    tw93
    OP
    Oct 15, 2022 via iPhone
    44
    @yesterday17 这不是留了一些 buffer 不😂
    Bapper
    Bapper
    Oct 15, 2022 via iPhone
    45
    这个可以注入 css 不?
    sinnosong1
    sinnosong1
    Oct 15, 2022
    46
    原来大家电脑上都没有浏览器啊👍👍👍
    tw93
    tw93
    OP
    Oct 15, 2022
    47
    @callmesmc 可以的,这个里面就注入了一些,体验更好一些
    Desiree
    Desiree
    Oct 15, 2022
    48
    存在即合理,楼上没必要一上来就喷的..
    tw93
    tw93
    OP
    Oct 15, 2022
    49
    @sinnosong1 是的 我们这边只能用命令行拨号上网😭
    coderunI
    coderunI
    Oct 15, 2022
    50
    这 star 是真的吗?
    owtotwo
    owtotwo
    Oct 15, 2022❤️1
    51
    这 stars 数算得上另一种意义的 nb 了
    tw93
    tw93
    OP
    Oct 15, 2022
    52
    @coderunI 假的,talk is cheap, show me the code
    systemcall
    systemcall
    Oct 15, 2022 via Android
    53
    edge 不是可以直接把不是 pwa 的网页也作为应用安装吗?
    搞不懂你这有什么用
    magicdawn
    magicdawn
    Oct 15, 2022❤️1
    54
    微信网页版并没有做 PWA, 发炎之前自己看一下啊
    jfdnet
    jfdnet
    Oct 15, 2022
    55
    @oldshensheep 很多官方 pc 端也就是网页套壳,这有什么好酸的。
    sdd11
    sdd11
    Oct 15, 2022 via iPhone
    56
    那这个在官网的基础上做了什么优化么?比如加一些快捷键之类的
    tw93
    tw93
    OP
    Oct 15, 2022
    57
    @sdd11 其实网页基本快捷键都是需要支持的,包括沉浸式头、顶部可以拖动、还有样式兼容
    butanediol2d
    butanediol2d
    Oct 15, 2022
    58
    OP 我觉得你做的东西没问题,主要是宣传上出了差错。

    把网页打包成 App 不是伪需求,而且恰恰相反,非常有市场,以至于直接在 Google 上搜索 “Turn any website into desktop Mac app” 已经有一大堆能批量生产、自定义转换网页的产品了。

    根据你的帖子正文来看,你并没有创造什么新东西,普通人包括非程序员只要会搜索就能达成一样的效果。

    所以大伙更关注的是是你这个打包出来的东西有没有什么特殊之处,比如楼上所说的快捷键,或者自定义 CSS 之类的功能。
    icyalala
    icyalala
    Oct 15, 2022❤️1
    59
    @tw93 https://bitbucket.org/icyalala/mac_webivew/src/master/
    拖了个 WebView 改改配置,新增了 3 行代码去加载那个 URL ,两分钟。打包点 Archive 只要 5 秒。
    tw93
    tw93
    OP
    Oct 15, 2022
    60
    @butanediol2d 中肯,懒了
    vvhy
    vvhy
    Oct 15, 2022
    61
    @magicdawn #54 chrome 浏览器 ... > 更多 > 创建快捷方式 > 在窗口中打开,和 pwa 没什么区别,这个功能挺好用的
    huohei
    huohei
    Oct 15, 2022 via iPhone
    62
    你说的对,但是在 chrome 里将一个网页作为应用安装只要 5s ,并且大小不到 1m
    tw93
    tw93
    OP
    Oct 15, 2022
    63
    @butanediol2d 已经在附言中补充,谢谢提醒,回复如下

    ----


    ## 为了防止 ETC ,说明如下

    1. 这个东西只是一个玩具,不是用来赚钱的,关于你更喜欢 PWA 或者其他的打包方式完全没有问题,喜欢就好
    2. 花了半天搞的,所以只能说能用,或者有朋友想自己折腾折腾,fork 就能用,没有太多优化啥的,后面会持续优化优化,当时开源这种东西,不是甲乙方的关系,而是分享交流而已,V 站我觉得是国内程序员最好的社区,不然其实也不会来分享的。


    ## 关于这个工具的一些特征,说明如下
    - 🏂 **小**:相比传统的 electron 套壳打包,大小要小数十倍,一般 2M 大小
    - 😂 **快**:Pake 的底层使用的 Rust Tauri 框架,性能体验较 JS 框架要轻快不少
    - 🩴 **特**:不是单纯打包,实现了通用快捷键的透传、沉浸式的窗口、拖动、打包样式兼容
    - 🤱🏻 **玩**:只是一个玩具,或者说一个用 Rust 替代之前老思路的玩法,欢迎交流


    此贴不再回复,下楼吃螺蛳粉去~
    AA5DE3F034ACCB9E
    AA5DE3F034ACCB9E
    Oct 15, 2022
    64
    程序员有必要自贱自己的行业吗?
    jchnxu
    jchnxu
    Oct 16, 2022
    65
    这个是我的需求,浏览器 tab 太多找不到,我做了好几个套壳 app 了。lz 加油
    jianson2006
    jianson2006
    Oct 16, 2022
    66
    @butanediol2d 中肯的回复,值得深思!
    lllllliiii
    lllllliiii
    Oct 16, 2022
    67
    各位可以瞭解下 https://github.com/tauri-apps/wry 。。
    masker
    masker
    Oct 16, 2022 via Android
    68
    GitHub 的 trending ,有的 repo 也是没什么技术含量,也能有几千甚至上万 stars 的,不知道是刷的还是小白实在太多
    lixile
    lixile
    Oct 17, 2022
    69
    我来说个场景吧
    pwa 的网页也作为应用 确实我在用
    但是浏览器崩溃的时候 所有应用会一起崩溃 这是最不想见到的
    所有 pwa 能有独立的生命周期 才是最好的 这就是应该比较典型的应用场景
    yihy8023
    yihy8023
    Oct 17, 2022
    70
    感觉不错,给楼主赞一个。打开挺快,也很流畅
    linuxsteam
    linuxsteam
    Oct 18, 2022 via iPhone
    71
    electron 还有 native api 呢 可不是光套壳
    A01514035
    A01514035
    Oct 21, 2022
    72
    可不可以打包一个哔哩哔哩和抖音,看看你这个和官方的“客户端”,哪个更好用。
    chancat
    chancat
    Oct 22, 2022 via Android
    73
    我特么看成了 1.8m 的微信。。。赶紧点进来了🙄
    w7777777
    w7777777
    May 9, 2023
    74
    @vvhy 666 学到了
    2NUT
    2NUT
    Sep 9, 2023
    75
    @oldshensheep 现在看看更气人,1 万多 star 了,这个就是技术眼界。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   5328 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 206ms · UTC 02:11 · PVG 10:11 · LAX 18:11 · JFK 21:11
    ♥ Do have faith in what you're doing.