flutter开发初探
flutter开发初探
作为时下最火的跨端技术,虽然现在才能才入局有点晚的感觉,但是本人是喜欢稳定版的,目前1.22.x也已经官方release了,这篇初探就简单记录下,一枚小白的使用心得和入门吧
国际惯例
摆出这张图,还是简单从整体上来先认识了一下什么是 Flutter,否则容易陷入“盲人摸象”的境地。
Embedder 操作系统适配层,提供线程模型,事件循环模型
Engine:和底层OS无关了,一般是渲染层包括了 Skia 图形绘制库、Dart VM、Text 等,其中 Skia 和 Text 为上层接口提供了调用底层渲染和排版的能力
Framework:是一个用 Dart 实现的 UI SDK,从上之下包括了两大风格组件库(iOS和Android)、基础...
一些相关知识点
对称加密
定义
对称加密是指加密和解密的密匙为同一个,用来加密数据的密匙也可以用来解密
特点
加密速度快,使用简单
对称加密的破解难度是随着钥匙的大小增加而增加的,钥匙越大就越难破解,但是钥匙越大相应的解密的时间也会越长
对称加密的问题
双方都必须先约定好加密规则
秘钥数目难于管理。因为对于每一个合作者都需要使用不同的秘钥,很难适应开放互联网中的大量的合作者交流。
无法适用于陌生的网络的环境,双方都必须是可信任的才可进行。
非对称加密
定义
非对称加密的秘钥是成对的(公钥和私钥)。私钥由自己安全保管不外泄,而公钥则可以发给网络中的任何人。
非对称加密适用这对秘钥中的一个进行加密,而解密则需要另一个秘钥。根据公钥是无法推导出私钥的。
特点...
面试总结
一些iOS的面试记录
如何访问并修改一个类的私有属性
KVC
runtime
创建一个Father类,声明一个私有属性name,并重写description打印name的值,在另外一个类中通过runtime来获取并修改Father中的属性
#import <objc/runtime.h>
@interface Father : NSObject
@property(nonatomic, copy) NSString *name;
@end
@implementation Father
- (NSString *)description {
return [NSString stringWithFormat:@"name: %@", _nam...
基础算法
基础算法介绍
时间复杂度分析
算法思想
贪心算法
分治
动态规划
回溯法
枚举法
元算法
排序算法
排序算法是一种元算法。
O(N^2)
插入排序
选择排序
希尔排序
冒泡排序
O(nlogn)
快排
归并排序
堆排序
O(n)
桶排序
计数排序
基数排序
查找算法
线性查找
树查找
散列表查找
二叉树的遍历算法
概述
二叉树作为一个基础的数据结构,遍历算法作为一个基础的算法,两者结合当然是经典的组合了。有直接问二叉树的遍历的,有间接问的。比如要你找到书中满足条件的节点,就是间接考察树的遍历,因为你要找到书中满足条件的点,就需要遍历。
如果掌握了二叉树的遍历,那么其他复杂的树相对于你来说,也并不遥远了...
数据结构的简单介绍
简单介绍一下这次模块化实践以及所遇到的一些问题
数据结构
分类
数据结构是算法基础,线性结构有 数组,栈,链表等,非线性结构有树,图等(树可以被看作半线性的)
需要注意的湿,线性和非线性不代表存储结构湿线性和非线性的,这两者没有任何关系,它只是一种逻辑上的划分。比如我们可以用数组去存储二叉树
一般而言,有前驱和后继的就是线性数据结构比如数组和链表。其实一叉树就是链表
几种特殊数据结构的简单讲解
默认大家是有一定基础的,所以讲的比较简单
队列
队列是一种受限的序列,它只能操作队首和队尾,并且只能在队尾添加元素,在队首删除元素
“队列”这个名称,可类比为现实生活中排队(不插队的那种)
栈
栈也是一种受限的序列,它只能够操...
模块化实践以及私有库相关介绍
简单介绍一下这次模块化实践以及所遇到的一些问题
楔子
任何一个工程都会经历从无到有,从小到大的过程,这其中会遇到种种问题。譬如,工程成长到一定的阶段,势必想要进行模块化,一来可以让自己的工程看起来层次更清晰,不同模块独立性也更好,同时等工程到了一定规模,想要对外开放,实现开放平台,那么模块化就是必经之路。本文选择的模块化是cocoapods私有库+spec,同样也提供了二进制化方案,方便2中方式,一种是源码形式,一直是framework形式。
本文简洁明了,适合已近对cocoapods有一定基础的读者,如何安装,怎样使用,这边就不赘述了,直接进入主题,一切都是从简单实用为出发点,都是本人自己实践过的。
Podspec以及一些常用命令
pod lib lint –allow-w...
UIWebView和WKWebView的一些比较
介绍一下UIWebView和WKWebView
楔子
在我们使用UIWebView的过程中应该有发现UIWebView可是个吃内存的大户,动辄就是上百兆的内存,虽说现在iPhone的性能越来越好,但是也经不住如此折腾啊,况且,一个APP如果占用的系统内存超过整机内存总数的一半时是会被优先kill掉的。
WKWebView 是苹果在 WWDC 2014 上推出的新一代 webView 组件,用以替代 UIKit 中笨重难用、内存泄漏的 UIWebView。WKWebView 拥有60fps滚动刷新率、和 safari 相同的 JavaScript 引擎等优势。
下面就简单讲讲
UIWebView的内存问题以及一些改进方式
部分App(好吧,可能说很多)喜欢将UIWebView的fr...
Weex学习笔记
本篇博客记录一下自己对Weex的一些学习过程
什么是Weex?Weex能做什么?
Weex是阿里巴巴集团开源的一个动态化方案。
在我们对移动开发最佳实践的思考中,我们认为移动开发的未来是更平衡的方案,一定是性能和动态性兼得。第二个,它一定是开放互联的,PC端一直也是这样的, 也是非常好的状态。我们觉得移动互联网将来肯定也是基于更大众化的技术体系,没有平台之间的隔阂,简单直接易用,这是我们最希望看到的。基于这些设想,我 们有了Weex方案。
Weex编写的页面天然的支持组件化,首先,我们的界面可以是一个组件化的,把一个复杂界面分成每个组件,刚才演示的都是简单的组件,每个组件都可以看成是一段 template,style,script,放到模型里,对应到界面的结构,样式细节,...
共计 25 篇文章,4 页。