小程序的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基础的同学来说,各种框架都是比较容易入手的,但不同的框架之间又有一定的差别,有时候切换使用时就会掉入坑了. 一.微信 ...
随机推荐
- 老李分享:android手机测试之适配(1)
Android的屏幕适配一直以来都在折磨着我们这些开发者,本篇文章以Google的官方文档为基础,全面而深入的讲解了Android屏幕适配的原因.重要概念.解决方案及最佳实践,我相信如果你能认真的学习 ...
- js随机模块颜色
<!DOCTYPE html> <html> <head> <meta http-equiv="content-type" content ...
- apache的配置参数
#ErrorDocument 500 "The server made a boo boo."#ErrorDocument 404 /missing.html 1.Document ...
- c++设计成员变量可动态调整的动态类结构
本文主要介绍一下如何使用c++设计成员变量可动态调整的抽象动态类结构.首先介绍一下项目中以前使用的一种类结构:静态类结构 1.静态类结构 很多时候,在项目开发中设计类结构时,我们往往有一种简单.直接的 ...
- seo从业者发展方向
对于很多朋友来说,seo就是一项比较简单的技能,内容+外链,就可以基本囊括seo的基本内容了.可能很多朋友对此不屑一顾,会说seo可是包含万象, 你需要懂网页设计.标签设计,分词优化.企业建站等等方面 ...
- C语言中关于三目运算符的注意事项
C语言中常见的条件运算符?:在运算符优先级中排行13.部分时候可以代替if--else语句,使代码更加简洁.但是更容易隐含一些不易觉察的错误. 最近接了一个项目,本来通信协议部分很简单,自己的STM3 ...
- druid查询
查询是发送HTTP请求到,Broker, Historical或者Realtime节点.查询的JSON表达和每种节点类型公开相同的查询接口. Queries are made using an HTT ...
- Anaconda配置多spyder多python环境
作者:桂. 时间:2017-04-17 22:02:37 链接:http://www.cnblogs.com/xingshansi/p/6725298.html 前言 最近在看<统计学习方法 ...
- npm详解
一.npm介绍及安装 对于npm,大家多多少少都用过,作为一门技术,我想写篇博客记录一下,一起分享,一起学习. npm,是Node Package Manager的缩写,node的模块管理器,它是随同 ...
- MapReduce中一次reduce方法的调用中key的值不断变化分析及源码解析
摘要:mapreduce中执行reduce(KEYIN key, Iterable<VALUEIN> values, Context context),调用一次reduce方法,迭代val ...