我是3y,一年CRUD实战经验用二十年的markdown开发相关人员👨🏻💻长年堪称高质量八股球手
花了两天搭了个前台管理网页,今天撷取下我的构筑过程,概要向,就当跟大家吹吹自助餐厅。
1、我的后端技术
老读者可能晓得我是上了理工学院以后,才介绍甚么是程式设计。在这之前,我对程式设计不屑一顾,甚至报读了计算机系统系之后也不曾介绍过它是做甚么的。
在大一的第二个学年,我第一印象中只开了两门C++的程式设计课(其他的尽是微积分)。嗯,理所应当,我是看不懂的,也不晓得用以干甚么。
刚进理工学院的这时候,我对一切充满著了未明,在那这时候随缘地就想进几个社团组织玩儿。但在为数众多社团组织里都找不出我擅于的应用领域,等快到止时间了。我又不该理工学院期间甚么社团组织都没有参加,最后报了两个:排球社团组织和计算机系统联合会。
计算机系统联合会大多数的相关人员都源自于计算机系统系,再后来才发现那个联合会的主要工作是给人「格式化」,但是这是后话啦。
彼时重新加入计算机系统联合会还需要满足用户一定的条件:师弟给了两个「中文网站」他们Noc,让他们上源自学,要到国庆节回来后看下他们的自学工程进度再来决定是否有资格证书重新加入。
那个中文网站其实是对HTML/CSS/JavaScript的入门教程,是两个欧美国家的中文网站,具体内容的门牌号我的确是忘了。但是那这时候,我国庆节很忙也罢了,于是就开始学起来了。我彼时的工程进度应该是教给CSS,能单纯的网页产业布局和展现相片啥的
刚开始的这时候,觉得蛮有意思的:我曼唐翁那个标识符,手写体的色调就变了,相片就能展现出来了。原来我平常玩游戏的中文网站是这样里头的啊!(比甚么C++有意思多了)
国庆节后回来发现:考核啥的并不重要,只要报名了就都通过了。
有了基本的认知后,我对那个也并不太上心,没有持续地学下去。再后来,我实在是太无聊,就开始想以后毕业找工作的事了,自己也得在理工学院充实下自己,于是我开始在知乎搜各种答案「如何入门程式设计」。
在知乎搜了各种路线并浪费了大量时间以后,我终于开始看视频入门。我熬完了JavaSE基础之后,我记得我是看方立勋老师入门的JavaWeb,到后端的课程以后,我觉得后端HTML/CSS/JavaScript啥的都要补补,于是又去找资源自学(那这时候信奉着技多不压身)。
第一印象中是看韩顺平老师的HTML/CSS/JavaScript,那这时候还手打标识符的阶段,把我看得一愣一愣的(IDE都不需要的)。随着自学,发现好像还得学AJAX/jQuery,于是我又去找资源了,但是我已经忘了看哪个老师的AJAX和jQuery课程。
在那个自学的过程中,我曾经用纯HTML/CSS/JavaScript跟着视频仿照过某某中文网站,在jQuery的自学这时候做过各种的轮播图动画。还理解了margin和padding的区别。临近毕业的这时候,也会点BootStrap来写个单纯的网页(丑就完事了)
等我进公司了以后,技术架构前后端是分离的,虽然我拉了后端的标识符,但我看不懂,期间我也没学。以至于我两年多是没碰过后端的,我对后端充满着敬畏(刚毕业那段时间,后端在飞速发展)
2、austin后端选型
从我筹划要写austin项目的这时候,我就晓得我的确要写两个「前台管理网页」,但我迟迟没下手。一方面是我认为「后端」才是我的赛道,另一方面我「后端」确实菜,不该动手。
我有想过要不找个小伙伴帮我写,但是很快就被我自己否定了:还得给小伙伴提需求,算了。
当我要面临后端的时,我第一时间就想到:的确是有甚么框架能够快速构筑出两个管理网页的。我自己不晓得,但是,我的朋友圈的确是有人晓得的啊。于是,我果断求助:
我被安利了很多框架,下面单纯列举下被推荐出场率比较高的。
注:大多数我只是粗略看了下,没有仔细研究。若有错误可以在评论区留言,轻喷
2.1 renren-fast
官网文档:https://www.renren.io/guide#getdoc
它那个框架是前后端分离的,后端还可以生成对应的CRUD标识符,后端基于vue和element-ui开发。
彼时其实我有点想选它的,但考虑到我可能要再部署个后端服务,还得学点vue,我就搁置了
2.2 RuoYi
官方文档:http://doc.ruoyi.vip/ruoyi/
RuoYi给我安利的也很多,那个貌似最近非常火?感觉我被推荐了以后,到处都能看到它的身影。
我单纯刷了下文档,感觉他做的事比renren-fast要多,文档也很齐全,但是没找到我想的东西:我打开两个文档,我希望能看到它的系统架构,系统之间的交互或者架构层面上的东西,但我没快速找到。
项目齐全和复杂对我来说或许并不是一件好事,很可能意味着我的自学成本可能会更大。于是,我也搁置着。
2.3 Vue相关
vue-element-admin
官方文档:https://panjiachen.github.io/vue-element-admin-site/zh/guide/
Vue Antd Admin
官方文档:https://iczer.gitee.io/vue-antd-admin-docs/start/use.html#%E5%87%86%E5%A4%87
Ant Design Pro
官方文档:https://pro.antdv.com/docs/getting-started
这几个项目被推荐率也是极高的,从第一行介绍我基本就晓得需要去学Vue的语法,奈何我太懒了,搁置着。
2.4 layui
有好几小伙伴们听说我会jQuery,于是给我推荐了layui。我以前第一印象中好像听过那个框架,但一直没介绍过他。但是,当我搜到它的这时候,它已经不维护了
GitHub门牌号:https://github.com/sentsin/layui
我单纯浏览下文档,其实它也有对应的一套”语法“,需要一定的自学成本,但不高。
第一感觉有点类似我以前写过的BootStrap,我对这不太感冒,感觉如果要接入的话,还是需要写比较多的标识符。
2.5 其他
还有些小伙伴推荐或者我看到的文章推荐:x-admin/D2admin/smartchart/JEECG-BOOT/Dcat-admin/iview-admin等等等,在这里面还有些依赖着PHP/Python/…
总的来说,我还是觉得这些框架有一定的自学成本(我真的是懒出天际了)。可能需要我去部署后端,也可能需要我自学后端的框架语法,也可能让我学Vue
看到这里,可能你们很好奇我最后选了甚么作为austin的后端,都已经被我筛了这么多了。在公布之前,我想说的是:如果想网页好看和灵活性高还是得自学Vue。从上面我被推荐的框架中,好多都是在Vue的基础上改动的,并且我敢的确:还有很多基于Vue且好用的前台是我不知道的。
注:我这里指代跟我一样不懂后端的(如果本身就已经懂后端,你说啥都对)
正经地:我推荐Vue
3、amis框架
我最后选择了amis作为austin的后端。那个框架在我朋友圈只有两个小伙伴推荐,我第一次打开文档的这时候,确实惊艳到我了
文档门牌号:https://baidu.gitee.io/amis/zh-CN/docs/index
它是两个低标识符后端框架:amis 的渲染过程是将 json 转成对应的 React 组件
唉,要是平常能接接低标识符和后端的广告就好了,至少能领点资料自学下
我花了半天粗略地刷了下文档,大概晓得了JSON的结构(说实话,他那个文档写得挺可以的),然后我去GitHub找了一份模板,就直接开始动手了,readme十分简短。
GitHub:https://github.com/aisuda/amis-admin
那个后端低标识符工具还有个好处是可以通过可视化编辑器拖拉生成JSON标识符,将生成好的标识符直接往自己本地一贴,就完事了,确实挺方便的。
可视化编辑器的门牌号:https://aisuda.github.io/amis-editor-demo/
4、使用感受
其实没甚么好讲的,无非是在网页上拖拉得到两个网页,然后调用API的这时候看下文档的姿势。
在那个过程中我也去看了下那个框架的评价,发现百度内部很多系统就用的那个框架来构筑网页的,也看到Bigo也有在线上使用那个框架来构筑前台。有一线/二线公司都在线上使用该框架了,我就认为问题不大了。
总的来说,我这次构筑austin前台实际编码时间没多少,都在改JSON配置和查文档。我周六下午2点到的图书馆,新建了GitHub仓库,在6点闭馆前就已经搭出个大概网页了,然后在周日空闲时间里再完善了几下,感觉可以用了
austin-amis仓库门牌号:https://github.com/ZhongFuCheng3y/austin-admin
在构筑的过程中,amis低标识符框架还是有地方可吐槽的,是它的灵活性太低。他们的接口返回值需要迎合它的主体结构,当他们如果有嵌套JSON这种就变得异常难处理,表单无法用表达式进行回显等等。
它并不完美,很可能需要我用些奇怪的姿势妥协,不要问我接口返回的这时候为啥转了一层Map
不管怎么说,这不妨碍我花了极短的时间就能搭出两个能看的前台管理网页(CRUD已齐全)
5、总结
目前搭好的后端能用,也只能用一点点,后面会逐渐完善它的配置和功能的。我后面有链路追踪的功能,的确要在前台这把清洗后的数据提供给前台进行查询,但也不会花长的篇幅再来聊后端这事了。
我一直定位是在后端的标识符上,至于后端我能学,但我又不该学。怎么说呢,利益最大化吧。我把学后端的时间花在学后端上,或许可能对我有更大的受益。
下一篇很有可能是聊分布式定时任务框架上,我发现我的工程进度可以的,那个季度拿个4.0应该问题不大了。
《对线面试官持续撷取面试题杆的
austin项目Gitee链接:https://gitee.com/zhongfucheng/austin
austin项目GitHub链接:https://github.com/ZhongFuCheng3y/austin
可跳转austin后端仓库