大概一个月前在github上看到一个caniuse网站的数据源(https://raw.githubusercontent.com/Fyrd/caniuse/master/data.json),于是萌生了利用这个数据源做一个小程序的想法。当然最后还是经过不断的折腾,完成了一个简单的小程序,发布使用。但总的来说,还是觉得有些人不是很满意,早期的代码太丑了,虽然现在的版本不好,但至少比早期的好。?谁让我是个不会写代码的剪纸,只好在心里默默承受着。目前版本的变化分享在微信小程序里玩这个caniuse,最大的作用应该是群里和别人说兼容性的时候扔东西出去。而不是给出链接地址。想想之前的版本,甩出来的分享页面感觉有点复杂,现在这个更简洁了,明明白白的指向某个属性什么的。并且分享的内容可以自己搜索后在卡片上长按(300ms以上),然后松开手指,根据提示操作。单击确定后,将打开一个新页面,其中只有该属性的兼容性列表。在搜索和分享之前,你必须搜索,所以搜索功能是必不可少的。这个搜索的界面和功能是模仿caniuse网站的。准确的说,应该是整个小程序的基调被caniuse网站模仿了。其他功能还有其他功能:搜索结果数据过多时提示;加载时间过长时会提示;是的,第一次打开肯定很慢,可以说是很慢。我知道肯定有优化的空间,但是我还没找到办法,毕竟我的能力有限。更何况这个数据是直接通过github获取的,加载速度也会受到github请求的影响。无论如何,我经历了大约40s的加载。为什么不把数据放在本地呢?显然是不会这样做的,因为data.json文件是不定期更新的,目前发现一周左右会有一些更新。但是具体更新了什么,我没有去github上https://github.com/Fyrd/caniuse。如果我这种情况下放到本地,数据更新就不够及时了。当然,在小程序中不会每次都请求这个数据,只有少数情况:通过“关于”页面的更新按钮,主动请求更新;第一次打开小程序,在localStorage没有数据的时候;当你清空localStorage后打开这个小程序,简而言之,当你发现localStorage中没有数据时(其实就是一个时间戳),会要求你下载data.json文件。为什么搜索后还是这么慢?我想是因为我没有处理好。每次搜索,我都会去400多条数据里找资料。那么信息量有多少呢,大概是这样的。开源就好,大体如此,代码优化的空间肯定很大,作为自己手上的一个小作品,完成后会开源出来分享给大家。反正我早上在github上提交后,小秦给我说了很多可以优化的地方。我突然觉得被小秦指点是一种荣幸。哈哈。据说开源要写什么样的license,反正不懂,想了想还是选择了CCBY-NC-SA4.0。github地址是https://github.com/linxz/caniuse终于在昨晚完成了这个小程序的最后一个需求点后,赶紧上传,找人体验一下。没发现太多问题,就送审了。结果早上起来发现收到了审核通过的提醒。光是想想我就很兴奋。说了这么多,如果你也想玩,就扫一扫二维码吧。
