如何一个人从0到1实现一款app产品

漂泊80

共 2988字,需浏览 6分钟

 ·

2020-07-30 23:57

本文为本人作为个人开发者总结的一点经验,所要聊的都是平时用到的一些技术,大部分是为了实现功能自学,技术深度上与大厂的无法相提并论,仅以实现功能为目的出发。


有了一个idea,想要变成产品,其实完成这样一个任务并不难,只需要毅力与时间,但对于如何让产品获得成功我至今没有答案,还在摸索中。


下图是我回忆自己开发过程中大概涉及到的解决方式,条条大路通罗马,每个人都需要选择适合自己的,仅作参考。


dVmTC89K8A.png


当我头脑中有了一个想法并想实现它的时候,流程如下


1.简单的调研。


前提条件是你没有优秀的技术团队,没有流量资源,没有雄厚的资金支持等先天优势。


那么如何验证自己的想法是否靠谱呢,可以借助很多方式,如果你的产品没有自己的流量来源而是要和一众产品厮杀,可以试试如下方式。


1).借助禅大师,七麦数据等分析平台,搜索类似产品,看下下载量,评价等。


2).微信指数小程序,搜索下关键字微信指数,如果指数达到了你的心理预期,则需求存在。


3).各大应用平台内关键字搜索同类产品,看下载量和评论。


这步基本就是看下产品是否成立,受众怎么样,分析竞品。


这里也许有人会说,我的想法独一无二,目前市面上还没有同类产品,那我觉得该恭喜你,如果你的产品逻辑ok,何不按照自己的思路实现出来交给市场验证。但绝大部分想法都会有同类产品已经出现,除非你是世界上少数的聪明人。


如果同类产品非常多,说明大方向没错,但是很多人已经走在了你的前边,这时就要考虑要么你的产品足够优秀,可以脱引而出,但对于一个人来说难度较大,要么你的产品有自己的唯一不可替代性。毕竟一个很残酷的事实是,关键词搜索流量的相当大比例只给了第一页。


如果同类产品非常少,但是评价很少,说明用户量不大,需要慎重,如果评论很多,则需求存在。而且评价还有一个非常重要的用处,可以分析自身和竞品的缺陷与优势,取长补短,帮助自己完善想法。


2.初步构思。


经过初步的验证,想法ok,便可以构思产品,我习惯用思维导图来梳理和完善逻辑,发现问题。


构思产品的初步模型,确定UI,能设计流程图最好,借助墨刀,Axure RP 等,或者采用你喜欢的方式,我其实是没有做设计流程图这一步的,能力有限,而且不太喜欢在这上花太多时间。


3.技术选型。


我最早几年年采用的技术选型是服务器用nodejs,客户端用react native。这样选择的原因是开发语言学习上不需要花太多的时间。客户端使用rn没有使用原生的原因也是因为rn就可以满足我的产品需求而且性能还不错,节省时间成本。但不得不承认我在rn上花了很多时间去填坑,这也是我目前新产品改用flutter的原因,而且老的项目我也在逐步迁移到flutter上。


对于app前端跨平台语言的选择上,需要考虑,性能是否ok,与原生的交互,使用的人数,文档的完善度,社区活跃度,学习成本,综合考虑选择适合自己的就好。


4.开始编写


app端涉及的包括UI,数据存储,网络,推送,异常捕获,数据统计,云控系统,版本控制,当然有些产品还需要某一方面极强的专业性。我的原则是能用三方的尽量用三方,把时间节省出来,而且我不认为自己实现的会比市场上验证的三方更好。但我不会因为时间问题而去省去其中某一部分,尤其是数据统计,看似可以忽略却对产品后续至关重要。


服务器端我不敢提及太多,因为服务器端我基本都是自学的,很初级,紧紧停留在能用的阶段,说实话,我希望有一天我的技术支撑不了我的产品,那说明用户已经达到了一个量级,那时我会去寻找优秀的人帮助。


编写过程中,首先保证稳定性,可扩展性,如同武侠片中,我更喜欢稳扎稳打,简单有效而不是眼花缭乱的招式,我可以在实现方式上偷懒,但是我不会在功能逻辑上偷懒,尽量在设计功能上做到最大化的动态控制,这里忽略了安全性,原因是我对安全性方面理解还不是很透彻。


语言本身只是一种工具,更重要的是思路,有了思路后要做的就是使用相应的语言实现方式,毕竟语言都是给人用的,不存在会与不会的问题,学习时间长短确实是有差别的。


对于遇到难题,可以解决但需要花时间的问题,假如有其他方式解决,我会选择退而求其次,有些也可以从设计上作出让步,这也是我喜欢一个人编程的原因之一。


第一个版本上线时间节点很重要,尽量只完成核心功能,这样做好处是缩短开发周期。可以尽快让市场去验证,而且用户反馈可以让你及时作出调整,还能调动你的积极性。至今仍然谨记曾经一位老大说过“小步快跑”。


我觉得这比把一个产品做的自己觉得完美再上线更好。而且开发周期越长,人的耐心会越小,很容易出现半途而废。打磨产品本就是一个漫长且磨人心智的过程,如果能获得用户反馈,无论认可或者批评都会给人很大动力。


现阶段,我基本不会去提前做技术储备,基本都是遇到了问题才会去网上找实现方式,而且选择的大都是简单初级的方式,这确实比较low。


5.产品完成,部署服务器,申请域名,准备上线。


苹果审核涉及到技术网址,隐私政策,而且谁都希望自己都app最起码有个下载页,对于提高产品都逼格是有帮助的,所以最好申请个心仪的域名。还有就是小程序需要支持https的域名。服务器的选择,我使用的是阿里云,还是一样选择适合自己的。


关于服务器的运维是需要了解学习一下的,即使有人可以帮忙,最好也还是自己来维护会比较方便及时。


很高兴,终于到了提交这一步,目前安卓渠道原则上都需要软著,正常申请周期3-5个月,涉及支付等敏感功能等还需要公司资质,这些最好也都提前了解下。


提交平台,app store的提交流程相比android会麻烦些,应用宝,百度对软著要求比较严格,应用宝第一次审核通过后,后续版本审核会比较快,有时甚至几十分钟过审,一般也在几小时以内,百度,阿里联盟一般在一天以内,小米平台拒绝盒子类app审核,应用截图有改动必须及时更换。如果能申请某个平台的首发对初始流量获取也帮助很大。android平台众多,其他渠道我了解不多。


6.产品上线,刚刚开始


当app过审,用户开始下载使用,服务器一条条日志输出,一个产品的生命才刚刚开始,当我看到后台一条条日志输出时,觉得那就像流动的血液。至此也就是完成了从0到1的过程,后边是从1到100,我觉得相比于从0到1,从1到100才是给我们最大到挑战,这也是我一直在摸索和学习到阶段。


aso可以帮助更好获得流量,如果你的产品关键字优化到第一页会有可观的流量。


切勿重技术轻运营,没有孰轻孰重。


尽可能找到好的流量获取入口,有效的引流。


7.有时也许可以改变一种方式


验证一个想法没有必要非得依赖app,毕竟开发周期比较长,可以尝试使用小程序去验证,周期会缩短,甚至有些想法完全可以通过社群等简单方式去论证,当可行后再开始也许更合适。


以上是我总结自身的一点点经验,希望可以对你有所帮助,最近我在思考一个人如何高效的运营自己的app,这其实是我遇到的一个问题,我没有办法把有限的时间同时分配给产品的运营和技术开发,所以希望可以找到行之有效的方式。



浏览 23
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报