纯前端,不要后端,开发一个项目
背景:周一早上,老板找到我说公司因为要砍程序员,决定不要后端,由一个前端完成公司项目开发,因为我也看不惯后端,老板提出这个方案的时候我就同意了,“别惊讶”。我同意是为了锻炼自己,以后好出去接活单干,因为这种杀猿取卵的公司我瞧不起。
为了验证这个方式可以,这是用一个星期时间,由自己一个人独立开发出来的小程序【图颜病历】。可以扫码体验(微信里网页打开的可长按图片)
我的后台是用 uni-cloud 写的(纯前端技术 js)。
所以我有两个调用后台的方式。
是传统的接口调用,即云函数调用。
运用场景:第三方插件,如:uni-id 因为你要跟着这个插件写。复杂的数据查询,因为可能设计到多表,代码多逻辑复杂,放到后台一个地方,前端调接口,类似代码封装,如商品的查询。
是直接前端操作数据库。
运用场景:大部分简单增删改查,前端直接通过 db.操作数据库,优势是可以利用 schema 做权限控制。
小程序中页面和组件是有区别的(坑 1)。
我们可能大部分都是 vue 开发者,在 vue 里面都是组件。也就是说我页面拥有的生命周期,在组件里面都有,但小程序不是这样的,页面有生命周期,比如 onshow() 但组件就没有,所以要有这个概念的转变,不急,写多了就会了。
要有个人组库件
如果以后自己开公司,或是个人开发者,平时也会出很多产品,所以有个自己的库更灵活,更高效。
后端 技术栈 uni-cloud 是云开发
里面集成了云函数,数据库,云存储,前端网页托管,反正用这套我们可以做网站(如官网)、做 app、做小程序、做 pc 后台管理、然后操作简便。因为它是界面式的,能解决前端程序员不熟悉服务器,数据库等问题。
项目小坑-地图的特性
我项目刚好有一个避开常规增删改查的功能,有个附近的人功能。为什么单独把这个拿出来说呢?
是证明这种开发方式是可以覆盖所有业务的,java 能行,它也行。
是吐槽一下它的文档或者是我看文档的能力,地图查询位置要用的 Geo()方法,然后文档呢没有详细举例怎么使用,但是有一定的方法描述,最关键的一点是要加一个地图索引。这个后端词汇就难倒前端了,我们可能只知道 id 是数据库的索引,但一个表其实有多个索引,比如下图
这个问题我百度了很久,解决起来却很简单。
是我想找一些对这个技术感兴趣的朋友,建个交流群。这样以后遇到这种问题,大家可以相互提个醒。可以私信我拉你进群。
项目小坑-联表查询
有一个查询操作是需要多表查询的,比如我的收藏这种功能,它需要查两个表,商品表,收藏表(收藏表里面记录的是商品 id,用户 id)
利用 getTemp()方法可以生成一个临时表,再用这个临时表和收藏表一起查,就能查出当前用户的我的收藏,注意,收藏变一定要在表结构 schema 中设置 foreignKey 即关联 id,这项目里关联 id 是商品 id
项目小坑-数据库数据清洗
有一个需求是把商品数据库的所有类型替换一下,可以在 newQuery.sql 这个文件操作
欢迎大家验证一下我这个 3 天做出来的小程序,看看到底符合基本市场要求不,能不能完成业务功能,【图颜病历】。可以扫码体验(微信里网页打开的可长按图片)
下一篇聊部署(小程序审核)的坑
评论