小程序的1024KB
1024kb 只是一个目前编译后代码可上传最大限制,至于后期会不会更改,不得而知。个人只是想借 1024kb 来和大家一起交流一下,如何在限制下,挥舞大刀…
微信官方回答了,为什么有 1024kb 的限制。 省流、空间占用少! 那么如何有效利用1024kb?
对于开发微信小程序的程序员来说,你必须有一种”一分钱掰成两半花”的思想准备。
个人认为:在 1024kb 的有限空间内,能否做出更多的事情,这将是一个挑战。而我们该如何应对这个挑战呢? 下面说说的笔者的几点看法:
- 官方规范,我相信,你今天可以不看,明天也可以不看,后天应该就要看看了吧
- 交互设计稿,简单一点,再简单一点,flex实现的九宫格、网格…
- UI组件,微信官方作为首选(参照UI设计规范,有能力的赶紧设计出几套简约风格的吧,也许将为你带来不小的收获)
- 代码复用。公共类、通用模块什么的,赶紧做起来吧
大道理的落地实现,举几个例子:
1 . 官方文档中的组件篇,封装了一些常见的组件,微信官方封转时充分考虑了移动端的多样性,进行了适配,我相信一般开发者做不到这么好的封装吧,切忌为了一些酷炫的效果,去自己封装组件,除非你足够牛X,再者,一共就 1024 kb,在封装组件上浪费大量空间,并不理智。如果这些不足以满足需求,还有WEUI
2 . 媒体组件必须使用时,避免使用本地资源,将这些占空间的内容放到服务端将更好;媒体资料使用压缩传输,下载到本地缓存内,进行解压展示,配合过期策略,将能在省流和较佳的媒体展示中找到你一个平衡点;如果做不到这些,就将媒体资料压缩后在传到服务器上吧
3 . 小程序提供本地缓冲,在安全的以保证的情况下,发挥它的作用吧。媒体资料建议不要滥用,如果可以用简单几句话可以表达你的意思的话。毕竟小程序 是一个“小应用”
4 . 交互设计稿布局方面,微信官方在Css Flexbox布局基础上,简化后创造的flex布局,官方推荐使用,使用时仅需对容器和元素进行简单的wxss样式设置即可得到自己的布局方案
5 . 基于模块化编程,提高代码复用性。将通用业务逻辑封装成模块,实现重用,将可节省大量空间去做更重要的事情
小程序的1024KB的更多相关文章
- 如果解决小程序1024kb渲染之坑
问题: 在小程序开发中如果有那么个场景和操作步骤,获取商品下拉列表商品列表data为goodsList 当从后台获取数据response.data.list,通常我们会setData({goodsLi ...
- 【腾讯Bugly干货分享】微信小程序开发思考总结——腾讯“信用卡还款”项目实践
本文来自于腾讯bugly开发者社区,未经作者同意,请勿转载,原文地址:http://dev.qq.com/topic/58212d0fa7a7574c4f4cc3c5 作者:peggy 小程序概述 1 ...
- 微信小程序学习
官方网站 https://mp.weixin.qq.com/debug/wxadoc/dev/index.html 项目结构介绍 -- MINA框架 https://mp.weixin.qq.com/ ...
- 微信小程序教程(第四篇)
小程序开发基本框架及其限制与优化 开发基本框架(MINA框架) └─ Project-folder/ ·································· 项目所在目录 ├─ page ...
- 微信小程序学习笔记(三)
一般setData方法多用于点击后改变页面信息或者刷新后与后台交互获取最新的信息 注意: 直接修改 this.data 而不调用 this.setData 是无法改变页面的状态的,还会造成数据不一致 ...
- 微信小程序开发小结
1.点击按钮分享功能: 使用Button组件,设置open-type="share",然后在js文件的onShareAppMessage方法中设置如下: onShareAppMes ...
- 微信小程序-06-详解介绍.js 逻辑层文件-注册页面
上一篇介绍的是 app.js 逻辑层文件中注册程序,对应的每个分页面都会有的 js 文件中 page() 函数注册页面 微信小程序-06-详解介绍.js 逻辑层文件-注册页面 宝典官方文档: http ...
- 微信小程序笔记<四>page.js —— 页面注册
小程序的每个页面都是独立的,每个页面都必须有 page.js 和 page.wxhl 文件,page.json 和 page.wxss 文件非必要文件,注意如果创建 page.json 则至少保证有一 ...
- 微信小程序与vueJs的异同
简而言之,所有的框架都是建立在原生javascript基础之上的,所以对于有一定js基础的同学来说,各种框架都是比较容易入手的,但不同的框架之间又有一定的差别,有时候切换使用时就会掉入坑了. 一.微信 ...
随机推荐
- robotium问答
robotium问答 robotium集成instrumentation robotium如何定位控件? search类获取当前所有的view,然后根据类型或者文本去筛选,找到view后获取坐标, ...
- EM最大期望算法-走读
打算抽时间走读一些算法,尽量通俗的记录下面,希望帮助需要的同学. overview: 基本思想: 通过初始化参数P1,P2,推断出隐变量Z的概率分布(E步): 通过隐变量Z的概 ...
- SystemVerilog搭建验证平台使用DPI时遇到的问题及解决方案
本文目的在于分享一下把DPI稿能用了的过程,主要说一下平台其他部分搭建好之后,在完成DPI相关工作阶段遇到的问题,以及解决的办法. 工作环境:win10 64bit, Questasim 10.1b ...
- 跟着刚哥梳理java知识点——异常(十一)
异常:将程序执行中发生的不正常情况(当执行一个程序时,如果出现异常,那么异常之后的代码就不在执行.) java.lang.Throwable:异常的超类 1.Error:java虚拟机无法解决的严重问 ...
- Java泛型知识点:泛型类、泛型接口和泛型方法
有许多原因促成了泛型的出现,而最引人注意的一个原因,就是为了创建容器类. 泛型类 容器类应该算得上最具重用性的类库之一.先来看一个没有泛型的情况下的容器类如何定义: public class Cont ...
- Vim常用操作-快速删除括号中内容。
如果你和我一样,希望拥有众多工具,发挥工具最大执行效率,让工作事半功倍的话,我推荐你来使用下 Vim. 刚接触Vim 会觉得它的学习曲线非常陡峭,要记住很多命令,操作太复杂.所以这个系列的分享,不会教 ...
- 视差滚动特效图片滑块-Sequence.js
效果演示 插件下载
- bzoj1087 [SCOI2005]互不侵犯
Description 在N×N的棋盘里面放K个国王,使他们互不攻击,共有多少种摆放方案.国王能攻击到它上下左右,以及左上左下右上右下八个方向上附近的各一个格子,共8个格子. Input 只有一行,包 ...
- codeforces 782B The Meeting Place Cannot Be Changed (三分)
The Meeting Place Cannot Be Changed Problem Description The main road in Bytecity is a straight line ...
- VMware安装CentOS 6.7系统
VMware安装CentOS 6.7系统 1. 安装前的准备 a) VMware虚拟机软件 b) CentOS 6.7镜像 c) Windows电脑一台 2. 开始安装 a) 打开VMware软件 b ...