前言
对于开发微信小程序的程序员来说,你必须有一种"一分钱掰成两半花"的思想准备
正因为有1024KB的限制,才能够显示出一个微信小程序猿的代码水平和能力。
能够在有限的空间里面做更多的事情,那么这也是一种微信小程序编程能力的考量之一
修改
感谢掘金用户@1棵拼搏的寂静草提出的错误
小程序是算编译后的大小是否小于 1024,而不是代码的大小。
就针对这个修改,我也有一些问题,欢迎大家讨论告知1. 图片应该会被保留或者适度压缩?2. 代码转译后压缩?
3. 基础类是否计算在内?
1024KB有多大
1M = 1024KB = 1024*1024个英文字符 = 1048576个英文字符差不多你可以写700多个标准函数这样你可以看出有多大吗?
看来你需要完成的功能必须要700个函数中完成,同时这些还没有算上图片占据的存储空间。
什么是微信小程序的1024KB限制
在微信小程序的官方文档中也有阐述1M限制,不过整体上是由下面的前两条概括
- 打包上传、预览、发布的微信小程序代码不得超过1024kb,即1M
- 单次
wx.request
请求数据、图片资源下载不得超过1024kb,即1M - 其他有效资源....不得超过1024kb,即1M(等待你去探索)
为什么需要1024KB的限制
- 微信就是要让你知道,HI,你的程序必须要是精简的重要的功能。
- 微信小程序是可以离线使用,即小程序在使用第一次的时候会被存储在本地,有更新时候会自动更新存储
1024kb的数据量总体上不是很大,方便本身微信app占据的空间较少,尤其是在iOS的平台上,限制依然是存在的。
1024kb好听 也好记 -- 我YY的
如何合理的使用微信小程序1024kb
-
设计减少资源消耗
让设计尽量设计简约,遵从官方文档
小程序UI设计首先需要阅读微信小程序设计指南指南中给出了一些设计效果,大部分设计效果是微信小程序中内置效果,使用时会大大减少代码量。图片等必须经过压缩处理,css精灵等
这一点在前端的开发日常生活中很常见,因为图片会耗费大量存储资源,有效的进行压缩,会省出很多空间来让程序猿写逻辑代码。
-
代码优化减少冗余
- 多使用官方给你的组件效果,在其基础上进行效果改造
这一点与设计沟通好,很多效果如果会耗费大量代码或者图片来进行编码的话,可以考虑UI来去除效果。 - 合理的设计代码中的公共类,公共属性代码行数有限制的情况下,需要优先考虑公共基础的设计,公共类和公共属性,会有效的解决在程序编写过程中的冗余,这样也会省下一部分资源,让给逻辑处理
这里有我以前写的一个实例,虽然不全,也可以参考一下
- 多使用官方给你的组件效果,在其基础上进行效果改造
项目进度 github地址:github.com/icindy/fend… 相对第一天的计划来说,进度不是很理想,比预期的界面和功能要多很多,另外最近业余时间比较少,但是自己吹的牛,含着泪熬着夜也要完成。文章可能要滞后一些才能发。 可以看第一篇:7天写”分答”微信小程序第一天:组织与首页 今天的开始 创建必要的公共类是必要的,能够统一整体ui效果,减少开发时间,有利于团队开发过程中的重复利用率和效率。同时后期维护也会轻松很多 这是本篇的文章 这是本篇的主要效果gif [公共展示GIF] 前提 创建公共类前,你必须要知道整体的要求、整体的逻辑及整体的UI,避免做重复工作和无用功. 接下来是我在制作分答微信小程序过程中分析顺序和建立顺序。 公共颜色、字体、高度 既然wxss没有sass的变量等功能,我们就没有办法实现类似宏定义的方式来定义公共颜色、公共字体大小等,但是我们可以建立一套公有的wxss,在需要的时候为元素添加必要的css效果 1.简单实用标注工具(markman)进行标注必要的颜色,高度等 [标注后的例子…
总结
我尝试总结一下在微信小程序编写过程中的几个规则,当然这几条是建立在你所做的小程序功能较多,存储资源吃紧,当然我也建议即使存储不吃紧,也可以严格要求自己。
- 逻辑和UI的优先级是逻辑优先,UI滞后。
- 一切以能省则省的原则,一行代码可以解决,不能写两行