一个小程序开发的心路历程
这篇文章,值得每一个满腔热情的开发人员阅读,希望你能够坚持读完,也许你也有过这样的感悟,何其幸也,虽未相识,神交已久。
一个前端工程师的心声
作为一个工作多年的前端开发工程师,总想着能在这个信息科技的世界中找到一点点自己的存在感,做过那么多的项目,可是没有一点点的成就感。一批一批的人都在奔赴高薪的IT工作,不知是命运的推波助澜,还是对碎银几两的疲于奔波,让一个的程序员成了软件开发团队中一个平平无奇仅专于一方面的"天才"。
对于这种没有繁冗复杂,只有简简单单的一亩三分地的工作,游刃有余的每天处理着各种问题,曾几何时我觉得是一种清闲的成功。
可是随着年龄的增长,技术层出不穷的更新迭代,突然有一天你发现曾经多么精通的东西都已经停止维护,时时刻刻出现的新技术让一切变得简单又复杂,面对新鲜事物有喜有悲,这就造成了程序员在每一天都汲取着科技进步的新战果,沉浸其中并努力跟上技术的步伐,内卷由此开始。
术业有专攻,团队出道,才是科技时代的标配。而我们却失去了开发一个完整项目的能力,人人都觉得很正常,可是没有整体架构思维,永远就不知道目前你手头的工作是在干什么,出了问题相互扯皮,疲惫感也许就是从这悄无声息中渗入我们的工作生活中。
做小程序的初衷
大学时我曾经想过做一个软件,能够被人人都用到是多么酷的一件事情,可是多年过去,我做过各种各样的项目,终究辜负了自己当初的梦想。
今年这个夏天酷暑难耐,站在烈日炎炎之下,望着天空云卷云舒,眼前翠华山峭壁耸立,天池碧波荡漾,我惊叹于绝美的风景,更为大自然的鬼斧神工感到无比震撼。这种留恋于山水间的感觉,总是会让思绪变的更加清晰,释然在那一瞬间,依稀想起了曾经的梦想。突然间我想做一款软件,独立开发出来的软件。
自此开始了我要做个什么样的软件,热爱文字的我,当然想做个与文字相关,最开始我想做个诗词歌赋的,但是我想到后面数据的整理,肯定会周期太长,万一坚持不下去,岂不不能善终。
我记得初中的时候我叔叔给我买了一本成语词典,闲暇时刻我就在看。有一次英语老师问:”love me,love my dog,翻译成一个成语,谁知道?” 教室里一阵安静,我立马脱口而出:“爱屋及乌”。当然了从同学们啧啧称赞的语气中,受到了老师深深的肯定。那一次至今难忘, 从那时候我就明白不论学什么有一天你终究会用上。
成语是一个精简而寓意丰富的文字,却让我们的生活交流变得轻松愉悦。想到这里我毫不犹豫的决定做一个成语软件。
紧接着我就和我朋友(语文老师)聊了一下,她也很支持我的想法,虽说现在也有相似的很多软件,好用的都要收费,好多都不太好用,我想做一个查询起来方便,能够运用到生活中的掌上成语小助手,也许会没人用,但是我想做成这个事情,自己闲暇看看也是不错的(当然内心还是希望能够对别人有所帮助,这才是对一个程序媛最高的赞赏)。
我翻阅了各种权威的成语词典,成语数据4w+,后期数据整理也不会太难,可行性很高。那就就开始要给成语字典起个名字,最开始我想的是成语小助手,成语小帮手,朋友说成语小助吧,我觉得很不错,现在各种智能化家居都是小度,小优……。说不定后期还能做个小助语音设备呢,似乎前景一片明朗。
思虑再三决定,全称:成语词典小助。简称:成语小助。自此拉开了我软件开发的序幕。
实现过程中的探索
既然决定开发软件了,那就要想好整体架构,经过我慎重的选择,我觉得先开发一款微信小程序,本着后期还想往其他平台拓展或者发布到IOS、Android的想法(后来我想发布到抖音,可惜不支持个人认证),没有用原生微信开发,而是选择了uniapp,加上对于vue天然的熟悉感,开发起来很easy。
再需要搭建一个后台管理系统,这个系统需要对接小程序端和web端,这只是个小项目打算用springboot开发简单一点。
web管理系统,毫不犹豫用vue搭建了。
数据库我最熟悉的也不过mysql了。
服务器的话,各种云服务器都差不多,既然做微信小程序,就购买了腾讯云服务器,从来没有购买过域名的我,最开始忽略了购买域名、域名备案是需要好多天时间的,所以需要购买域名的人记得提前购买备案。
项目中肯定会有很多图片,微信小程序每个分包大小不能超过2M,高清图片都比较大,本想存储到数据库,可是云存储多么方便啊,技术的革新真的是让复杂的问题突然就很简单了。
到此所有的技术大体的布局也就有了,是不是感觉有点简单,那肯定的啊,这仅仅只是大体开发方向,具体实战中还会有各种问题,当然了大方向没有问题,过程中遇到的各种问题都能迎刃而解。
- 微信小程序:成语小助主要程序的展现形式,使用uniapp框架开发。
- web管理系统:成语小助后台管理系统。项目上线后数据、图片、文字调整。使用vue框架
- springboot项目:成语小助后端系统。
- mysql数据库:成语小助数据库
- 服务器部署:腾讯云服务器采用Docker部署,域名备案。
- 对象存储:腾讯云对象COS存储用来储存项目中用到的图片。
大体思路想清楚后我就迫不及待的开始开发了(略过了我花了好几天浏览了市面上很多成语词典的展现形式,才能够对自己想要的了然于胸)。
最开始做的微信小程序,做前端肯定的知道大概需要几个界面,每个界面呈现哪些东西,简单的用excel画了一个草图,反复推敲了好几遍觉得没多大问题。此时我想如果能够做成UCD岂不更好,一个设计师是多么的重要,虽说身边也有很多,可是人情没有免费的,本着漂亮固然重要,功能好用更重要的理念,开始代码阶段,完成了基本功能的静态界面(没有UCD开发的界面当然后期改了很多版展现形式,来来回回的改总感觉差强人意,最后效果简单整洁还不错)。
接下来就要开始搭建后端系统、数据库,编写后端接口联调测试,这期间我给我朋友看效果,讨论交流,来来回回修改了很多轮,终于感觉都还不错。这一段落终于落成,雏形完成。
接下来就是搭建web管理系统,这就是我的最强项了,胸有成竹的开发果然速度惊人,此时不用猜,界面没有任何漂亮图片,何况也只有自己维护系统,功能好用就行了。
所有的开发本地调试结束后,就开始部署服务器了,最热门的docker怎么能错过,那就先部署mysql数据库和后端代码,这样的话我就能本地联调服务器,此时我发现原来部署服务器对一个开发人员很重要。部署服务器工作在公司都是运维在做,CICD让平日的工作感觉多么的容易,可这些都是运维的功劳,平日也曾草草研究过,始终没有地方实践过,终于我也可以自己实现一波了,很是开心。
在docker上部署项目时,自然少不了各种查资料,如今这时代真是用心了,什么都能做成。后端服务器部署成功后,再次联调测试了小程序端和web端都没有问题,
接下来就开始部署小程序了,小程序需要https请求方式,所以我也是这时才开始申请域名,备案域名(其实这个应该提前完成),获取ssl证书后重新修改部署后端项目。小程序部署需要上传后,在微信小程序平台上提交审核,也是很方便了,为了能够一次审核通过,测试了好多次,确认无误后再提交,审核1天就通过了,最开始我觉得部署应该很难,其实做完现在回过头看很简单,学习真是时时刻刻在我生活中体现的淋漓尽致。
终于在这个夏天暑热褪去时我的项目成功上线了。
具体的开发过程我会分篇记录,毕竟项目开发中技术选型、遇到的各种问题,麻雀虽小,也是一个庞大复杂的过程,后期我会慢慢详细整理书写。
成功之后的喜悦
项目上线后我的开心溢于言表,连我老公都不理解我的开心,管他呢自己开心就好,作为一个开发人员,终于独自做了一个完整的项目,其中不乏困惑、迷茫,但是终究没有辜负自己的一腔热血。
朋友曾问我:“你做这个项目是为了什么?”
我说:“为了情怀”
她有点不相信,可是信与不信,最终项目的上线难道不是最好的解释吗。
情怀在这个年代感觉总是苍白无力,可是我就想在自己的生命中留下那么一点点天真与童趣,无论成年人的生活多么的不易,我坚信生活不会辜负你对他的期许,情怀也许能让我在生命的旅途中有那么一点点不一样的快乐。
情怀在左,技术在右,实现了我走上这条路的最初的一个心愿,谢谢自己的坚持与热爱。
结语
如果对本文有任何疑问,欢迎提问哦 如果本文对你有一丁点帮助,点个赞支持一下吧,感谢感谢
本文将同步到个人公众号:言字(欢迎关注👏)
后续:现在小程序已经上线,优化功能,遗留问题,每月一个版本持续更新中。
小程序:成语词典小助