练手项目很难选,也很难参考,毕竟每个人的技术栈、兴趣、目的、需求等等都有巨大的差异。
比如目的,如果专注于提升技术,就会选择难度较大的项目;如果专注于赚钱,就要多花精力在平面设计、竞品调查研究、宣传上。而本文提出的例子,目的主要是满足自己的需求以及为空闲时间提供一些既有趣又没有心理压力的任务。
现在我有一个需求:需要在不同的电脑、手机之间交换纯文本(一个短字符串),包括 Windows, MacOS, Linux, iOS, Andriod, 其中包括无图形界面的服务器。
做一个满足这个需求的小工具,对于我来说最简单的就是做一个网站,由于我的需求只是传输很短的纯文本,并且是一个自用的工具,因此不需要担心传输速度、流量、服务器负荷等问题。
最基本的玩法是做一个网站,不同设备通过访问网页进行文本的黏贴、复制。
但玩法绝非止步于此,比如:
不是说这些全都做,而是可以想到很多,然后挑一些来做。我建议先做一两个简单的功能,后续再慢慢进化。
对于我来说,总设计是最关键、最难,通常也是要花最多时间的一步。
总设计的本质是做选择。一个表面简单的需求背后通常隐藏在大量选择,比如:
…… 等等。这只是一个极简单的小工具,要思考的东西算很少了,项目稍大一点要思考的因素就会指数式增长。
有人习惯先做,一边做一边想一边改,这个方法完全没有问题。我的习惯是先总体上尽量多想,让脑子里“成品”的形象越来越清晰,清晰到一定程度之后我才开始写代码。
目前,我想象中的这个小工具应具备以下特性:
如果是你来做这个小工具,你会如何决策呢?每个人有不同的决策,这正是做小工具的乐趣之一。
由于我很懒,也怕麻烦,技术实力也差,因此我会尽量选择简单、原始、直观(思维负担低)的技术栈。
比如前端我就用 JQuery, 简单到极致。我也用过 React 和 Vue, 结果发现对于一个简单的界面来说, JQuery/React/Vue 都差不多!
React/Vue 做复杂界面有优势,但对于简单界面,实在没有带来特别明显的好处。JQuery 的好处是比较轻,而且可以彻底抛弃 npm, 这使得前端构建省了很多事。
当然,这是因为我不太爱玩前端,对于爱玩前端的人来说选择就完全不一样了,这需要根据自己的喜好、技术背景、目的来选择。
后端我选择 Go, 因为用 Go 做的小工具(小网站)是最容易发布的, 现在做项目通常都会使用 GitHub 之类的代码仓库,而仓库地址就是 Go 项目的发布渠道,完全不需要额外的操作,而且又能打包为一个免安装的可执行文件。
再加上 Go 占用的资源极少,我只需要一个最低配置的 VPS 就能同时运行一大堆小工具。
容易发布 /部署、运行资源少、编译速度快、web 框架很轻但也够用,同时具备这几大优点的语言也只有 Go 了吧?(当然,如果做大项目, Go 的优势就不明显了,主流语言能够成为主流,各有各的好。)
这个小项目我现在开始做,后续想到什么再补充吧。
有了新的想法:专门为 txt-CLI 工具提供永久保存功能:
txt save [n]
可以把第 n 条消息转为永久保存,不会被自动删除。 1
rekulas 2022-02-13 22:50:44 +08:00
|
2
supercaizehua 2022-02-14 00:15:00 +08:00
|
3
abc8678 2022-02-14 07:58:06 +08:00 via Android 1
我也经常被文本传输困扰,有些内容不宜通过聊天工具传输。用蓝牙或 U 盘传文本也小题大做了。于是平时用二维码生成器应付一下
|
4
SuperMild OP |
6
catsoul 2022-02-14 09:11:19 +08:00
这个功能我记得以前有一个叫“方片”的工具,支持跨平台(包括桌面端和移动端)复制粘贴。后来 iOS <-> OS X 自带互通,各种安卓系统跟自身厂家有 NFC 近场传输后,就基本没有使用这个工具了。
当然类似工具其实很多了。 |
7
SuperMild OP @catsoul 印象中见多很多同类工具,但都不支持无图形界面的 Linux 。
我这个不仅支持纯命令行,而且还打算给命令行增加一些方便的功能,比如: - 列出最近 5 条云剪贴板消息 - 指定复制第 n 条云剪贴板消息 - 搜索云剪贴板消息 - 通过别名精确指定云剪贴板消息 |
8
supercaizehua 2022-02-14 11:21:17 +08:00
想起来还有一个多平台的 app, 快贴, 能支持图片, 之前听网课的时候, 喜欢一遍听一遍 ipad 做笔记, 然后电脑截图通过快贴拖到 ipad 的笔记软件中
|
9
abc8678 2022-02-14 16:07:18 +08:00 via Android
我以前也问过跨网络跨平台传递文本的问题,当时把希望寄托在外设上。打算一台电脑给另一台电脑模拟键盘输入内容,也没问到太多有效的办法。平时的使用场景是,复制粘贴命令到网络不通的 Linux 终端。我用那个类似于幽灵键鼠、badusb 的方法勉强解决了,就是一个外形想 U 盘的设备。一台电脑通过一个软件写内容,然后插入另一台电脑,就一键模拟键盘敲出这个文本。然而不灵活,明显就不能支持中文。
当时的问题 https://www.v2ex.com/t/811853 |
10
vst93 2022-02-14 17:58:20 +08:00
自己写的用的 https://meimingzi.top
|
11
SuperMild OP |
12
xiqishow 2022-02-14 18:59:35 +08:00
ppzhilian.com 挺好用的
|
13
SuperMild OP @xiqishow 以前我只知道 snapdrop, 但 snapdrop 貌似受限于局域网,现在才知道 PP 直连,好东西呀。
|
14
wdssmq 2022-02-27 14:59:31 +08:00
所以吐槽下,,win 自带的剪切板同步从来没成功过。。- -
|
15
SuperMild OP |