The fool says dream would never come TURE!

小程序学习笔记

与网页开发的区别 网页开发渲染线程和脚本线程是互斥的,这也是为什么长时间的脚本运行可能会导致页面失去响应,而在小程序中,二者是分开的,分别运行在不同的线程中 网页开发者可以使用到各种浏览器暴露出来的 DOM API,进行 DOM 选中和操作。而如上文所述,小程序的逻辑层和渲染层是分开的, 逻辑层运行在 JSCore 中,并没有一个完整浏览器对象,因而缺少相关的DOM API和BOM API 网页开发者需要面对的环境是各式各样的浏览器,PC 端需要面对 IE、Chrome、QQ浏览器等,在移动端需要面对Safari、Chrome以及 iOS、Android 系统中的各式 WebView 。而小程序开发过程中需要面对的是两大操作系统 iOS 和 Android 的微信客户端,以及用于辅助开发的小程序开发者工具 网页开发者在开发网页的时候,只需要使用到浏览器,并且搭配上一些辅助工具或者编辑器即可。小程序的开发则有所不同, 需要经过申请小程序帐号、安装小程序开发者工具、配置项目等等过程方可完成 小程序架构 小程序的渲染层和逻辑层分别由2个线程管理:渲染层的界面使用了WebView(IOS基于WKWebView, Android基于chromium定制内核) 进行渲染;逻辑层采用JsCore(IOS采用JSCore,Android采用V8) 线程运行JS脚本。一个小程序存在多个界面,所以渲染层存在多个WebView线程,... Read more »

资源下载

python相关书籍 byte-of-python-chinese 深入理解Python中文版高清PDF.pdf Read more »

移动端retina、多屏适配

转载自http://div.io/topic/1092?from=singlemessage&isappinstalled=1 移动端高清、多屏适配方案 背景 开发移动端H5页面 面对不同分辨率的手机 面对不同屏幕尺寸的手机 视觉稿 在前端开发之前,视觉MM会给我们一个psd文件,称之为视觉稿。 对于移动端开发而言,为了做到页面高清的效果,视觉稿的规范往往会遵循以下两点: 首先,选取一款手机的屏幕宽高作为基准(以前是iphone4的320×480,现在更多的是iphone6的375×667)。 对于retina屏幕(如: dpr=2),为了达到高清效果,视觉稿的画布大小会是基准的2倍,也就是说像素点个数是原来的4倍(对iphone6而言:原先的375×667,就会变成750×1334)。 问题: 对于dpr=2的手机,为什么画布大小×2,就可以解决高清问题? 对于2倍大小的视觉稿,在具体的css编码中如何还原每一个区块的真实宽高(也就是布局问题)? 带着问题,往下看... 一些概念 在进行具体的分析之前,首先得知道下面这些关键性基本概念(术语)。 物理像素(physical pixel) 一个物理像素是显示器(手机屏幕)上最小的物理显示单元,在操作系统的调度下,每一个设备像素都有自己的颜色值和亮度值。 设备独立像素(density-independent pixel) 设备独立像素(也叫密度无关像素),可以认为是计算机坐标系统中得一个点,这个点代表一个可以由程序使用的虚拟像素(比如: css像素),然后由相关系统转换为物理像素。 所以说,物理像素和设备独立像素之间存在着一定的对应关系,这就是接下来要说的设备像素比。 设备像素比(device pixel ratio )... Read more »

前端实现多文件压缩下载

前提 高级浏览器,如Chrome,IE>10,支持Blob、FileReader等API; 依赖库 file-saver //npm install file-saver -S jszip //npm install jszip -S iconv-lite //npm install iconv-lite -S 实现 const {saveAs} = require('file-saver'); const JSZip = require('jszip'); const iconv =... Read more »

【翻译】nativescript入门教程 第一章--学习NativeScript基础

第一章—学习NativeScript基础 本章你将从基础开始,包括新建App,在模拟器上运行这些App,和建立一个 开发流,允许你快速开发App。 内容目录 1.1 新建App 1.2 运行App 1.3 调试App 1.4 附录:选择一个编辑器 1.1 新建App 在NativeScript中你可以使用 NativeScript CLI创建和运行App。安装 完成之后,可以在终端或者命令行中使用tns命令– Telerik NativeScript的简写。 在本节中,你将熟悉NativeScript CLI,并且使用CLI的create命令开始你的第一个NativeScript应用。 练习:使用 tns create命令 打开终端或者命令行,运行下面的命令来创建一个新的NativeScript应用 tns create HelloWorld --template... Read more »

SVG思维导图

转自:http://yrq110.me/2017/05/19/20170519-svg-mindmap/ 使用 坐标系统 基本形状 文档结构 坐标变换 路径 图案和渐变 文本 剪裁和蒙版 滤镜 动画 交互 Read more »

阅读Element-ui源码笔记之alert

先贴个官网地址: http://element.eleme.io/#/zh-CN 基于postcss的css解决方案salad: http://elemefe.github.io/postcss-salad/index Alert组件相对比较简单,简单贴上代码添加几行注释。 1 const TYPE_CLASSES_MAP = {    //常见的代码优化手段,减少switch语句使用 2 'success': 'el-icon-circle-check', 3 'warning': 'el-icon-warning', 4 'error': 'el-icon-circle-cross' 5 }; 6 export default { 7 name: 'ElAlert', 8 9... Read more »