打造一款科学计算微信小程序
直接体验
概述
小程序的特性比较适合随用随走,那么使用小程序作为科学计算器的载体,会比网页实现体验更佳,且便于分享,接下来简述一下对于本想法的实现
关键分析
- 功能需求
- 用户输入
- 结果显示
- 如何计算
功能需求
微积分计算、矩阵计算、画图
用户输入
无论是早期的计算器,还是现代的计算器应用,如果不提供键盘,而是让用户自由输入,体验都会变得很糟糕,那么第一个想法就是,放弃原生键盘,所有的输入都来自于小程序模拟出的键盘。最后输入将会是一个数组。
光标
既然键盘模拟了,当然输入的显示也要设计,小程序的wxml不支持动态dom,这很烦,无法进行嵌套了,在考虑了canvas绘制和view表现后,还是放弃了canvas,决定由view实现,顺手光标的闪烁较为简单。
表达式解析
上面说了,我们只需解析好输入的数组发给工具类,再显示结果就好了。数组的元素包含type和text,以便接下来的解析。
结果显示
由于结果的复杂性,将以latex格式输出,但小程序不能很好的表示latex,只好后端生成latex图片在小程序显示,同时也方便在小程序上预览。
如何计算
那么如何计算呢,简单的计算当然小程序本地即可得出结果,复杂的只能求助后端,毕竟后端可以搭建各种开源的计算服务提供接口。
核心代码实现
wxml
css
js
等待整理