摘要: MVVM大比拼之AngularJS源码精析简介AngularJS的学习资源已经非常非常多了,AngularJS基础请直接看官网文档。这里推荐几个深度学习的资料:AngularJS学习笔记 作者:邹业盛 。这个笔记非常细致,记录了作者对于AngularJS各个方面的思考,其中也不乏源码级的分析。构建自... 阅读全文
posted @ 2014-05-05 17:19 侯振宇 阅读(8900) 评论(2) 推荐(12) 编辑
摘要: VUE 源码分析简介Vue是 MVVM 框架中的新贵,如果我没记错的话作者应该毕业不久,现在在google。vue 如作者自己所说,在api设计上受到了很多来自knockout、angularjs等大牌框架影响,但作者相信 vue 在性能、易用性方面是有优势。同时也自己做了和其它框架的性能对比,在这... 阅读全文
posted @ 2014-04-27 18:35 侯振宇 阅读(10616) 评论(12) 推荐(6) 编辑
摘要: 简介avalon是国内 司徒正美 写的MVVM框架,相比同类框架它的特点是:使用 observe 模式,性能高。将原始对象用object.defineProperty重写,不需要用户像用knockout时那样显示定义各种属性。对低版本的IE使用了VBScript来兼容,一直兼容到IE6。需要看基础介... 阅读全文
posted @ 2014-04-22 00:38 侯振宇 阅读(7615) 评论(2) 推荐(5) 编辑
摘要: 简介本文主要对源码和内部机制做较深如的分析,基础部分请参阅官网文档。knockout.js(以下简称ko)是最早将 MVVM 引入到前端的重要功臣之一。目前版本已更新到 3 。相比同类主要有特点有:双工绑定基于 observe 模式,性能高。插件和扩展机制非常完善,无论在数据层还是展现层都能满足各种... 阅读全文
posted @ 2014-04-21 00:48 侯振宇 阅读(6399) 评论(8) 推荐(9) 编辑
摘要: 这个最佳实践是我目前人在做的一个站点,主要功能:oauth登录发布文章(我称为"片段"),片段可以自定义一些和内容有关的指标,如“文中人物:12”。支持自定义排版、插图、建立相册。多个片段可以组织在一起,形成"事件"。任意事件、片段都可以互相标记因果关系。可以follow事件或者他人。事件和片段模糊搜索。我对目前前端框架的观点已在另一篇文章中讲过,这里只介绍一下目前实践的情况。使用requirejs做模块化,上线时用r.js打包。使用avalon做数据与视图渲染框架。用page.js来管理路由。用harp来做静态资源服务器。harp支持less、coff 阅读全文
posted @ 2013-12-30 18:08 侯振宇 阅读(11839) 评论(29) 推荐(3) 编辑
摘要: 同样还是内部邮件。这一篇中只是分析了竞品,却在邮件内引发了比第一篇更多的讨论。文章最后我截取了讨论最多的一封同事的邮件和我的回复。读者要先稍微了解一下公有云产品,才能比较好地理解竞品分析的部分。在设计领域内,其实如果连基本原理都还没有掌握,竞品分析是无意义的。所以这一篇中,竞品分析只是手段。阐述我们自己产品的设计方向才是目的。我们直接来最刺激的吧。这是Windows Azure刚登陆的界面。分为四个部分:顶栏,左边菜单栏,内容区,下边操作栏。整体宽度为固定960px,对于面板型产品来说,略显小气。以灰度较高的蓝色做主色,视觉效果非常优雅。界面传达的几个关键信息:一、用户登录的第一页直接列出所有 阅读全文
posted @ 2013-10-25 16:59 侯振宇 阅读(2382) 评论(2) 推荐(0) 编辑
摘要: 笔者为某云计算公司产品经理,负责产品的产品设计与前端开发管理。在工作引发了公司级别对产品和设计的讨论,有了以下文章。原文均作为邮件发在公司内部,以下截取出来希望收到更多的讨论。weibo:@侯振宇L4这不是产品手册,我不会直接讲重点。你能从中读出什么,那取决于你了。读的语速超过160,那也不用读了。首先要强调的是,你已经被洗脑了。每一个成功产品的发布,舞台上的人肯定都要谈谈设计、产品理念。特别是在最爱大谈特谈的水果公司辐射下,国内出现了一大帮精心装扮的信徒。有的先声夺人,东西都还没做出来就先自封天下第一。有的华丽地低调着,明明是拿着别人的创意托着干爹的福成功的,却奇迹般地宣称自己产品里面融入了 阅读全文
posted @ 2013-10-23 15:43 侯振宇 阅读(7016) 评论(13) 推荐(12) 编辑
摘要: 打给比方,如果说angularJS是剑,那么avalon就是匕首。匕首比剑更易学,更快,更适合快速作战...我们还是直接来实际的吧:目前项目开发中有以下几个通用需求:有前端路由系统,用来划分逻辑模块。有异步模块载入,如requireJS或者seaJS。数据与视图自动绑定,并且性能出众。框架学习曲线不要太陡,并且让我的代码越少越好。路由AngularJS不能无缝与第三方路由整合,只能用它自己的模块,如”ui-status“。原因是AngularJS的数据模型是包裹在它的“controller”作用域里面的。当然你可以把这些数据模型抛到全局作用域里,但即便如此,你对这些数据模型操作以后还是要手动调 阅读全文
posted @ 2013-08-14 22:47 侯振宇 阅读(6768) 评论(10) 推荐(2) 编辑
摘要: 有复杂的地方我再开贴记录,这里只记录容易解决的坑。1. windows下手工增加smart package。直接将下载下来的包扔到meteor package中。记得将文件夹名字改得和smart.js文件中一样。2. meteor不能实现在document中存“DBref”。所以有时候要用类“多表连接”的实现。github上有现成的smart package。https://github.com/erundook/meteor-publish-with-relations3. 使用nodejs的收信和解析包时,node-mail和mailparser优点坑,看这里http://www.cnbl 阅读全文
posted @ 2013-07-19 11:00 侯振宇 阅读(2713) 评论(0) 推荐(0) 编辑
摘要: 版本信息:Meteor:windows MIS安装 0.6.4node-imap:npm指定的0.8.0版,不是默认的0.7.x版。mailparser:npm安装0.3.6以下是记录踩到的坑:1. 使用meteor的email来发送邮件时,设置process.env.MAIL_URL要注意,如果你的gmail账号是自己设置了domain的,如“xxx@unitedstack.com”。那么process.env.MAIL_URL的写法应该是:“smtp://xxx%40unitedstack.com:YOUR_PASSWORD@smtp.googlemail.com:465”。一定注意第一个 阅读全文
posted @ 2013-07-19 10:44 侯振宇 阅读(6025) 评论(2) 推荐(1) 编辑