1024kb 只是一个目前编译后代码可上传最大限制,至于后期会不会更改,不得而知。个人只是想借 1024kb 来和大家一起交流一下,如何在限制下,挥舞大刀…

微信官方回答了,为什么有 1024kb 的限制。 省流、空间占用少! 那么如何有效利用1024kb?

对于开发微信小程序的程序员来说,你必须有一种”一分钱掰成两半花”的思想准备。

个人认为:在 1024kb 的有限空间内,能否做出更多的事情,这将是一个挑战。而我们该如何应对这个挑战呢? 下面说说的笔者的几点看法:

  • 官方规范,我相信,你今天可以不看,明天也可以不看,后天应该就要看看了吧
  • 交互设计稿,简单一点,再简单一点,flex实现的九宫格、网格…
  • UI组件,微信官方作为首选(参照UI设计规范,有能力的赶紧设计出几套简约风格的吧,也许将为你带来不小的收获)
  • 代码复用。公共类、通用模块什么的,赶紧做起来吧
  • 大道理的落地实现,举几个例子:

    1 . 官方文档中的组件篇,封装了一些常见的组件,微信官方封转时充分考虑了移动端的多样性,进行了适配,我相信一般开发者做不到这么好的封装吧,切忌为了一些酷炫的效果,去自己封装组件,除非你足够牛X,再者,一共就 1024 kb,在封装组件上浪费大量空间,并不理智。如果这些不足以满足需求,还有WEUI

    2 . 媒体组件必须使用时,避免使用本地资源,将这些占空间的内容放到服务端将更好;媒体资料使用压缩传输,下载到本地缓存内,进行解压展示,配合过期策略,将能在省流和较佳的媒体展示中找到你一个平衡点;如果做不到这些,就将媒体资料压缩后在传到服务器上吧

    3 . 小程序提供本地缓冲,在安全的以保证的情况下,发挥它的作用吧。媒体资料建议不要滥用,如果可以用简单几句话可以表达你的意思的话。毕竟小程序 是一个“小应用”

    4 . 交互设计稿布局方面,微信官方在Css Flexbox布局基础上,简化后创造的flex布局,官方推荐使用,使用时仅需对容器和元素进行简单的wxss样式设置即可得到自己的布局方案

    5 . 基于模块化编程,提高代码复用性。将通用业务逻辑封装成模块,实现重用,将可节省大量空间去做更重要的事情

小程序的1024KB的更多相关文章

  1. 如果解决小程序1024kb渲染之坑

    问题: 在小程序开发中如果有那么个场景和操作步骤,获取商品下拉列表商品列表data为goodsList 当从后台获取数据response.data.list,通常我们会setData({goodsLi ...

  2. 【腾讯Bugly干货分享】微信小程序开发思考总结——腾讯“信用卡还款”项目实践

    本文来自于腾讯bugly开发者社区,未经作者同意,请勿转载,原文地址:http://dev.qq.com/topic/58212d0fa7a7574c4f4cc3c5 作者:peggy 小程序概述 1 ...

  3. 微信小程序学习

    官方网站 https://mp.weixin.qq.com/debug/wxadoc/dev/index.html 项目结构介绍 -- MINA框架 https://mp.weixin.qq.com/ ...

  4. 微信小程序教程(第四篇)

    小程序开发基本框架及其限制与优化 开发基本框架(MINA框架) └─ Project-folder/ ·································· 项目所在目录 ├─ page ...

  5. 微信小程序学习笔记(三)

    一般setData方法多用于点击后改变页面信息或者刷新后与后台交互获取最新的信息 注意: 直接修改 this.data 而不调用 this.setData 是无法改变页面的状态的,还会造成数据不一致 ...

  6. 微信小程序开发小结

    1.点击按钮分享功能: 使用Button组件,设置open-type="share",然后在js文件的onShareAppMessage方法中设置如下: onShareAppMes ...

  7. 微信小程序-06-详解介绍.js 逻辑层文件-注册页面

    上一篇介绍的是 app.js 逻辑层文件中注册程序,对应的每个分页面都会有的 js 文件中 page() 函数注册页面 微信小程序-06-详解介绍.js 逻辑层文件-注册页面 宝典官方文档: http ...

  8. 微信小程序笔记<四>page.js —— 页面注册

    小程序的每个页面都是独立的,每个页面都必须有 page.js 和 page.wxhl 文件,page.json 和 page.wxss 文件非必要文件,注意如果创建 page.json 则至少保证有一 ...

  9. 微信小程序与vueJs的异同

    简而言之,所有的框架都是建立在原生javascript基础之上的,所以对于有一定js基础的同学来说,各种框架都是比较容易入手的,但不同的框架之间又有一定的差别,有时候切换使用时就会掉入坑了. 一.微信 ...

随机推荐

  1. poptest老李谈分布式与集群 1

    poptest老李谈分布式与集群   poptest是国内唯一一家培养测试开发工程师的培训机构,以学员能胜任自动化测试,性能测试,测试工具开发等工作为目标.如果对课程感兴趣,请大家咨询qq:90882 ...

  2. 老李分享:开发python的unittest结果输出样式

    老李分享:开发python的unittest结果输出样式   Python的unittest结果命令行输出,格式比较乱.为了提高格式输出的可读性,实现可以不同的颜色标识.所以准备扩展Python的un ...

  3. hiveF 函数解析时间问题

    #!/bin/bashsource /etc/profileupdatetime=`date --date='0 days ago' +"%Y-%m-%d %H:%M:%S"`ec ...

  4. asp.net core源码飘香:从Hosting开始

    知识点: 1.Kestrel服务器启动并处理Http请求的过程. 2.Startup的作用. 源码飘香: 总结: asp.net core将web开发拆分为多个独立的组件,大多以http中间件的形式添 ...

  5. shell脚本编写步骤及其常用命令和符号

    1,什么是Shell     Shell 是kernel的一个外壳,是一个命令解析器,负责用户与内核的交互.2,Shell脚本     Shell脚本类似于批处理,可以方便的执行大量命令.3,编写sh ...

  6. 面试题(一)—Java基础(上)

    1.面向对象的三大特征 (1)封装      封装性指的是隐藏了对象的属性和实现细节,对外仅提供公共的访问方式.      好处: 将变化隔离,提供复用性和安全性. (2)继承      提高代码的复 ...

  7. day001-html知识点总结(二)不常见但很重要的元素汇总

    一..vertical-align:设置垂直对齐方式,主要用于: 1.单元格内容的垂直对齐 2.对于行内块级元素,如<img>,设置行内元素的基线相对于该行内块级元素的所在行的基线对齐,例 ...

  8. MapReduce处理流程

    MapReduce是Hadoop2.x的一个计算框架,利用分治的思想,将一个计算量很大的作业分给很多个任务,每个任务完成其中的一小部分,然后再将结果合并到一起.将任务分开处理的过程为map阶段,将每个 ...

  9. Redis编码问题

    最近搞redis存储对象出了点问题,大概说一下背景,项目原有的东东以前存的是redis,存储的直接是对象模型,没有问题,这里存储对象存储任何信息事都没有问题的.但是现在调整为存储序列化的json字符串 ...

  10. 脚本语言:Xmas(三)

    自从将Xmas的GC换成现在的非迁移式的全局收集器后,最近几个月一直耗在Xmas上面:最明显的改变就是:更彻底地支持了面向对象.更强大的编译器. 所以,本文就来说说,真正的Xmas. 一.目标 一门语 ...