Framework7源码学习-1-概览

源码打包地址:

https://raw.githubusercontent.com/qq286735628/Framework7/master/dist/js/framework7.js

整个Framework7框架,由Framework7核心代码、jQuery风格的DOM操作库、DOM选择器、DOM操作辅助工具、Ajax这五部分组成。

纵观

整个库文件,通过最外层的匿名函数 (function(){})() 进行封装,防止内部变量污染全局。

使用 window.Framework7 = function(){} 方式暴露Framework7这个构造函数给外部使用。

其DOM操作和Ajax部分,采用仿jQuery的风格,最大程度减少开发者学习成本。

通过上面的代码片段,可以看到,一个JS框架,主要由框架核心代码,DOM操作,Ajax操作这三部分组成。由于jQuery的占有率非常高,很多人的JS操作习惯,实际上是jQuery操作习惯,故大部分的框架,其DOM操作和Ajax操作都会去模仿jQuery的风格。

Framework7核心

上面代码,可以看到一个简单的JS构造函数的写法。

通过 var app = this 这种别名方式,来保存this。

通过 for in 循环,来实现带参数初始化。

通过结尾的 return app ,来返回一个对象实例,供外部采用 new Framework7() 初始化的时候使用。

为什么我的iptables一重启就失效了?

搭了个VPN,但是默认VPN没有在做转发,用的iptables做的nat转发,可是每次重启,都需要重新执行iptables命令。

我看到我ppp0的IP地址是192.168.10.1,所以iptable的nat规则如下

其实这句iptables我都忘了怎么写,也不记得再哪里找到的,于是乎用history来找,这命令真爽。

history

记录在博客了,再也不怕服务器重启了~~

谁教一下我怎么让他重启也能自动运行呗!

SPDY/3.1

好不容易等到SPDY进入了nginx的ubuntu官方包,Chrome和Firefox开始不支持SPDY/2协议,必须升级到SPDY/3以上版本。

我就奇怪明明之前SPDY用得好好的,怎么突然就失效了。

到头来还是得用第三方的开发版本源,现在更新到1.5.13,支持SPDY/3.1。

反人类的编译活

今天再次见证了编译安装是多么的反人类,4个大神联调一整天,愣是没定位到问题,最后统统删掉重新安装

脑暴

开发最好不要过早的切入到产品初期的讨论中。

哪怕,你是抱着讨论产品的心态。

写得少,都吐不出墨水了

最近在弄毕业设计,总有个现象,就是一个段落,自己吐墨水的话,吐不超过两句就吐完了。回头看看博客,发现这一年来,才3篇文章,原来是这样才缺乏墨水啊。

其实这一年来,实践的东西还挺多的,拿CSS来说话吧,曾经对CSS的理解,就是知道个文档流,然后浮动的元素会离开文档流,一切的布局都从文档流入手。如今,神马包含块,神马层叠上下文,神马BFC,基本都吃透,布局手段多了去了。别总一股脑的浮动布局,浮动的初衷是图文混排啊。利用包含块,该绝对定位就绝对定位,还可以轻易在 overflow:hidden里面的做弹窗。

吐槽jQuery UI和jQuery Mobile

UI也好,Mobile也好,总是喜欢开发者写少量代码,由JS动态写入完整代码,并保障可用性。JS生成的代码,这是保障的哪门子的可用性。那些没有JS的读屏器,那些急速模式下的浏览器,怎么读得到这部分数据。

前端起来了,肥客户端也慢慢起来了,JS的流程优化对性能影响尤为重要。见过一个没优化JS流程的页面,Highchart和jQueryUI同时争夺浏览器资源,直接后果是打开页面要卡那么一两秒,页面才能正常显示,这已经是在Chrome下面了,IE更是惨不忍睹。

那个案例里面,jQueryUI是历史原因,单单CSS就可以很好的处理,至于write less do more,可以交给后端模版的嘛,这些东西就别和Highchart这类数据渲染的JS抢浏览器资源了吧。尤其是Mobile,卡顿都是给Enhancements搞的,想想slide动画的瞬间,在一两秒内,浏览器要完成dom加载、Enhancements、DOM节点的position位置属性渐变,这些都不是省油的灯,不卡才怪。

前端模版是用来承载数据的,不是用来Enhancements的。

附:毕设想到的一个小细节

2012的那些事

2012过去了,回想着,比过去的好多年都精彩。

2012,驾驶证拿到了,工作找到了,还去了好多好多的地方。

工作的事:

上半年,不知怎么的,我在疯狂的找实习,但是,一家一家的没有下文。

到了5月的时候,找到一家做in App Ad的公司,在里面,开始了第一份真正的工作。

Jabco、Chris,让我在帷千得到了很好的锻炼,国标、一辉,给工作的日子,增添了不少欢乐。

腾讯的秋季校招,就那么网申了一下,然后如往常一样的笔试、面试。

一面tommy,二面彪叔,三面Enya,四面某HR,然后,然后就进了CDC。

11月中,开始了在深圳的工作,虽然以前来去过几次深圳旅游,但,第一次长时间呆在另外一个城市的感觉,还是不一样。

这段时间在深圳的学习收获还是很多的,从在做的项目上面就可以看出。项目在快速迭代,每次审视之前做的事情,都能发现很多问题,然后去改进它。

生活的事:

1月,去了广东的某个山区,长途拉练。

8月,去了阳江。

9月,毕业游,再次去桂林、再次去阳朔。

10月,学校组织的校外实习,去了宜昌,上了三峡大坝。

11月,开了深圳之旅。

感情的事:

第一次一起去看电影。

第一次一起去沙面。

第一次一起去溜真冰。

2013展望:

攒下一笔钱,与陪伴我几年的恋人,在毕业前一起去旅游。

把我想做了2年的项目,通过毕业设计,给实现了,并且希望最终的作品,是能产生价值的。

2013年底再写总结的时候,别像现在写个流水账出来了….