关于app开发:我花了5年时间开发一款APP

22次阅读

共计 4188 个字符,预计需要花费 11 分钟才能阅读完成。

前言

软件名称:描生
下载渠道:官网(最新)或 腾讯利用宝

我是来自辽宁的 91 年的清淡大叔,15 年来到北京从事软件开发工作,因为工作的关系,平时总想着什么时候为本人也开发一款软件。16 年及 17 年春冬那段时间每周末都会去爬香山,有一次在山顶翻照片时忽然产生了一个想法:我每周都来爬香山,手机拍的照片本人都分不清是哪次拍的了,而后我再去了其它中央拍照片,一些没有显著标识的照片甚至都不晓得是在哪里拍的了,我须要一款能为照片或视频记录时间、地点以及自定义标签的 APP。我搜寻了下市面上的 APP 都不太现实,那我何不本人开发一个这样的 APP 呢,即便他人用不上这个 APP,我本人必定是用的上的。

构思

既然是开发一款 APP,我就须要好好构思下都应该有哪些性能。首先用户体系是必不可少的,而后须要公布内容,内容都有什么模式呢,常见的有文本、图片、音频、视频,那这些我就都要反对。而后还有地点和工夫。对于工夫,当初大部分 APP 公布内容都会记录公布工夫,然而很多时候咱们要公布的内容并不是以后工夫的内容,比方是从敌人那里发来的前年拍的照片,再比方忽然想起了过来的一件事件须要记录下来。所以工夫这里我须要别离记录公布工夫和产生工夫。除此之外我还须要为公布的内容加上标签,比方我当初始终爬香山,之后我必定会再爬别的山,我就能够加上标签“爬山”,之后依照“爬山”标签进行搜寻,我什么时候爬过什么山拍了哪些照片和视频都会高深莫测。
另外除了本人的回顾外,好多时候拍到美景还须要与大家分享,所以还要辨别本人和所有人可见的权限。这个 APP 还应该记录历史事件以及新闻事件。还要依据其它人的反馈来增长热力值,从而造成一张热力求,使用户一进入到这个 APP 就晓得当初大家的关注的焦点在哪里。

2017 年 3 月 7 日

这是能追溯到的动工的第一天,我用“Gitee(码云)”创立了我的项目,因为本人应用 php 语言,后端选用了工作中相熟的 yii2 框架。前端之前应用 html5plus 开发过苹果端的 APP,所以这里还是持续应用这个语言。这个语言开发进去的 APP 能间接跨平台别离在安卓和苹果上运行,但因为不是原生语言,性能上有一些损失。
我过后并没有预计这个 APP 多久会开发完(兴许过后晓得会花 5 年的工夫必定会放弃的),也没去关怀这个点,过后花了好长时间在前后端框架上,总想着应用最高级最优雅的形式去实现它。即便 APP 开发不成,我也算练手了。
然而进度比料想的慢很多,尽管每周末都会花工夫去写,然而效率很低,其次要起因还是没有具体的布局,也没有设计原型,很多工夫都是用来发愣思考。剩下的开发工夫又更多的在钻研框架,当学习到一个新的点,马上又回来批改曾经写好的性能。

2017 年中

我在北京东方时尚报名了驾照学习,因为素日还要下班,所以报的是假日班。我住的的中央离校区十分远,每次我要先坐 50 分钟的地铁去换乘班车,而后再坐一个小时能力到。这样每周末我 9 点就要出门到早晨 8 点才回来。
那段时间尽管在家就会开着电脑,但基本上整体进度都处于停滞不前的的状态。等到 11 月份的时候终于拿到了驾照。但在这期间,我在单位接触到了 docker。这个离奇的事物深深的吸引了我,它号称是“构建一次,可在任何中央放运行”。而后接下来的几个月的时候里,我所有闲暇工夫都放在了 docker 上。我是想先用 docker-compose 创立一套 lnmp 环境:https://github.com/yinfuyuan/…,而后再用这套环境来持续开发我的 APP。但就在我学习构建的过程中,我发先 nginx 和 php 都有基于 alpine 的版本,镜像文件特地小,就几十 M,唯独 mysql 没有 alpine 版本,镜像文件要几百 M。而后我就不自量力的要本人创立一个 alpine 版本的 mysql:https://github.com/yinfuyuan/… 和 mariadb:https://github.com/yinfuyuan/… 那几个月基本上每个周末都会不停的调试这两个库。我记得特地分明的是冬天的时候特地冷,我老婆在旁边看手机,我就始终坐在电脑桌前裹着厚衣服在那调试。饿的时候就进来买两个鸡蛋灌饼。一天很快就过来了。
但到最初,这两个版本其实也是勉强能运行起来,有没有其余问题也没有方法去发现和解决。之后也没有再持续更新和保护这些我的项目。

2018 年 5 月

因为工作的起因我开始接触大数据生态的相干组件,也仅仅是理解概念和用法。然而我始终想本人搭建一套测试环境用来测试和配置参数调优。于是我就又用 docker 创立一个我的项目:https://github.com/yinfuyuan/… 又开始不停的调试。这个我的项目继续了 3 个月后,终于意识到本人跑偏重大,于是开始从新把注意力放回 APP 开发上,APP 开发了一段时间后当应用 html 接入了 mapbox 的热力求的 demo 后,发现卡顿重大,加上本人应用 html 做的界面切实本人都有点看不下去了,这让我对是否还有必要持续开发产生了狐疑。好在是在这期间因为工作的起因我重新学习了 java(很早之前做过一段时间 java),于是毅然决然的决定放弃 htmlplus 开发,开始自学安卓进行开发。

既然前端框架换了,那就罗唆一步到位,后端的 php 框架也从 yii2 换成了 laravel5.5,这个时候我还没用过 laravel,只是想通过这个 APP 一边开发一边学习。因为两个框架之间用法差异较大,在 yii2 中破费几个月学到的高级个性一个都带不过去。这个阶段处于前后端齐全从新开始写,而且前端语言框架和后端框架都是从 0 自学的状态。状态可想而之。

那段时间十分苦楚,不仅要不停的切换前后端的开发环境,更要不停的调整本人的状态,然而我那个时候的状态并不好,一个很小的对登录信息进行可逆加密的算法要写上整整一周。

但即便这样也没能坚持下去,尤其是曾经破费了这么长时间还处于一个起始阶段,慢慢的开始利用休息时间玩会很久不玩的王者光荣,随着工夫一周周的流逝,每周在王者光荣上花的工夫也越来越多,最初到整个周末都用来玩游戏

起初又和敌人一起玩起了手游吃鸡,每天和各种好友四人组队,这个队还没打完,曾经有很多好友发动了组队邀请。这种状态很容易使人沉迷。基本上工作日玩到 12 点多,而后周末两天终日都在玩。

起初又开始玩手游梦三国。。。

2019 年 8 月

人不知; 鬼不觉过了 1 年多,这期间吸食的精力鸦片除了让身材感觉吃不消外,更多的还是愧疚,我老婆每次让我陪她进来走走,我都已在写程序为由冠冕堂皇的回绝了,但理论工夫都破费在玩游戏上。但此时间隔我最开始的终点已过来近 3 年的工夫,它开始让我变得焦虑起来,一方面是这么长时间的工夫都节约掉了而没有多陪陪家人,另一方面是这种状态还要始终继续并且看不到止境。而在这期间很多短视频平台和 vlog 平台如雨后春笋般拔地而起。尤其是有一阵朋友圈外面疯传的某某脚印仅一个简略的性能便火遍朋友圈让我一夜未眠。

于是我又开始持续写我的 APP,我在 APP 中用到了好多阿里云的产品,之前连测试带储备曾经花了好几千了。正好过后负责的销售说数据库有流动,一年的三节点企业版的 RDS 原价 1w+ 当初只有 1.6k,我没有丝毫的犹豫就动手了,顺带着还买了 redis 等其余产品,过后心里想,一年的工夫我早就开发进去,这么便宜买来先备着。然而工夫再一次证实我太过年老,从买来到生效,我只是登上去看了几眼。

在这期间我把 larvel 框架从 5.5 降级到了 5.6、以及 5.7、5.8、6.x、7.x,每次降级都是从新创立我的项目而后进行文件拷贝、批改、从新测试残缺流程。这时我还在想上线之前怎么都不降级了,太浪费时间了,但在上线的前夕还是降级到了最新版本 8.x。

在这期间不停的调整技术策略,将路由规定改为 restful 又改回来,装置 mongodb 几个月后又换成 elasticsearch 到最初 elasticsearch 也下掉,将文件上传接入了阿里云的 oss 后又将全副性能下掉改为阿里云的视频点播,安卓端曾经接入调试好的音视频播放器也下掉替换为阿里云的视频点播播放器。安卓端媒体抉择只有图片和视频,而后就本人花工夫更改开源库使其反对音频抉择。安卓的浮动菜单成果与本人的需要有偏差而后又本人批改开源库等等等等。
这只是我能想起的一些事件,相似的事件有很多,因为又都是新常识,其中每个点都破费很长时间才解决。有的消耗一两周,有的消耗一两个月。

在这期间,总也因为 laravel 的返回错误码的形式没有 java 的优雅,在 javaweb 中,大多应用枚举来定义错误码,然而 php 中却没有这么好用的货色,于是。。。老毛病又犯了,花了几个月的工夫本人写了个枚举库:https://github.com/yinfuyuan/…

2020 年 9 月

我决定拾掇情绪,从新登程,然而刚开始没写多久,就又不晓得什么起因突发奇想要先写一个节假日查问的接口:http://www.apihubs.cn 好在这个接口只破费两个月的时候。在此之后,我从新布局了哪些货色这次必须要有,哪些货色能够后上线。而后就开始全身心投入到 APP 的开发中,这一年的时候基本上所有工作日的下班时间和周末都破费在下面,很多时候都是熬夜到两三点才睡,而后第二天早晨困的不行,又 9 点多睡凌晨 4 点起来接着写。随着无效工夫的投入,产品也慢慢初具模型。

2021 年 9 月

工夫又过了一年,到当初尽管还有很多不欠缺的货色,但我正式提交上线了,目前腾讯利用宝已胜利上线:https://a.app.qq.com/o/simple… 其余的性能等前面再迭代吧。经验这 5 年的工夫尽管我只开发出这么一个性能绝对简略的 APP,然而这段时间的经验我应该永远不会遗记。也算一场对心的磨难吧。然而 APP 上线无论对我还是对 APP 来说这才刚刚开始,将来的路还有很长。

写在最初

值得快慰的是在上线后我又回忆了下当初写这个 APP 的原因,发现当初的想法还是实现了的,当初我曾经开始把本人之前拍摄的照片和视频都在往本人的 APP 上公布。
其实从一个路人视角来看很容易看进去,在这个 APP 开发的过程中走了太多弯路,我在开发的过程中心态也产生了很大的变动。

另外,如果你有推广资源并违心帮忙推广我将不胜感激。我也能够在我能力容许的范畴内给予肯定报酬,分割我:http://www.miaoshengs.com/#/a…

正文完
 0