YUIConf 高性能的javascript

PPT:http://lanyrd.com/2010/yuiconf/sqky/
翻译:greengnn

避免加载缓慢javascript

  • js置于底部
  • 尽可能的合并js
  • 选择一个合适的方式加载js
    1. 动态创建js
    2. 延迟js
    3. 异步js

避免执行缓慢的js

  • 不要让js执行超过50ms
  • 分离过长的js进程
    1. Timers
    2. Web Workers

避免长时间的UI更新

  • 小心repaint和reflow
  • 不在文档上展现复杂的DOM运算
    1. 先把DOM移除,更改后重新添加
    2. 把元素display设置为none,更改后再还原display
    3. 使用DocumentFragment元素,把DOM创建后在一次性展示
  • 把所有的样式变化合并到一组,使用className切换代替style,或者cssText
  • 避免意外的reflow,比如offsetTop,多次使用把他们缓存到变量里。

Continue reading

创业者如何抓住腾讯开放平台良机

文/柳化芳

当今全球前三名互联网公司分别是google、facebook、tencent,google是搜索王者、facebook是社交网络之首、来自中国的腾讯tencent则是中国IM老大和社交网络执牛耳者。通过这三家公司的业务和产品,我们就可以看到互联网的发展趋势和方向–开放、社交、整合。当然,互联网上的巨头不止这三家,中国互联网上有四大门户、百度、阿里、盛大等诸多巨头公司,而美国互联网上也有yahoo、google、facebook等巨头,那么互联网创业者应该如何找到自己的立足之地呢?

全球互联网三巨头都已开放平台

facebook在开放平台方面做的最好,也是开放互联网的倡导者和领导者,open social和open app使得facebook上诞生了不少一夜间爆发的小公司,这样公司的成长速度是以往想都不敢想的。google的开放策略在openid、open social、程序和代码托管、map等多领域都展开。同时,facebook和google也在积极地为开源社区贡献力量,facebook甚至贡献出了自己研发的分布式数据库系统源码,而google也为apche社区贡献了加速插件…….

相比美国互联网的领先,三巨头中的腾讯在开放平台方面稍微要慢一些,不过开放平台在腾讯已经被列为长期战略,目前腾讯已经开放了QZONE、财付通、微博客,推出了类似facebook like功能的QQ空间的“喜欢”,并且为了开放战略全资收购了著名的开源软件discuz的所属公司康盛创想。

创业者迎来因小而美的时代

过去创业者在选项目时候,往往会选择去复制一下国外谁的模式,然后复制回国内,但国外只有那些非常成功的个案才会被国内互联网行业看到,更多的微型创新公司则是很难发现和复制。当zynga成功后,我们才被开放平台下的微型创业者所震惊,创业者在巨头公司的开放平台(水煤电的提供者)上实现自己的想法,借鸡生蛋,不仅快速获取了大量的用户,而且运营成本和营销成本大幅度降低,赚的钱却非常诱人。国内也有类似的例子,“五分钟”公司因开发开心农场被腾讯巨资收购,之后变身QQ农场,在腾讯大平台下不到三个月就突破了月入亿元的惊人业绩。

如何抓住腾讯开放平台的历史性机遇

腾讯有六亿用户,QQ号将会成为中国互联网上的统一通行证,腾讯为此开放了QQ connect,目前康盛创想已经在测试discuz社区的QQ connect插件,这个插件发布后,互联网创业者就可以借助discuz ucenter和forum接入到腾讯大平台(open.qq.com)上,这对于互联网草根创业者来说是一次历史性机遇。

根据我的一些经验和自己公司的经历,笔者给中小企业和互联网创业者提供以下一些建议:

1、开放心态–我们也可以有六亿用户

互联网创业者往往有守住用户的心态,很多创业者和站长担心自己的用户流失或被稀释,而忽视了一个重要议题:用户能留在我们的站点或商城的理由都不会因为喜欢所以喜欢,而是我们提供给他的价值,而这些价值基本上是与用户从哪个平台登录无关的。QQ已经是互联网基础服务,就像我们不会每家买一台发电机发电照明一样,我们也没有必要去耗尽毕生精力去再发明一次QQ,我们只需要接入QQ connect,腾讯的六亿用户就可以登录我们自己的网站,而不需要那些繁琐且易产生spam的注册步骤。

2、接入开放平台前做好用户体验

我们公司有个教训,一次与某平台接入合作时,没有及时地改善网站用户体验,导致促销带来的大量优质用户资源没有留下来,开放平台让我们减少了用户获取和接入的难度,但是糟糕的体验却没留下用户。所以,我建议接入平台前先把用户体验做好,然后通过有吸引力地活动来低成本获取开放平台上的用户资源。

3、做好人性化后续服务

做过网站和bbs的人都会感受,垃圾信息是最让人烦的,借助腾讯开放平台,我们可以设置注册门槛稍微高一些来阻挡spam,因为QQ用户可以通过QQ connect无需注册直接登录,这样就会减少spam。同时,我们要注意的是做好后续服务,让QQ用户登录后能留下来,保持住网站的粘性,这些后续服务包括积分奖励、小礼品、优惠券等等。

4、选择合适的接口

根据自己网站类型不同,可以选择腾讯开放平台的不同接口,比如内容型的建议选择微博客接口,这样网友很容易把你的内容分享到腾讯微博客,电商网站和社区网站则应该选择QQ connect和财付通接口,品牌机构和媒体则更适合选择微博客接口和Qzone接口。

5、开发容易被腾讯平台推荐的应用

QQ农场是一个例子,它是网页游戏集成社区,这类产品很适合腾讯QZONE的社交模型,所以这类应用更容易被腾讯推荐、收购、合作,一旦被腾讯推荐,开发者团队就基本会一夜暴富,因为腾讯有六亿用户,这个平台足够的大。从这一角度上,现在真是开发者的好时代啊。

6、主动推广和宣传

再好的酒也怕巷子深,平台随大,但应用会越来越多,如果不主动的宣传推广就很容易被淹没,借助微博、博客、社交网络积极地推广自己的应用,会让自己更接近于用户。

朋友社区Widget重构摘要

问题

  1. HTML5块级元素没有初始化定义display:block;为其加上border属性,如border-top,在android2.2,safari浏览器下它的子元素(包括文字)都会继承它的border属性。
  2. 某元素定义为table-cell后,text-overflow属性将会失效,解决方案:为其增设table-layout:fixed。

优化

待续……