Pharo转JavaScript工具
PharoJS 是一个面向 Pharo Smalltalk 的开源开发基础设施,核心主张是“Develop in Pharo, Run on JavaScript”。它允许开发者在 Pharo IDE 中编写代码,并将应用运行或导出到 JavaScript 环境。文本明确提到它可用于 Web 客户端和服务端开发,也可支持基于 Apache Cordova/PhoneGap 的跨平台移动应用。
PharoJS 的价值在于把 Pharo 与 JavaScript 生态连接起来:开发者可以复用和扩展第三方 JavaScript 库,示例包括 MatterJS、D3JS、ThreeJS。它支持 DOM 对象创建、JavaScript 对象字段与方法调用、事件监听、JavaScript globals、polyfill、NodeJS 模块访问等机制。开发期通过 WebSocket bridge 连接 Pharo image 与浏览器,并使用 proxy 表示浏览器端对象;生产代码中不包含该 bridge。
项目完整代码及多个示例发布在 GitHub,采用 MIT License,官网说明可不受限制地用于任何目的,因此定价模型可视为免费开源。文档方面,官网提供安装、FAQ、Doc、Bug 报告、贡献流程和 Live Demos。FAQ 内容相当深入,覆盖 bridge、proxy、回调、polyfill、Node、浏览器安全问题,以及 PharoJS Smalltalk 与普通 Smalltalk 的差异,技术透明度较高。
优点是开源自由、能复用 JavaScript 生态、覆盖浏览器/Node/移动端,并保留 Pharo 开发体验。缺点也明显:它与 Pharo 编译器耦合较深,版本支持复杂;文本只明确当前支持 Pharo 7、Pharo 8,Pharo 9仍是后续计划;与 Seaside 的集成是实验性方案,会产生冗余 JS;此外不支持 thisContext、become:、primitives、processes 等,数字和集合行为也与普通 Smalltalk 存在差异。
PharoJS 更适合已有 Pharo/Smalltalk 基础、希望将应用部署到 JavaScript 生态的开发者、研究人员和开源贡献者;对主流前端团队而言,TypeScript/JavaScript 直接开发可能更低门槛。中国访问情况正文未提供,GitHub、Discord、Slack 等依赖在国内可能体验不稳定,但不能据此判定官网连通性。支付方面无商业付费信息。替代路径包括直接使用 JavaScript/TypeScript、Node.js、Pharo Web/Seaside 或其他 Smalltalk-to-JavaScript 工具。
本测评基于公开资料整理,不构成购买建议,请以 pharojs.org 官网实际信息为准。
开源开发工具,可用Pharo开发并运行到JS。
评分明细(分布与用户短评)接入中。当前展示 TG4G 综合评分,数据源自公开测评与用户反馈。