原创

一个叫 Fox 的 Finder 工具

https://static.surmon.me/FjFP6eoKlnmserSMLDAILX1guauY

我在做一款产品,说它是产品,它更像一个工具,但它又真的是个产品。


截至目前,我一直用 KodExplorer 这款工具(的免费版本),它做的事就是:像使用桌面操作系统一样管理你的服务器

像我这样对 vim 不熟悉的人稍微想改段线上的代码真的很累;但我又嫌弃 KodExplorer 不可定制,样子太老旧,且没什么扩展性。

于是,我大概在 6 个月之前动身,着手打造这款工具。


一开始我的设计是:它高度耦合于运行环境和 JavaScript 编程语言,为己所用,不假设太多的通用性。

但后来想做成一款 online 的无安装的产品,设计就变成了:与任何平台、环境都无依赖关系的一款 SAAS; 用户只需要在某个特定的产品平台登录,输入你的 Linux 账密;你便拥有了一款基于你的 Linux 的 Web 操作系统, 你可以管理上面绝大部分类型文件,在线编辑文档、在线跑代码(属于你的独有的 online VS Code)、在线 Web 终端、在线发邮件、在线实时观察你的服务器性能及运行讯息... 和阿里云的 DMS 颇有几分相似。

走走停停到了今天,我浪费了太多的精力在 “无关痛痒” 的细节上,导致核心功能一直滞后。

在 8 月末,我购买了 foxfinder.io 这个域名。

没有抄袭 FireFox 的意思,Fox 代表敏捷、灵敏、快速,Finder 代表发现者、探索者, 与 OSX 的 Finder 同意,有文件管理器的意思, io 域名是因为偏爱,同时代表着数据的流动、人机的交互。

没有 Logo,因为我没有从零设计的能力(怕无意间侵了别人的图片版权,我都用上 PronHub 的开源设计了)。

Tips:既然为一篇文章配一个合适的封面是如此艰难的一件事,何不做一个自动匹配封面图的服务, 服务端存储大量无版权保护或购买版权的图片,以图片识别打上 tag,在 url 中传递你需要的 tags 作为参数,服务端返回合适尺寸、内容的图片,岂不轻松又高效; 也许这是个不错的点子。


现在,浪费了这么多的时间后,我想,我不应该把每晚通宵苦干的热情,浪费在那个容器的边框该一像素还是两像素这种事情上。

此刻,我对它最终的期待是:第一个版本要最低成本地代替 KodExplorer,第二个版本要最大化地完善易用性、扩展性,最终它将成为我(每一个使用者)的集控中心。

受益于我的习惯,这几个月每个地铁时间的思考和变化,我都记录了下来。

https://static.surmon.me/FtC_RKBZZz0xNHJCgLrNm2P_LtIW

那么,最终,他是什么样的?

  • 开源
  • 免费
  • 完全基于 TypeScript
  • 前端采用 React + Mobx
  • 兼容所有系统(nodejs 环境)
  • 安装 & 运行,不需要超过 3 行命令

他能做什么?

  • Finder 应用用于管理你的整个宿主机的文件资源,支持完备的鼠标和键盘行为
  • File 并不是一款应用,更像一个抽象的扩展器,用于调用不同的内置、第三方插件或库来编辑、读取文件
  • VS Code 是你在线的 VS Code,基于开源项目 monaco-editor
  • Terminal 是你的 Web terminal,基于开源项目 xterm.js
  • Monitor 是你的硬件监控器,可以实时获取丰富的系统、网络 IO 资源的讯息
  • Setting 用于系统的全局设置
  • Cloud Store 用于安装一些商店发布的第三方应用
  • 完整的 i18n 支持
  • 后期的 AnyBrowser 用于你管理自己的 S3、七牛云、阿里云、等各种 OSS 存储资源
  • AnyBrowser 后期会再扩展为支持 FTP、Google Driver、Dropbox 等资源的管理终端,操作逻辑与 Finder 一致(其实在最早,AnyBrowser 的概念是与 Finder 统一的独立的客户端单元,但我现在把它定位为一个 App,或会整合在 Finder 内)
  • App 支持用户自定义应用(包含但不限于 iframe、SandBox、Link、Shortcut...)
  • ...

有什么不一样的?

  • 没有 “桌面” 的概念,桌面的生产意义是 “临时工作区”,而在 Web 中,实现一个完备的 “桌面”,付出的成本高于实用收益...
  • 考虑到在主流操作系统下,任务栏有特定的定位,所以 UI 的布局也有特殊设计
  • OSX 的 “叠放” 这个设计很好,所以我抄过来了...
  • ...

这是现在它半成品的样子:

https://static.surmon.me/FpFvnclzLud_kEyA0tvRdnF8U6Mb


截止目前,已经碰到了许多许多值得记录乃至长篇大论的 point,也攒了很多 TODO Post,但开发的工作量远比想象得多。

如果你有贡献的想法,欢迎你的 PR,项目从属于一个 origination 项目地址

如果有建议,也可以留在这里或 Issue。

待这个系统完工之时,我会在官网更新。

预祝,用的开心。

本文于   2019/10/11 上午  发布在  宁静寺  分类下,当前已被围观  882  次

相关标签: Web开发 React Node.js

永久地址: https://surmon.me/article/159

版权声明: 自由转载-署名-非商业性使用   |   Creative Commons BY-NC 3.0 CN