Compass 是一个糟糕的项目。目前最大的Sass框架,它目前由Chris Eppstein自己维护,两个Sass核心设计者之一,目前它仍然十分流行。
然而,大约一年前,我就完全抛弃Compass了。我将把从我们的项目中删掉。从我自己的网站中删掉。从我身边的项目中删掉。到底发生了什么?我是怎么从"Compass是最好的"转变到“我不需要它了”的呢?
起初我认为Compass是一个比Sass更好的东西,直到认识到它其实并没有带来多大实惠。至少是还不值得将其引入到项目中,特别是Ruby Sass本身已经很慢了。
css-sprite是将css样式中零星的小图标,小图片合并成大图显示,这样能减小服务器并发连接数,减小服务器负载和带宽使用,有很高的实用价值。这里介绍一些自动合并图片并生成样式的工具。
css-sprite是一个基于NodeJS实现的css切图自动合并工具,能自动将小图片合成大图,支持retina sprites和base64输出格式。
SmartSprites是基于Java实现的CSS切图自动合并工具,你只需要在CSS样式文件中添加一些注释即可使用;
Glue是基于Python实现的一个CSS Sprites切图自动生成工具。它生成的CSS小图标所对应的样式名以目录名+文件名组织: 如.sprite-icons-zoom_out,
注* CSS4草案发布了。
我们都习惯去学一个又一个的新前端框架,但是我们常常忘记了,作为我们每天使用的网络核心语言CSS本身也在不断地推出一些新功能。
在我们开始之前,你应该知道:本文中的CSS,很多都无法在浏览器中工作。即使是最新的浏览器。这是因为,它们还是一些草案-处于起草阶段。 level 4 selectors草案于2011年开始,第四版经过大量的讨论而最终制定。
我们一直非常专注于网站性能。我们一直对主流的的JavaScript MVC框架,如Angular,Backbone和Ember的性能很好奇,主要是因为它们能够优雅地解决复杂的问题,我们希望能够使用他们为我们的客户服务。使用这些框架来保证性能和提高开发速度,但下载、解析和执行JavaScript是一个相当大的性能瓶颈,特别是当JavaScript用于产生该站点的HTML内容时。
Express.js无疑是当前Node.js中最流行的Web应用程序框架。它几乎成为了大多数Node.js web应用程序的基本的依赖,甚至一些例如Sails.js这样的流行的框架也是基于Express.js。然而你还有一些其他框架的选择,可以给你带来“sinatra”一样的感觉(译注:sinatra是一个简单的Ruby的Web框架,可以参考这篇博文)。另外两个最流行的框架分别是Koa和Hapi。
我的网站有一些兼容性测试组件;从不同的网页截图然后同期望的图片进行对比。
这个周末,我从PhantomJS 迁移到了node-webkit,我很高兴做成了这件事,在node-webkit中
- node_modules/ 下的模块仍然可以使用 (比如没有 process 是 undefined 的问题)
- node_modules/ 可以自动通过require获取
你的有些观点是对的,Angular无法适用所有的场合,但你的分析有很多缺失和不足。
在HTML中写逻辑 - 你可以(而且很多人这样做)在你的HTML写大量的逻辑,这是反模式的。好的Angular HTML只会将逻辑绑定到你的控制器和服务,你应该在这里写大量的逻辑代码。在我的脑海里,一个Angular HTML属性DIV上的一个JavaScript使用样式类是一样的东西(大多数其他JS框架直接绑定到DOM上)。我更喜欢Angular的方式,因为它更明确,但我认为,最好的做法跟被周围的环境所影响的,这跟个人品味有关系,而不是事情本身不妥。
应用逻辑和结构通过HTML实现,这对于初学者来说非常方便(看看这里不需要JS,非常神奇!),但是对于实际开发来说有点可怕。我们是程序员,我们要写代码并调试程序。我真的不希望在基于字符串解析的框架上调试我的代码。HTML应该用来呈现APP,而不是展现源代码。
注* 作者 Bio ,现在Google工作。 作者不希望我们过多的依赖框架,最多使用一些库。 PS: 库用着不爽了可以换一个,框架能随便换吗?
JavaScript框架看起来像死亡和税收一样不可避免。我敢肯定每次有人开始一个新的web项目时,他们问的第一个问题的肯定是: 我们用的是什么JS框架?这真让我着急上墙。 这就是JS框架在当今业界根深蒂固的现像。实际上,框架并不是非有不可,它需要停下来。
一般认为网站初期没有必要自建邮件服务器,选择第三方邮件代理服务好可以很好地节约时间成本和维护成本。不过QQ邮件列表也有一些缺点:
1) 一个非常大的缺点,就是确认订阅邮件的过期时间非常短,仅有1~2个小时的样子,很多人订阅了以后不会马上进邮箱确认的,所以造成了目前网站有大约1/3的"未确认订阅"用户。
2)界面无法国际化,只能显示中文。
3)同一IP输入3次邮件地址以后就需要输验证码了,不利于网站集成,可能会对使用同一公网IP的用户带来困扰。