怎么开始一个属于自己的小“项目”呢?

2022-02-12 15:39:11 +08:00
 rsonghao

工作之余总想写点什么,像别人写点什么小玩具、工具类、个人 APP 之类的东西。但是总是不知道要怎么开始。

很大的原因是不知道要开发一个什么东西,只是单纯想写写属于自己的代码。就像拍照一样,虽然不能将自己的照片称之为什么艺术品,但是它记录了我的生活。

另外,顺便想再问问看源码、看开源项目又该怎么开始呢?

11461 次点击
所在节点    程序员
71 条回复
ferrum
2022-02-13 03:02:23 +08:00
从自己的需求出发是最常见的做法,只解决自己的问题,然后推测也有很多人会遇到同类问题,继续改进产品。

另外一个是改善现有产品。想想你经常要用的工具有哪些,日常使用的时候,它们是否仍欠缺你所需要的功能?

这些工具可以是一个桌面应用、一个网站、一个浏览器插件、一个小程序、一个手机应用,甚至是某个应用内的一个插件,如 Obsidian 插件、Raycast 插件。

当然想搞开源的话也可以,但我觉得写 to C 应用较容易有正向反馈,因为更容易找到用户。
ferrum
2022-02-13 03:05:45 +08:00
另外一点是,如果你本身不是爱折腾工具的人,那你可能要先从这点开始改变,先去折腾一下。

比如你如果连剪贴板工具或启动器都没有,那你应该先开始折腾一下这些工具。
dayeye2006199
2022-02-13 03:30:32 +08:00
我会经常去 dev.to 和 devpost 上看有什么好玩的 hackathon 。通过参加 hackathon 经常能学习很多新知识,我对 web3 ,Alexa 语音助手的了解都是参加上面活动来的。做过一个项目,哪怕是个玩具,也比只看教程之类的来的体会深。
同时还弄了不少体恤衫,马克杯,贴纸等重在参与奖的奖品
caryRowen
2022-02-13 07:56:16 +08:00
要不了解下这个开元项目,视障者的必备软件屏幕阅读器 https://github.com/nvaccess/nvda
有很多带解决的 issue
xiaopc
2022-02-13 08:29:24 +08:00
要想做用户量大的工具,多逛逛*非*开发者社区,看看普通人的需求,最好是细分需求(因为有大量需求的产品应该有人做过了)
要是纯练手,就造轮子,照着开源项目造
allanpk716
2022-02-13 09:47:35 +08:00
1 ,你有什么需求
2 ,市面上有什么工具能够大方向满足
3 ,试用,多用
4 ,不满足的话就评估是否可以一个人做出来
5 ,动手,随便写
liufish
2022-02-13 10:36:15 +08:00
1. 需求分析
找自己或者别人的需求,分析一下是真需求还是伪需求。其实是在预估潜在用户数量(用户越多越兴奋)
小心求证,看看可行性。
在市场上找是否有类似产品,试用和分析其他产品(竞品)。

2. 技术论证和可行性分析
如果需求的技术点不在自己的能力范围内:
判断这个技术是否自己喜欢的方向
判断这个技术是否是工作需要的

一方面分析技术上是否可行,另一方面分析自己是否愿意坚持下去

> 如果发现这个项目值得,那就去做吧

3. 有始有终
至少做出一个能展示给陌生人看的东西,或者是一份详细的 readme
romisanic
2022-02-13 10:39:56 +08:00
@javahuang 原来这个项目是你的,原来做问卷这块的调查的时候,还专门研究过,很棒的作品,谢谢作者
GG668v26Fd55CP5W
2022-02-13 10:47:23 +08:00
怎么可能一点想法都没有?谁偷走了你的好奇心
EvanLuo42
2022-02-13 10:55:46 +08:00
我倒是有个需求 Apple 生态的输入法不是词库不好就是没法跨端 我在想要不要把 rime fork 下来做一个 UI 好看词库好用不卡可以跨端的输入法
chunqiuyiyu
2022-02-13 11:17:17 +08:00
从身边工作和生活上的需求出发,我经常会有一些想法,然后有时间精力就用代码实现出来,回头看看还真做了不少东西,加油楼主!
skys215
2022-02-13 11:38:51 +08:00
练手: https://projectlearn.io/

需求: https://www.reddit.com/r/SomebodyMakeThis/

点子很多,但如果不去实现,那这点子就没有价值了。

* 首先需要确定这个工具能解决什么问题
* 竞品分析。了解同类工具,他们做了什么,没做什么。他们的优点缺点,以及你的产品能怎么弥补他们的缺点
* 确定你的项目要做的功能,确定如何实现这些功能。例如,想做个图片转 ascii 字符画的工具的话,图片->灰度->对应字符(只是随便举个例子,我没做过这种应用,不确定具体过程)。图片怎么转灰度,需要分成多少级,每级对应哪个文字?需要把核心功能的实现方法确定,免得到要做核心功能时候发现实现不了或很难实现。
* 准备。确定用哪些工具去完成。例如,语言、三方平台账号、服务器。也不是说一开始就要买,但至少了解一下价格、备案、是否需要申请许可证(游戏版号 /视听许可证 /牌照)、法律上是否允许(超过三层算传销、非法集资、四方支付等),发布(注册苹果安卓开发者账号、微信支付宝等各平台小程序需要什么材料、付多少钱、个人账号是否拥有足够权限实现你想用的功能),运营(如果是 UGC 平台怎么激励用户发布内容保证活跃度;如果是新闻类的 app ,怎么更新新闻;和用户保持互动,倾听用户建议及反馈),维护( https 证书更新、数据库备份)等。
* 画原型。你的项目有哪些界面 /页面,以及页面间的关系。如果是列表,允不允许列表为空,列表为空的时候怎么显示,有没有最少条数显示要求?最多呢?分页怎么操作?代码层面上方便实现吗?等等问题
* 设计。如果会设计就设计,不会设计就找人设计,没钱请人设计就凑合,或者跳过。
* 排期。先做 MVP (最小可行性产品),只做最核心的功能,把多余的、花哨的功能先一律砍掉,放到第二个版本或者更后面去完成。给自己定一个死限( deadline ),也可以公布出来让自己有点压力。每天不管花多长时间,都给这个项目做点改变。即使是修改错别字,或者格式化代码都可以。只要有一天断开了,那后面也很容易给自己找借口把代码放一边,最后不了了之。
* 写代码。先从基础部分写,例如用户注册登陆。
* 发布。在不同平台可能要准备不同尺寸和格式的 logo 、软件简介、软件截图等。在自己网站发布的话,需要想好宣传文案,如何展示软件功能。
* 推广。在应用市场、自建网站、论坛发帖、公众号小红书抖音、发朋友圈、微博、群、论坛等地引流,但注意不要宣传过度,也不要夸大宣传。
* 运营。如果是内容类的话,需要发布内容或者审核内容等。工具类就可能要留意使用的 API 需不需要续费,或者有没有过期之类的。
* 维护。
* 迭代。把在第一个版本没能完成的功能陆续添加上。在第一个版本的 bug 也需要修补。

我是写网站的,其中一些建议可能不适用于你的情况,仅供参考。自己也才刚从 0 做了个工具类小程序提交审核,也没什么发言权。但希望我所思考的内容能给予你帮助。
Dashit
2022-02-13 11:48:24 +08:00
https://apps.apple.com/cn/app/id1596241644
SwiftUI 练手写了一个 App2w 用户了
Kaciras
2022-02-13 11:52:03 +08:00
reallittoma
2022-02-13 13:08:33 +08:00
写自己需要用到的东西,比如过年期间我写了一个显示网速的小工具:
https://littoma.cc/NetSpeedCat/
agagega
2022-02-13 13:15:17 +08:00
苹果平台有一帮功能不多,价格死贵甚至还玩订阅制的 App ,你只要实现他们最核心那点功能,免费或者只收一点点钱,除了少数派某些作者,大家都会买你的账的。
xx19941215
2022-02-13 13:43:21 +08:00
@bojue 注册登录一下
mokong
2022-02-13 14:06:48 +08:00
可否说下有哪些,我来试试能不能做
yaoyao1128
2022-02-13 14:12:50 +08:00
搭建一个 https://github.com/ArchiveBox/ArchiveBox 之后收集一些信息进行摘抄之后分享?
nonwill
2022-02-13 15:42:44 +08:00
基础扎实:
1. 有明确的目标,自启新项目去实现,分享自己的 idea 抑或是产出
2. 只是闲不下来,找个有名气的烂尾楼来维护 -- 别太在意他人的眼光
https://t.hk.uy/aMjY
基础一般:
别急着盖楼,以学习的心态参与维护协作 -- 耐心吸取他人的建议,但别太在意他人的眼光
https://t.hk.uy/aMjS
https://t.hk.uy/aMjU

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/833407

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX