今年过年,主要看了《奇葩说》和《电锯惊魂》,很不错,好东西的确需要留出足够的时间来看,匆匆忙忙走马观花是对作者的不尊重。除此之外,就是研究了一下微信小程序开发,先说对小程序的看法:
1、学习成本低。移动端很重要,谁都知道。但对于普通开发者,要投入到移动端的开发中,学习、掌握移动端开发,成本较高。我原来搞了一段时间android开发(Android新手之旅),项目完成后有一段时间放下了,后来想捡起来发现很困难。我思考,也许一个很重要的原因,android开发用java、clipse,和自己平时做的工作都没有联系,我也不可能彻底丢掉现有的东西然后投入到全新环境去。而微信小程序的开发,简单说就是做网页,对于ASPX开发者、DIV+CSS+JS的前端开发者,学习曲线平缓,没有任何不适。
2、开发环境友好。对VS下的码农来说,平台搭建就是一次vs环境的安装而已,除了点“下一步”完全没啥事。相比起来,android开发环境实在太费劲了,我机子里还存着上次搭环境的各种文件,jdk、eclipse、各种android的包啥的十来G。去年底换了一台好机子,又心热想在vs2015下用xamarine开发,结果更加失败,折腾很多天,连demo都没有运行起来。吐槽一下,在VS2015下进行跨平台开发真的是一个笑话,从vs6用到现在,第一次见到安装vs环境还需要大量联网下载大量第三方环境的,我家50M光纤也无法顺利下完,总是断掉。所以又是FQ,又是下载本地安装包,费劲得很,最后安装好的东西有几十G,还要再去xamarine注册买许可。相比而言,小程序开发所需的所有东西,就是微信开发的环境而已,30M左右的一个安装包,装完就能用了。总的来说,还是不错的,特别是模拟器,我觉得比原来android开发时的模拟器好用多了!
3、平台覆盖广。不可否认,小程序依赖微信,还得受腾讯各种限制。但好处就是,微信的覆盖实在太广了,基本上可以认为就是移动互联网。而且,直接实现跨平台,android和苹果通吃,多好!
当然,小程序的开发平台放出来也有一段时间了,网上也有很多资源了,但在开发中,感觉大多数资源都不靠谱,基本上都是照搬帮助,真正的开发经验并不是太多。结合我个人热爱记录,一直想做一个满足自己要求的手机记账软件的执念,我走完了从小程序申请到开发到发布的全过程,把一些需要注意的环节总结一下,让大家少走一点弯路。
一、小程序注册
目前微信小程序仅支持企业、媒体、*和其他组织注册,暂不支持个人注册。如果有开公司的朋友,就比较方便一点,其实只需要公司名称,营业执照注册号信息,貌似也可以搜索用别人的。完成后,还要验证。有两个方法,一个是用微信转账,300,另外一个方式是用公司账号发送指定金额(一般是几分钱)给腾讯,认证后会退回。
二、开发
1、开发时,左侧的模拟器直接就可以进行交互。
但需要注意,一些动作在模拟器上和手机上有差别,我碰到的就有:
- 模拟器中输入框无法取得焦点
- 模拟器中scroll-view不能滑动,手机上是正常的
所以,定期在手机上跑一下是必要的,在项目--预览中扫描就可以预览。如果没有APPID,好像不能预览。
2、第三方编辑器
微信开发环境有一点我无法忍受,就是自动处理,在文件里面点击一下鼠标,就会自动高亮标注一堆东西,很难受。我试着用vscode来编码,用环境来模拟和调试,结果还不错。只要vscode中一保存,模拟器就能够自动刷新。
3、数据存储
只能存在本地。数据库?没有。网络访问?需要提供有备案的域名,还得是https的。
不过本地缓存挺好用的,我打算搞上一个备案的域名,这样能做的就能多很多。
三、代码发布
开发阶段的代码,只能在开发者的手机上查看,还有时间限制。如果要发布,则需要先提交,又腾讯进行人工审核,通过之后才能发布。我的感觉,真的挺慢的,可能我碰上过年吧,
最后,看看成果:《简单账本》,其实只有2个页面,功能反正是我自己需要的:
1、功能追求极简,对于个人来说,不需要什么财务术语,就是一个账本的电子化。需要就打开记,记完就可以关掉了。
2、提供三个维度来查看账本记录:时间、分类、标签。特别是标签,我觉得很有必要,一笔账,属于某个分类是明确的,但同时还有很多值得记录的信息,如给谁花的,为什么目的等等,用标签就很有必要。三个维度可以作为条件*组合,查看。