我创建 SimpleTransfer 是为了满足一个非常具体的需求:快速将文件从一台设备传输到另一台设备,而无需通过电子邮件、打开 SSH 连接或安装其他工具。
01不断重复出现的两种情况
第一个用例涉及我的 iPhone 和 PC 之间的传输。为了快速移动文档、屏幕截图或文件,我经常将其通过电子邮件发送给自己。它确实有效,但不够优雅或特别实用。
第二种情况发生在不允许通过 RDP 连接传输文件的计算机上。要检索或删除文件,我必须打开 SSH 连接,然后当我有勇气设置适当的命令时使用 SCP、SFTP 或 rsync。
这些方法在技术上是完全合理的。对于这样的基本需求来说,它们根本不成比例:我想立即将此文件从这里移动到那里。
02故意简单的解决方案
因此,我决定创建一个简单、快速、临时且无需帐户即可使用的文件传输解决方案。
我不想构建一个新的文档平台、协作存储空间或 SharePoint 的竞争对手。需求更加有限:允许一次性转移,摩擦尽可能小。
因此,该界面的设计故意保持简约。用户选择文件,开始发送并立即检索必要的信息以从另一台设备下载该文件。
03SimpleTransfer如何工作?
发送文件后,服务会生成三个元素:
- 下载链接;
- 二维码,可快速从电脑切换到手机;
- 用于识别转账的令牌。
代币生成机制是由Soptimal公司的Nidal Fakih提供给我的。我要感谢他的贡献。
该文件不打算保留存储。发送后两小时,会自动从服务器删除。因此,该服务响应临时使用,而不是满足存档需求。
04原始架构
在其第一个版本中,SimpleTransfer基于两个主要构建块:用 JavaScript 和 PHP 开发的前端,然后以 WinDev API 形式公开的后端。
这个架构满足了最初的需求,让我很快就上线了服务。然而,阅读我其他文章的读者知道,我已经开始将我的 WinDev 应用程序逐步迁移到其他技术。
SimpleTransfer也因此而进化。用户可见的操作仍然很简单,但该项目已经在幕后进行了现代化改造。
05从传统开发到vibe coding
SimpleTransfer 是我最初使用经典开发方法手工完成的项目之一。
当我开始尝试vibe coding时,该项目成为了一个很好的试验场。我已经完全了解它的工作原理、架构和限制。因此,我可以具体衡量开发人员正在改进的内容,同时也可以发现他们的错误。
我借此机会使代码恢复原状,对多个组件进行了现代化改造,并纠正了历史版本中发现的各种安全漏洞。
这一经历说明了一种我认为特别相关的用途:使用人工智能不仅可以创建新项目,还可以接管、记录现有应用程序并使现有应用程序更加可靠。
06安全和服务限制
我的目标是提供临时传输,无需对文件内容进行功能分析。该服务并非旨在读取文档、从中提取信息或根据其内容创建数据库。
然而,提供任何在线转账服务作为绝对保密保证是不明智的。文件必须经过服务器,安全性取决于所采用的架构、配置、访问权限和保护机制。
两小时后自动删除限制了曝光时间。但是,它不会将SimpleTransfer转变成数字保险箱。
07为什么要免费提供服务?
最诚实的答案可能是:为什么不呢?
对于此类项目来说,域名和合理规模的托管并不意味着过高的成本。这项服务仍然很好地展示了我的工作和设计简单工具的方式。
根据该服务的内部统计,SimpleTransfer现在每年超过5,000名用户。使用情况总体上保持合理,用户不会滥用可用磁盘空间。
我可以保留该工具供我个人使用,或者仅将其托管在我的本地网络上。因为它也可以为其他人提供服务,所以我更愿意免费提供它。
08多人共建的项目
尽管我发起并开发了SimpleTransfer,但该项目并不完全基于我的工作。
徽标和视觉识别由UI/UX设计师Roger ChaudetSpatiograph.fr创建,我感谢他的高质量贡献。
代币生成系统由Soptimal的Nidal Fakih提供。
SimpleTransfer 很好地代表了我们在独立人士中工作的方式。我们定期就我们著名的晚间和周末项目交换想法、组件、建议或几个小时的工作成果。
这些很少是最引人注目或最有利可图的项目。另一方面,它们让我们能够充满激情地测试、学习和继续实践这个职业。
09小工具,却提供实实在在的服务
SimpleTransfer 没有彻底改变文件共享的野心。它通过快速、易于理解的解决方案轻松解决日常烦恼。
这正是我喜欢此类项目的原因:从一个非常具体的问题开始,构建我需要的工具,然后发现它对其他数千人也有用。
也许有一天,在我们所有的晚间和周末项目中,我们会找到一个真正能带来改变的项目。与此同时,我们继续构建、学习和分享。




评论
0 条评论暂无已发布评论,欢迎率先参与。