从 17 年入住掘金,到去年才开始写博客,一直感受掘金是技术社区里面作的很是棒的,除了写文章以外也想为它贡献一些其余方面。html
目前掘金主流的入口端分别是 App、pc、插件、h5。前端
综上,这也是咱们这一帮掘友想到作一个简版小程序的原因。java
首先,你们都是程序员,并无很好的产品思惟,也没有专业产品介入,只能凭我的的日常的经验来设计这款小程序。python
一直在讨论新的小程序须要提供什么样的功能、要作一些什么样的事情,除了掘金的博客以外,还可以给你们提供一些什么有意义的内容react
通过两轮头脑风暴以后,以及参考了各大小程序(与博客、内容相关)以后,咱们选择了互联网资讯做为主入口,使得你们零碎摸鱼的时间中,除了看博客,还可以有看到互联网内比较有热点的资讯来消磨一些时间。程序员
因而有了下面的初版雏形web
首页的创意与样式,借鉴了差评 Daily,在此也向差评产研表达感谢。canvas
其次,咱们在思考,掘金 App 做为一个大而全的 App 须要提供的是完整版的功能,可是实际在使用中的时候,好比前端开发,可能只会关注与前端相关的模块,而不太会去关注如 java、python 等后端模块。那么在选择完感兴趣的模块以后,能够将页面作的足够简洁点,即首页能够只看到咱们须要的模块而不是全部的。小程序
第一期,根据用户群体,咱们先选择了如下模块,后续会逐渐完善更多的功能。后端
把偷工减料说的如此堂而皇之可还行(手动狗头)。
第一期完成的主功能列表以下:
以前用过 Taro 1.0 与 Remax,感受对比起来,渲染时的语法挺好用,因此这一次的小程序开发选择了 Taro 3 做为小程序开发,其中也有一些小程序开发的经验与点能够与前端同窗共享一些。
目前多端框架大致分为渲染时与预编译两种模式,你们能够本身取舍,通常渲染时的框架包体积大小会比预编译的体积大。
因为掘金的内容是 markdown 语法,咱们抓取的也是 markdown 的内容,怎么解析 markdown 的语法显示在页面上面也是一个问题。
本身解析 markdown 的成本有点高,咱们采用了 Taro 3.0 react 与原生小程序插件 towxml 共存的方法来解决这个问题,具体的例子这里也不过多介绍,能够去官网查看,若是有问题能够留言与我联系,基本按照教程走就能实现。
上周就已经发布了一个先行版本上线,可是效果并不如意
首先是渲染内容过多,流畅度会直线降低。不一样于 H5,小程序在 setData 过大(官方显示最大不要超过 1m)的时候,会引发整个页面的卡顿直线上升,严重影响交互体验。
但有的博文是实打实的硬货,markdown 的内容超过了 4M,远远超过单次 setData 的 1m 限制,那么这个时候,除了渲染速度过慢,同时会感受页面很是的卡顿。
如上图,因为虚拟列表须要固定高度,而小程序提供对 dom 操做的比较麻烦,所借鉴了虚拟列表的思路,采用的是伪虚拟列表的形式去加载博客内容,将 markdown 的内容转义以后,按照 10 个一组分割成多组。渲染视图取当前查看加先后一块儿共 3 页,滑到底部或者顶部的时候,会从新加载上一页或下一页的内容。
目前查看仍是有些许问题,好比从掘金拿到的 markdown 的内容有部分不能彻底被解析出来,另外滑动加载过快的时候,仍会出现卡顿的状况。咱们会尽快解决这些问题给各位同窗提供一个良好的体验效果。
生成个性分享图在小程序有 3 种办法
嗯,种种缘由,咱们选择了对前端最麻烦的第一种,直接手写 canvas。而后因为各类缘由,设计了两种不一样的分享图以下。
有预览图:
无预览图:
最近略忙,没有时间写博客,因此直接借用上面两位老哥的内容生成分享图
当咱们从掘金的接口里面获取到的图片、头像数据有问题的时候,好比拦截、未放入小程序下载地址的时候,会直接采起生成无预览图分享卡片模式。
同理若是头像的连接正常获取不到的话,会自动使用狗头模式,下个版本会选个更专业点的头像 = =!
后期能够开启多种分享图模板供各位同窗选择,就看我能不能 PUA 住咱们的设计同窗了。
目前分享图的二维码是直接进入小程序的,下个版本会更新详情二维码,扫描能够直接进入详情页面。
小程序团队目前参与成员以下:
@少与年同窗做为 UI 提供的设计与素材
@Captain船长、@优弧 做为小程序的特别体验者,提供建议与 pua
时常有人在吐槽掘金的各类小问题与体验,可是在实际参与开发以后才能了解,一款产品的设计与研发中会出现到的各类问题与不容易。
因为项目也没有测试同窗介入,若是各位同窗在使用小程序的过程当中,有问题、建议,欢迎留言或随时与我沟通联系 CookieBoty。
2021,砥砺前行。