时隔2年,把这篇文章拿出来,稍作修改。

本文仅从个人作为一个三流跑偏程序员的角度思考,而且对待产品的认知和思维也比较初级,实现方式也比较草根,没法与真正的大型项目相提并论,其中有些观点也可能是错误的,希望不要对他人产生误导。

关于这个问题,每个人都有自己的答案,一个人的不同阶段,也有不同的答案。

其实完成这样一个任务并不是特别困难,只需要毅力与时间,但对于如何成功完成我至今没有答案,还在摸索中。

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

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

1.简单的调研。

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

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

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

七麦数据,蝉大师等三方网站搜索下关键词,看下同类应用中出色产品的下载量,大概能估计出这类产品的市场份额。

各大应用平台关键字搜索同类产品,国内市场仅作参考吧,App Store,Google Play上看下竞品下载量,还有评价,评价里会有很多有价值的信息,对你完善产品很有帮助。最好可以下载一些竞品,用一用。我平时比较喜欢看看应用市场,看一看排行,评价。

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

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

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

2.初步构思。

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

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

我也喜欢在站酷上找相关素材,不单单会提供素材,在产品上也会有启发。

3.技术选型。

2017-2019年采用的方式一直是服务器用nodejs,客户端用react native,这样的原因是开发语言学习上不需要花太多的时间,只要会js,就基本可以上手。客户端使用rn没有使用原生的原因也是因为rn就可以满足我的产品需求而且性能还不错,节省时间成本。但不得不承认我在rn上花了很多时间去填坑,2019年之后开始使用flutter,对于2者的好坏,我不做评论,选择适合自己的,我的情况是目前新产品都是用flutter开发,旧项目也有几款使用fluter进行了重写,比较习惯使用flutter。

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

4.开始编写

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

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

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

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

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

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

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

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

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

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

关于服务器的运维是需要了解学习一下的,服务器部署,更新,重启,查看错误日志。即使有人可以帮忙,最好也还是自己来维护会比较方便及时。

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

提交平台,app store , google play 不需要软著,google play应用如果包含极光推送需要接入专门的google play版,包含优量汇广告的应用也会被拒绝。国内市场对软著要求比较严格,审核周期一般都比较快,没问题一天以内,部分市场拒绝盒子类app审核,应用截图有改动必须及时更换。如果能申请某个平台的首发对初始流量获取也帮助很大。adroid平台众多,其他渠道我了解不多。

内测的话,蒲公英和fir.im都是不错的选择。

6.产品上线,刚刚开始

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

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

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

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

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

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

之前有看到过国外产品的经历,产品支出,开发者只做了一个官网,询问用户是否感兴趣,感兴趣的用户可以留下自己的邮箱,当看到有一定数量的人开始关注之后开始真正做这款产品。

8.个人开发门槛也在升高

相对于前几年个人开发的门槛也在升高,app在国内应用市场发布需要软著,我申请了几次,不需要费用,但是每次大概等上3个月。虽然找中介速度很快,但是费用这块也是问题,单单只是一个app还好,但是开发的多了,这个费用也不少。服务器费用,域名费用,图床费用,开发者账号费用等等。

除了软著之外,还需要icp备案,部分还需要电子软著,后边我再开发的新产品,只能是先发布AppStore,Google Play,感觉数据可以再申请软著发布在国内安卓市场,部分市场已经不允许个人资质发布社区类应用。

还有比较致命的一点是,穿山甲,优量汇等广告平台,都需要企业资质,而且创建广告位需要软著,这起码对于我来说比较难搞。

虽然种种限制,会让市场正规化,是好事,但是同时确实会影响到一部分像我这样的人。

9.活下去才有希望

很多不错的产品,可能因为没有找到盈利点,不能维持长期生存而半路腰斩。我们在尽量完善产品的同时,争取让它能够活的更久。现在,同类型产品众多而且差距不大,即使你的产品中途停运,用户也能迅速找到替代品。

其实目前对于产品盈利这块,我也没有做的很好,唯一的盈利方式就是广告,而用户对广告又很反感,这个找不到完美的解决方式,只能尽量平衡,好在,相对于团队开发,个人开发效率专业度虽然处于下风,但是维护成本相对低很多,在产品没有太好起色的时候,能够撑的更久。

以上是我总结自身的一点点经验,希望可以对你有所帮助。

一个人如何开发一款app?(2020修改版)相关推荐

  1. 个人或者企业怎么进行app开发?开发一款APP应用大概须要多少钱?

    App开发.是指专注于手机应用软件开发与服务. App是application的缩写,通常专指手机上的应用软件,或称手机client.另外眼下有非常多在线app开发平台.当然移动互联网时代是全民的移动 ...

  2. 开发一款APP需要阿里云服务器多大配置

    开发一款APP需要阿里云服务器多大配置 什么是APP? Application简称(APP)是手机软件的简称,可以安装在智能手机软件上,以改善原始系统的不足和个性化.使手机完善其功能并为用户提供更丰富 ...

  3. Android新手如何学习开发一款app?

    毫无疑问,开发一款自己的App对于初学者来说,无论从技术学习,还是找工作(或者装x),都是一大利器.那么如何才能快速上手,开发一款属于自己的app.本篇文章仅以自己的一些经验给更多的Android新手 ...

  4. 从0 到1开发一款App(二):产品

    我们先回顾一下上篇文章,上篇文章中我们主要讲了四个部分的内容,分别是自我介绍.产品.开发<麻雀笔记>的初衷以及开发一款App的难易等问题.还没看过文章的朋友可以点击链接阅读: https: ...

  5. 开发一款app软件需要什么样的服务器

    现今互联网时代,人们的生活已经越来越离不来手机了,随着智能手机的普通,也催生了各种各样的APP应用程序,像QQ.微信,淘宝.美团.抖音.游戏等已经成为了只能手机的必备配置.这些APP数据存储在哪里呢? ...

  6. 开发一款APP需要多少钱

    开发一款APP:需要多少钱 很多想做APP开发的客户,首先就是问价格,但是真正懂技术的就很难直接去回答.由于App的性质不同,导致了功能设置不同,那么开发的难易程度不同也决定了开发成本的高低和时间的长 ...

  7. 测试手机型号的软件,世界上有这么多型号的手机,开发一款App,该如何做测试?...

    如题,世界上有这么多型号的手机,苦逼的创业者开发一款 App 后,该如何做测试才好呢?某种意义上,早在 2011 年就成立的手机游戏及手机应用云测试平台"Testin云测"就是解决 ...

  8. 个人或者企业怎么进行app开发?开发一款APP应用大概需要多少钱?

    App开发,是指专注于手机应用软件开发与服务. App是application的缩写,通常专指手机上的应用软件,或称手机客户端.另外目前有很多在线app开发平台.当然移动互联网时代是全民的移动互联网时 ...

  9. 从0到1开发一款App(一):前言

    大家好,我是<麻雀笔记>App的开发者,随着新版本的上架,我也萌生了写一系列关于如何开发一款App的文章,这个系列打算就叫<从0到1开发一款App>了,是不是感觉很土low,没 ...

  10. 简单的安卓app小程序代码_开发一款APP大概需要多少钱?

    伴随着近几年移动互联网的飞速发展和智能手机的普及,为了更好地进行品牌营销和线上交易,越来越多的企业想要开发属于本身的手机app,所有企业在开发APP之前最关心的题目就是"开发一款手机APP到 ...

最新文章

  1. OpenCV+python:模板匹配
  2. PCL—低层次视觉—点云分割(基于凹凸性)
  3. java cglib jar包_Java面试题|反射必看的4道面试题
  4. 终于找到程序员无休止加班的原因了
  5. 【常识】高尔夫计分规则
  6. mxnet基础到提高(49)-使用免费的云jupyter
  7. Django13-ModelForm中的is_valid及局部钩子、全局钩子源码解析
  8. JS获取本周、本季度、本月、上月的开端日期、停止日期
  9. xml不利于调试_流利的接口不利于维护
  10. Java代码样式运算符换行格式
  11. 我的世界末日之后无限法则服务器,《我的世界》全新玩法无限法则上线
  12. excel函数怎么用android,在Android中阅读Excel
  13. 爱因斯坦耗费近十年的最伟大研究,推导出什么神预言?
  14. 动态规划 1.背包问题
  15. AWS 人工智能黑客马拉松正式开启!用实力演绎科技向善!
  16. AngularJS学习(一)
  17. SQL常用的几个窗口函数
  18. Java正常关闭资源的方式
  19. matlab中 mcc、mbuild和mex命令详解
  20. 跨库访问-dblink

热门文章

  1. jupyter notebook环境配置
  2. github 邮箱_GitHub基本操作(一)
  3. sony电视遥控器android,听说,索尼电视遥控器还能控制机顶盒!
  4. 搭建静态的响应式个人官网
  5. 计算机音量控制器打不开,Win10系统音量控制打不开的解决方法
  6. 自学编程有哪些困难和障碍?
  7. WeOpen Talk|张亮:正确理解开源的意义,迸发开源潜力
  8. 顽皮的雪狐七七:CSS——清除浮动所有方法总结
  9. 计算机科学技术的广告语,赞美科技的句子-十大经典深入人心科技类广告语
  10. xp系统打开internet服务器,WinXP电脑Internet选项打不开的解决方法