前提介绍:

https://cloud.tencent.com/act/event/cloudbase-acc​cloud.tencent.com

职业赛道,团队2人,均为前端开发一位(我)负责UI+客户端,一位(L)负责云端。

8.25日开始注册小程序,8.26日开始写代码,9.20日提交成果。我是全职,L是兼职。尽管如此,在这个小程序上耗时总共不超过20人·日。L兼职除了三个周末(也并没有全部时间在做该项目),加工作日晚上我偶尔会催他改bug,我全职在图书馆泡了一个星期基本就结束了,后面就是改改bug+UI微调了。

最终效果:

产品没有发布,审核问题。这里牵出一个很有争议性的问题:非经营ICP备案,是需要对域名备案的。我使用云开发的产品,是没有域名的,连IP都没有。你要我拿什么去备案?

看社区有人问了同样的问题,并没有什么建设性解决方案,我决定只好先随便整个域名备案一下吧。关于《非经营性互联网信息服务备案核准》,我 使用云开发,没有域名可供备案怎么办? | 微信开放社区并没有什么建设性解决方案,我决定只好先随便整个域名备案一下吧。

关于《非经营性互联网信息服务备案核准》,我 使用云开发,没有域名可供备案怎么办? | 微信开放社区

小程序交流专区 | 微信开放社区​developers.weixin.qq.com

小程序还在审核中,官方表示体验版也可参赛,那就看看截图和视频吧

技术实现

云开发==Nodejs+MongoDB+Server,最后呈现给开发者的都是function——云函数,所以技术实现上毫无深度可讲,我就讲下在没有产品和设计师的前提下,如何简单有效将自己的想法开发出来。

  1. 选一个喜欢且实用的UI框架

先不说没有设计师的产品该有多丑,对于一个前端开发而言,没有设计稿的开发,也是无从下手啊……

我开发过4个小程序,分别用了WeUI(微信官方UI)、Vant Weapp(有赞)、Taro UI(京东)、以及现在用的ColorUI。也试用了所有能搜出来的UI框架,总结下来:

第一点,大部分的小程序UI框架都适用于商城,以商城为中心创建的。所以组件很全,但是由于商城需要展示的东西特别多,因而组件都特别小,非常不大方。而且商城的特色是要推广产品,吸引注意力,因而设计上都浓浓的卖货气息,很有压迫感。比如Taro和Vant Weapp。

而我是喜欢Material UI那一挂的,简洁大方、让人感觉舒适轻松(做一个安静的美侣纸)。但是Material UI主要是针对PC端,以及Android移动端。那套UI用在IOS上就特别奇怪,一眼能看出是Android的APP……

以及,我并没有找到可用的MaterialUI风格的小程序UI框架。

而WeUI,用起来很方便,但,真的很难谈得上好看。其实也不丑也能用,奈何现在的应用都太好看,衬托得它实在是不能看。

第二点,我不需要多端适配,想简单点,不想处理兼容问题,希望用纯微信小程序语言编写,不用写React或者Vue代码再进行一道编译生成微信小程序的代码。

最后选择了ColorUI,缺点是组件太少,毕竟是个人开发者,优点是满足以上两点。目前用下来还行,但没达到理想状态,理想状态可能是用antdesign和material-ui的爽。

2. 客户端先行,直接开始画UI

先做功能页,对我的产品而言是「练习」和「测试」。因为你有一个想法,它要实现什么功能,功能是很明确的。而其他如首页、用户页等,都是可以有创造性的设计,有无限种可能。

这两个功能页很简单——万物都是CRUD。列表、表单提交、详情、Reference。但也是耗时最久的,都花在针对这两个功能的文案整理上,将四本心理学的书反反复复的阅读->Copy->整理->Paste,看到我都要吐了。没办法,项目特色导致的,之前做的小程序就没有这个问题。

然后做用户页,用户能拥有的,也只能是产品功能。想到一个方案,开始实施,如果后续有更好的方案再作修改,也只是改改UI。

最后做首页,首页我做了三版。最后那一版也不满意,后续有更好的方案再作修改吧。首页是设计上有最多可能性的页面。也是用户第一眼看到的页面,注定设计开发艰难。。。

3. 客户端接口确定

功能页UI完成之日,就是客户端接口明确之时。列出客户端所需接口,这时服务端可以开始介入开发了。如果是独自开发,也是这样的流程,我之前就是这样的流程。因为UI如果没确定,接口很有可能修改,所以在UI达到满意状态的时候,开始写接口,后面再微调UI。当然后期万一真要大改,那也没办法,在公司上班这种事不也常有,不可避免。

用户页UI确定,新增一批接口。

4. 服务端 Collection创建 + 云函数开发 + 自测

在3中已经说明,两个时机服务端开始开发:1)功能页UI完成;2)用户页UI完成。

关于自测……L偷懒也略过了。好吧,直接联调吧

5. 客户端、服务端联调

由于L用TS写的云函数,有interface,客户端加入调接口的代码还是很easy的,不用翻代码。然后两人坐在一起联调也很快,可能他代码结构写的好吧

6. UI微调、Bugfix

这是持续不断的事情。(但其实我初期完成后发现由于审核问题不能发布,心凉了半截,再也没看过这个小程序。直到20号提交截止日,再改了一版主页……)

7. 文档、视频

随便做做……因为我的目的不是得奖,且这个比赛很明显只是为了推广微信云开发。我是自己想做这样一个小程序,有个比赛会督促我更快更好地完成。正如我虽然热爱跑步,但是如果不报个比赛,我可能永远停留在5K,还一个月就跑那么一次。报个半马你就知道至少要在比赛日子之前,保持跑步频率,至少跑一次15K,多次10K。并不是为了比赛得奖(那也太不可能了),只是为了完赛。

#小程序云开发挑战赛#-自助心理成长-小黑 | 微信开放社区​developers.weixin.qq.com

weui开发文档_微信小程序云开发挑战赛 之体验相关推荐

  1. mysql导入微信小程序云开发_微信小程序-云开发数据库上传json文件

    小程序新增了云开发功能,对于个人开发者是个利好消息.可以省去购买服务器,购买域名以及繁琐配置等步骤,减轻了开发者的负担.至于如何云开发我就不在这里赘述了,请移步微信小程序云开发官方文档,说的很清楚.这 ...

  2. python操作微信小程序云端数据库_微信小程序云开发之数据库操作

    本文实例为大家分享了微信小程序云开发之数据库操作的具体代码,供大家参考,具体内容如下 新建集合 1.打开云开发控制台,数据库 2.添加集合users 添加代码 onAdd: function () { ...

  3. python操作微信小程序云端数据库_微信小程序·云开发云数据库的基本使用-微信小程序云开发实例-腾讯云微信小程序...

    微信小程序·云开发云数据库的基本使用-微信小程序云开发实例-腾讯云微信小程序 浏览量:1120 时间:2020-04-06

  4. ebs开发入门 oracle 知乎_微信小程序云开发入门第一篇---开发准备事项

    在开始本文的正式内容之前,先允许我做一个简单的自我介绍,我是一名嵌入式软件开发人员,目前在一家音视频处理芯片公司做linux系统下音视频开发的相关工作,算是嵌入式软件开发行业的老人了,如果您对嵌入式行 ...

  5. node.js 微信小程序 部署服务器_微信小程序云开发环境部署,及添加数据

    点击蓝字 关注我们 今天在漫无目的逛CSDN的时候,一篇关于微信公众号云开发的文章引起了我的注意.据介绍,小程序云开发简称tcb,是腾讯爸爸给我们提供的基于腾讯云的云服务器.目前云开发已包含云数据库, ...

  6. 微信小程序云函数传递数组_微信小程序云开发一周入门

    作为一个程序员,一直想自己做一款程序,无奈工作以来一直做的是数据处理的工作.数据库用的挺溜,但前端就两眼一抹黑了.早在微信小程序刚出来的时候,就关注过,但考虑到前端后端的种种因素,一直没太做深入的了解 ...

  7. 微信小程序云函数传递数组_微信小程序云开发能力之数据库基础概念

    云开发提供了一个 JSON 数据库,顾名思义,数据库中的每条记录都是一个 JSON 格式的对象.何为JSON 格式的对象? 像这样的{"name":"温仪" , ...

  8. 微信小程序云开发用户身份登录_微信小程序+云开发实现欢迎登录注册

    前段时间和同学一起做了一个小程序,用来参加学校的比赛,完成后把项目内容分割一下,贴到博客上面,算是学习记录和总结吧. 因为是学生党,而且并没有很大的需要,所以选择了微信小程序为开发者提供的" ...

  9. uniapp同步获取用户信息_微信小程序云开发教程微信小程序的API入门获取用户身份信息系列API...

    同学们大家好,我是小伊同学,上一节我们介绍了一些常用API,今天我们接着来学习一组API,那就是获取用户身份信息的API. 在微信小程序中,我们往往需要获取用户的身份信息,比如昵称.头像.性别.地区等 ...

  10. 页面url带参数_微信小程序云开发教程微信小程序的JS高级页面间数据传递

    同学们大家好,我是小伊同学,上一节课我们讲解了全局数据的读写方法,那么在页面间同样需要数据交互,今天我们就来学习这部分内容. 在微信小程序中,我们常常需要将数据在页面之间进行传递,比如用户的身份信息, ...

最新文章

  1. 百度编辑器ueditor每次编辑后多一个空行的解决办法
  2. python输出特别的矩阵
  3. PHP防SQL注入攻击
  4. python内建函数是什么意思_Python3内建函数简介,Python3内建函数详解
  5. Java Web开发——Servlet监听器
  6. 大屏监控系统实战(15)-打包上线及总结
  7. 删除密码设置对象(PSO)
  8. 【车辆检测】基于matlab yolo v2车辆检测识别【含Matlab源码 581期】
  9. 446.等差数列划分II-子序列
  10. 制作网页头部用html,HTML网页头部代码实例详解_HTML/Xhtml_网页制作
  11. OpenG: 单模型旋转
  12. 把汇总报表页面生成 pdf文件方案!
  13. 南京邮电大学MOOC高级程序语言设计(C++)第五章编程题答案
  14. 电脑无法连接无线网,没有无线网图标
  15. 俄罗斯方块shell脚本
  16. java 文件尾部_java 在file的尾部添加数据的两种方法总结
  17. Ext JS框架入门
  18. 考华为云认证要做什么准备,怎么做题库?
  19. 设计模式——代理模式(附代码示例)
  20. Navicat导出ncx解析数据库密码

热门文章

  1. Servlet接收JSP参数乱码问题解决办法
  2. 线程上下文类加载器(Thread Context ClassLoader)
  3. 配置docker加速器
  4. mysql 6.2 安装教程_linux6.2安装mysql_MySQL
  5. Mysql数据库和表的操作
  6. jQuery基础知识--Form基础(续)
  7. plsql developer 无法登录Oracle
  8. Oracle数据库多语言文字存储解决方案
  9. MFC(6)点击按钮弹出新的对话框源码
  10. 程序员应当注意的肢体语言