JackeyGao
人世一身霜雪, 归来仍是少年.

日历小程序开发感想

#weapp-calendar

小程序已经开源

chinese-poetry / weapp-calendar

2018年, 年最末的时候, 终于把诗词周历小程序做出来并上线了。 本来已没有打算(考虑到审核比较麻烦, 可能还需要备案等很多流程。), 事情起因是在一次询问小程序的时候, 说了句会安排的, 于是年底在 @伪君子 的提醒(催促)下, 做了个 demo 了事。 但发现小程序的生态非常完善,工具齐全甚至后端存储和图片 CDN 都可以找到免费的服务商, 而且审核并没有想象中那么严格, 效率还挺高。 最终决定做这个项目, 目前已经上线, 本篇想与你分享下过程中的心得体会。

主要有四个感想.

UI设计

最后版本抄袭借鉴了 即刻APP 大量设计元素.

UI 设计大概出了三个版本, 我选取了几个分别不同职业的人, 分别问了不同 UI 对于它们的感受是怎么样。最终答案告诉我没有一个设计能够让所有人满意,而现在回头想想当自己拍板决定做哪种 UI 的时候, 其他人的参考因素也不是很大。 这种小项目, 还是不要看用户的感受了, 开发者爽了就行。 千万不要你一言我一语的接受, 应该有自己的意识和审美观, 相信自己。

flex 布局

小程序推荐的布局方式, 在此之前我只了解有这样CSS 技术, 而且项目起初并没有按照这个布局方式, 还是原有的块布局, 调试 UI 过程非常坎坷, 最终花了很多时间 flex 布局, 虽然目前依然是皮毛状态, 但真的喜欢这种布局方式, 再也不用为了上下左右居中, 而懵逼的 Google 并到处复制 css 了。 在以后估计很多项目 都会使用这种布局方式, 包括个人项目和工作项目.

后端云存储

几年前小程序还没有出来的时候, 有幸了解到 LeanCloud 这种Serverless云服务. weapp-calendar主要的存储是精选的大概500首诗词, 包括诗词的作者, 标题, 片段和对应的封面图片, 所以仅仅用到了对象存储。 一般来说需要开发一个后端服务, 通过 API 的方式获取数据库中的数据。 但我不想花钱买服务器, 于是我选择了 LeanCloud, 免费版能够维持了目前的访问量(事实上还有很大的生长空间.⁄(⁄ ⁄•⁄ω⁄•⁄ ⁄)⁄. ), 而且 LeanCloud 有支持小程序的 SDK, 接入非常方便.

在 LeanCloud 数据类型的定义:

json
 
{
  "ACL": {
    "*": {
      "read": true,
      "write": false
    }
  },
  "cover": "polayoutu-yue-00008.jpg",
  "paragraphs": [
    "少小离家老大回,",
    "乡音无改鬓毛衰。",
    "儿童相见不相识,",
    "笑问客从何处来。"
  ],
  "title": "回乡偶书",
  "author": "贺知章",
  "objectId": "5c24767e67f356005f2d6187",
  "createdAt": "2018-12-27T06:51:42.320Z",
  "updatedAt": "2018-12-27T08:23:28.388Z"
}

其中 cover, paragraphs,title,author 是自定义的字段, 其他均为默认创建的字段。 可以看到这种后端存储, 类似于 MongoDB 的 Key-value 数据。

LeanCloud 没有给我一分钱,就不多介绍了。

CDN

图片托管从开始的 Github Pages, 目前转到腾讯云的对象存储,并开启了 CDN, 我也看不懂是否免费,好像每天有免费额度. 迁移之后图片的加载变得欢快多了.

安排要谨慎

大家都是成年人了,说话要负责.

最后

小程序刚刚内测的时候, 我也写了一个小程序WeUnsplash, 那时候没有资格提交发布, 于是带着不好看的心态, 好几年没有写过小程序项目。 最近的了解让我对小程序有了新的认识。期待微信小程序越来越好.

© JackeyGao.io 2019.