关于docker:叫到帮小程序-小程序-后台系统-后端-RESTFul-API-开发总结

3次阅读

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

一人全役,本我的项目由我山左立一人全役,包含 产品 – 原型 – 设计 – 开发。

发在站酷的设计总结以及实机演示动图:地址

技术选型

前端

官方网站:React + Ant Design 源码地址

小程序:MPX(跨端框架,反对微信小程序、支付宝小程序)+ Vant weapp + iview weapp 客户端源码地址

后盾零碎:Vue + Ant Design 源码地址

后端 RESTful api:FastAPI 源码地址(非完整版,无 database config)

MPX 并不是十分成熟的框架,总体开发体验要比 Taro 要好(个人感觉),Taro 的第一步,Taro Cli 就卡住我了,TaroUI 框架外面的组件也有点瘠薄(可能当初更新了就不瘠薄了)。MPX 是滴滴官网出的框架,最让我惊喜的就是,它能同时应用 iview weappVant weapp 这两个小程序 UI 框架,这大大丰盛了开发者的抉择。

MPX 的文档也十分欠缺,只是开发小程序如果应用第三方框架都要狂翻多个框架的开发文档和微信官网的开发文档,不然就会走很多弯路。我就已经遇到过无奈引入 Vant Dialog 的问题,前面发现单纯是因为本人引入形式不对,而滴滴的前端团队效率真的很高,早上发的 issue 下午就回复了(详情🔎)

集体是更喜爱 Vant weapp 这个 UI 框架的,它的复杂程度也比 iview weapp 稍高,所以我大部分的组件都应用了 Vant weapp

起初我又看到了 Reamx 这个类 React 框架,个人感觉它比 Taro 要简洁,惋惜它的 UI 框架更加瘠薄。大概率下一个我的项目会应用 Remax

附上小程序设计图

基于 React 的官网没啥可说的,也就是 Flex 布局,没什么技术含量,还是个动态网页。

基于 Vue 的后盾零碎也没啥可说的,没遇到特地艰难的问题。

附上后盾零碎设计图

后端

框架:Python FastAPI(RESTFul API)

数据库:Postgresql 12

Python 操作 PostgreSQL: Psycopg2

Python 虚拟环境治理: Anaconda

过后一心想着应用 RESTFul API,之前也用过 Node,也用过其它 Python 框架 Django / Flask 什么的,然而它俩不齐全是 RESTFul API 框架,就全网找,看看有没有别的,就看到了 FastAPI,别提多好用了,官网也更新了中文版,几乎太妙了,内置了一堆实用功能,它还有 Pydantic 这个神器。基本上不须要本人定义错误代码、数据验证和设置治理。

整个我的项目构造能够十分清晰明了,是那种,让人一看就懂构造,代码格调也十分简洁,因为大多数性能曾经被封装好了,间接调用即可。

Postgresql 就有点糟心了,我过后看到官网应用的就是这个数据库,就想都没想就用了,起初发现它还有 jsonb 这样的数据格式,应用 Psycopg2 去操作 Postgresql 切实是一言难尽 … 要想返回键值对数据,基本不须要 json / jsonb 这样的数据格式。仅须要几句代码即可,可我搜了很久都没搜到,不论是 GitHub 还是 stack overflow 还是 segment 还是掘金 … 过后一度想放弃 Postgresql,起初解决了,就比拟难受了,Postgresql 的读写速度的确很快。总体格调,语义化还是很好懂的。

(另外一些开发笔记在我的掘金账号的沸点里,笔记)

附上后端 API 演示图

环境

Docker 容器零碎: CentOS 7

Nginx 版本:1.16.1

Docker 版本: 19.03.13

老早之前我就想玩 Dokcer 了,这次终于玩上了,Docker 并不是特地难的货色,很多货色都很人性化。就是如果在服务器上写代码会有点麻烦而已,所以起初又去学了 Vim,当初基本上玩溜了,然而不做笔记还是很容易遗记本人开了什么服务,有次开了多个 screen,服务器 CPU 飙到了 120%,差点就暴毙了,前面我就不敢关上 code-server 用 iPad 近程连贯编程了。

Nginx 的配置也很简略,然而如果不留神暗藏,可能会很容易被人找到后端的 URL 是什么,总而言是,这一套配置还是很容易就能配出来的。

(后端具体🔎 配置阐明,外网可拜访:地址)

开发心得

这次开发,我学会了一个情理,本人一个人是干不残缺个我的项目的,就算无能成,所耗费的工夫也是不成正比的,我集体也极其容易一开始就去斟酌细节,骨架图、谬误揭示、选用什么 UI 框架之类的琐碎问题,而疏忽了数据结构、代码格调、是否易保护等等重要问题。但同时,因为一人全役,所获的的常识的量,是平时工作无法比拟的,但压力也是拉满的,所以很多时候会刻意去回避,不去面对开发中呈现的问题。导致前期砍掉了很多重要的性能,还是得正当调配开发工作和开发工夫。

感激你🙏 看到这里,咱们下次再见👋。

正文完
 0