打开demo.pcbjam.com,点一下"Choose folder",选中电脑里装着.kicad_pcb文件的文件夹,几秒钟后,浏览器里跳出一整套原理图编辑器、PCB编辑器、封装编辑器、Gerber查看器,外加光是"Symbols"这一个分类下就挂着222个库、单个库最大的Converter_DCDC有1189个元件符号。这不是一个网页Demo视频,是能真编辑、能真保存的KiCad项目。页面上有一句话写得很硬:"Nothing is uploaded; Save downloads to your machine。"但翻到PCBJam主站,还有另一句话:"now multiplayer。"一句讲本地隐私,一句讲多人协作,同时挂在一个产品名下,这条裂缝比"KiCad搬进浏览器"本身更值得多问一句。

编译进浏览器,不是换个皮肤

KiCad是原生C++桌面软件,靠wxWidgets做界面、OpenGL做渲染,这套骨架天生不长在浏览器里。PCBJam官网的说法是,把"完整的原生C++ EDA套件"整体编译成WebAssembly,让它"完全跑在浏览器里"——这跟市面上大多数网页版EDA是两条路。Flux、EasyEDA走的是另一条路:围着浏览器重新设计一套协作优先的界面和后端,本身就是云端原生,跟KiCad桌面版没有代码血缘。如果PCBJam真的把KiCad代码库整体编译过来,好处是功能和行为跟桌面版几乎一致,库、格式、快捷键都不用另起炉灶;代价是WASM对大工程文件、复杂渲染的性能天花板还没人验证过。

从桌面到浏览器,经过了什么 KiCad 原生C++ GPL开源代码库 WebAssembly编译 核心逻辑不重写 demo.pcbjam.com 浏览器内运行 Flux / EasyEDA 走的是另一条路: 围绕浏览器重写界面与后端,不是编译原生代码 差异:编译路径保留原生行为,风险在WASM性能天花板未经验证

"不上传"和"多人协作",两句话怎么兼容

demo页面的隐私承诺写得很满:本地文件夹导入,浏览器里生成的是副本,原文件不动;保存只是下载到本地,没有上传动作。这话术精准踩中了硬件圈对设计图纸外流的顾虑——PCB设计稿常涉及未公开产品,谁都不想让草图在传输路径上多停留一秒。

但PCBJam主站同时宣传自己"now multiplayer",支持粘贴链接、拖入.kicad_pcb文件、或从GitHub拉取三种导入方式。协作意味着至少两个人要看到同一份、实时变化的设计——这在架构上几乎必然要经过某种服务器中转或同步层,否则"多人"从何谈起。demo页面只字未提这套协作怎么实现,也没说协作模式下"不上传"是否还成立。

两个页面,两种承诺 demo.pcbjam.com 本地文件夹导入 原文件不动,只生成副本 "Nothing is uploaded" Save = 下载到本机 pcbjam.com 主站 "now multiplayer" 粘贴链接 / 拖拽 / GitHub拉取 协作 = 需实时同步 同步方式未公开说明
  • 风险.一旦协作功能落地,"nothing is uploaded"这句承诺很可能需要重新定义,而非原样成立。

GPL这道题,官网没答

KiCad是GPL协议开源项目,基于其代码衍生的产品通常要承担相应的源码开放义务。PCBJam如果真如官网所说,把KiCad原生代码编译进WebAssembly,那么它自己这部分代码处于什么开源状态,理论上应该有公开答案。目前没能找到PCBJam公开的代码仓库——这不代表它一定不合规,但对一个建立在开源项目肩膀上的产品来说,这本该是首页级别的信息,而不是需要读者自己去挖的空白。开源协议的义务从来不是道德建议,是能被追责的条款。

放进坐标系里看,PCBJam想赢哪一局

Flux主打协作优先,EasyEDA主打云端为中心带客户端选项,Altium 365是企业级云平台加安全合规——三家没有一个把"完整原生KiCad、零上传"当卖点,因为它们本来就不是从KiCad长出来的。PCBJam如果真能做到"原生代码搬运"而不是"重写一层壳子",差异化就成立:老用户不用换一套工具,库和文件格式全兼容。但这张牌能不能打出去,取决于两件还没验证的事——WASM版本对大文件的性能表现,以及multiplayer上线后"本地优先"这个立身之本还能撑多久。


Waitlist邀请制通常意味着团队还在控制体验质量,也意味着商业模式没定型。免费的本地化demo和未来可能出现的付费云协作,中间那道口子怎么开,决定了PCBJam到底是"KiCad的浏览器备份",还是又一个云端订阅生意。这才是这次Show HN帖子背后,真正值得追问的问题。