`
qbaty
  • 浏览: 96435 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

新 twitter 特性

阅读更多

twitter 改版吸引了很多用户的眼球,最近他们也放出了所有用户的体验新版的通道。

twitter 完全以一个全新的面貌展示,完全放弃了IE6,IE7/8 的某些特效体验也放弃了,专注于更优秀体验,以及技术跟进最快的chrome firefox safari 等浏览器。另外其前端的 javascript 整体结构也几乎完全改变,完全基于API来实现。

这里结合twitter官方博客发表的博客大略的分析一下twitter的新特性和技术:

 

Top Navigation

始终居顶的导航条十分方便,涵盖了twitter所有的主要的入口,以及操作。

 

Timeline

信息的呈现有了很大的变化,页面也不再是单纯的无休止的timeline。

左侧的信息流每条都可以展开,展开后会显示和 此条tweet 有关的tweet ,包括retweet,reply,mention,tag。右边的信息栏体现出了自己最新的一条tweet,以及follower和follow的头像。

新版twitter 的页面跳转非常少,用户几乎只要留在首页就能得到他想取得的最大信息量。因为twitter充分利用了改版后固定的右边栏空间,所有交互产生的新内容都由一个位置相对浏览器窗口固定的层来展示。如:点击用户id,在右侧显示其miniprofile,并且显示该用户最近的3条tweets。

 

keyboard shortcuts

twitter的快捷键十分的丰富,在twitter里,你可以通过shift + ?来查看快捷键菜单

和google reader 一样

 

这些快捷键都是全局的,只要焦点不被 input 或是 textarea 上都可以使用。

另外对单条微博的快捷键操作需要展开当前微博。有所欠缺的是,在发单条tweet的时候,你并不能直接用 ctrl + enter发布新微博。但twitter 可以用 TAB 键来focus 发布按扭,再按 enter 键就能达到效果。所以几乎可以不用任何鼠标操作来使用twitter的大部分功能。

 

API

新改版的twitter是完全基于他自己的开发的API 搭建的,而各个平台的twitter 客户端,无论是andriod 还是 iphone 都是从同样终端获取数据。任何第三方应用的获取的数据也与此相同。

从初始化页面的请求到客户端的每个请求,获得的都将是经过优化过的json碎片缓存


javascript API

另外twitter 的javascirpt API 提供的 API 获取以及智能的客户端缓存(内存或是本地存储),使得他们大量的减少了服务器请求数。

举个例子来说:

timeline 的获取包含了每条tweet相关的用户信息,这使得用户信息被预先存储了。所以当点击用户名查看信息时,不必再去向服务器请求用户数据。

 

另外一个特点就是 javascript API 在每个API 被请求的前后都启用了事件通知机制。

这使得 组件在某个API请求后,可以得到消息 并且立即做出适当的UI变化。这就使得组件之间即便在依赖相同数据时相对独立。

 

page management

twitter 这一次的改版显然目的是使得页面间的跳转,更快更方便。为了达到这个目的,他们开发出了一套由URL hash来实现的路由系统在状态的页面之间切换。当用户要前往某个页面时,应用就会把用户访问过的页面缓存在内存中。虽然那个页面的内容数据在内存中是不会更新的,但是通过页面对 javascript APi 事件的通知机制,他们使得数据同步变的不那么复杂。

 

the render stack

twitter 是基于 Mustache 这个 模版引擎(前后端都是),并开发出了一个可以从API对象产生HTML碎片的系统。

twitter 在优化dom上下了很多功夫。例如:他们全面的实施了事件通知机制,这使得不用担心需要额外的事件绑定。

而twitter 的大多数UI都是可重用的组件,所以他们把一些集中的事件处理放到少数核心的节点上。

当然twitter也在建立起所有的HTML结构,绑定相应的数据之后才插入文档流,这样尽量减少了页面的重绘。


inline media

新的twitter 可以嵌入和twitter合作的第三方的视频和图片了。

这些嵌入基于oEmbed 标准,发起 json-p 的请求去和内容提供商,然后得到返回后嵌入返回的内容数据。

如果是youtube 或是 twitpic 这样的合作方,我们可以根据已知嵌入的内容推算出URL,并直接显示出来。这样就可以减少http请求,给用户一个更快的用户体验。


open source

twitter 使用了很多的开源库,jQuery、MustacheLABjs twitter,同时twitter在使用这些库的同时,也做很多大胆的创新,使得这些技术在twitter 的应用上,更加合理,推动了twitter 用户的体验的整体提升。

  • 大小: 33.9 KB
分享到:
评论

相关推荐

    Python-我们使用不同的特性集和机器学习分类器来确定最佳组合用于twitter情绪分析

    我们使用不同的特性集和机器学习分类器来确定最佳组合用于twitter情绪分析

    Manhattan,Twitter规模的实时、多租户分布式数据库

    轻松应对14.3万TPS的峰值,Twitter的系统架构确实令人称赞,然而难得可贵的是,该公司一直追求着面向服务的特性,将各个服务组件的使用者视为“客户”,这里我们一起走进其自主研发的数据库——Manhattan。...

    bselect, Twitter Bootstrap 缺少的选择装饰组件.zip

    bselect, Twitter Bootstrap 缺少的选择装饰组件 选择 Twitter Bootstrap 中缺少的选择修饰器组件。特性用于 <select> 元素的bootstrap装饰器简单易用,一个简单的jQuery调用,你就完成了 !不需要任何 Bootstrap

    personify.js, 利用 IBM Watson和 Twitter api的开源JS库.zip

    personify.js, 利用 IBM Watson和 Twitter api的开源JS库 #Personify.js一个基于JavaScript的库,允许使用 Twitter 数据轻松访问 IBM Watson特性。 IBM Watson提供了当今最先进的语言分析工具。 Twitter 是世界上最...

    Nocturn, 多平台 Twitter 客户端,具有反应重现和电子.zip

    Nocturn, 多平台 Twitter 客户端,具有反应重现和电子 Nocturn多平台 Twitter 客户端,具有反应。重现和电子。 特性使用UserStream的实时时间轴多帐户支持vim键绑定在 Windows,OSX和Linux上工作演示 安装下载存档...

    论文研究-Twitter的Follow关系和Retweet关系对比.pdf

    研究Twitter在线社交网络中,Follow关系和Retweet关系在传播用户影响力和表征用户同质性这两方面的差异。为研究两者在传播用户影响力上的差异,定义了Vf变量和Vr变量分别度量Follow关系和Retweet关系的作用;为研究...

    FlickableView, 用于Android的Flickable版它就像 Twitter 图像细节的一个视图.zip

    FlickableView, 用于Android的Flickable版它就像 Twitter 图像细节的一个视图 FlickableView 用于Android的Flickable版。它就像 Twitter 图像细节的一个视图。...特性移动( 向上,向下)缩放Flick ( 向上,向

    ConfigBus:Twitter的动态配置实践

    它使组织能够快速、大胆地迭代新特性,并提供工具,减少与更改现有系统相关的风险。在Twitter的早期,应用程序管理并分发自己的配置,通常存储在ZooKeeper中。但是,我们以前使用ZooKeeper的经验表明,它在用作通用...

    Twitter的洗手液「Twitter Sanitizer」-crx插件

    通过隐藏不同的特性来提高你的Twitter体验。 此扩展名使您可以隐藏Twitter的不同部分。 最显着的功能是删除关注者,喜欢和几乎所有数字。 您还可以通过从每个推文中删除操作按钮(回复,转推等)来使进纸更加紧凑。 ...

    jQuery实现Twitter的自动文字补齐特效

    上图效果可以使用jQuery插件Typeahead.js来实现,这款jQuery插件来自于Twitter的一个新的项目,支持远程和本地的数据集。比较有特色的地方在于你可以将数据集使用本地存储(local storage)来保存在本地,有效的提高...

    Twitter的雪花算法SnowFlake,使用Java语言实现。.zip

    面向对象:Java全面支持面向对象的特性,如封装、继承和多态,使得代码更易于维护和扩展。 安全:Java提供了丰富的安全特性,如禁止指针运算、自动内存管理和异常处理机制,以减少程序错误和恶意攻击的可能性。 ...

    前缀的推特「PREFiX for Twitter」-crx插件

    # 主要特性 # - 简洁、优雅的 UI 设计 - Retina 支持 - Streaming API 支持、实时推送桌面通知 - 云端同步 @ 和私信阅读位置 - 支持上传图片 (通过剪贴板、拖放或直接选择文件) - 平滑滚动效果 - 支持 Vim 风格...

    Ubuntu 12.10 中文64位版.iso

    根据Ubuntu 12.10 发布进程,Ubuntu 12.10 Beta 1 已经发布,主要更新特性有Unity、主题、Firefox、LibreOffice、Ubuntu One等。 Ubuntu 12.10 正式版特性: 采用了新的 Linux 3.5 内核 一些I/O和安全方面的...

    数据实时分析平台Heron.zip

    Compatibility with Storm:Heron提供了完全兼容Storm的特性,所我们无需再为新系统投资太多的时间和资源。另外,不要更改代码就可在Heron中运行现有的Storm topologies,实现轻松地迁移。 Scalability and ...

    Jisko 3.0 RC1.gz

    特性: 1.Jisko可以很轻松让你跟网友之间进行分享信息,它可以帮助你和你的公司在部门之间和员工之间提高内部的组织性。 2.Jisko可以被安装在任何web服务器上,在世界任何地方都可以访问到,同时它也支持移动设备,...

    数据集-《情感数据集》

    text:表示Twitter消息内容的字符串特性。 标签:表示主要情绪的分类标签,值从0到5。 【适用场景】 情绪分析:揭示英语Twitter消息中各种情绪的流行情绪。 情绪分类:开发模型,将tweet准确地划分为六种指定的情绪类别...

    新一代的博客源码下载

    新一代的博客 成熟的系统架构 方便的内容导入导出 先进的评论体系 无须数据库且支持多种数据库 独立页面发布功能 多用户支持 多语言支持 Trackback 和 Pingback 特性 灵活易用的插件机制 酷炫主题支持 符合 XHTML ...

    MoreCreaturesMod

    Twitter发送允许将宝藏妖精公告广播到Twitter (如果启用Twitter)生物变化现在,您可以选择将鲸鱼制成家畜,可以用绳子将其引导,并可以将其挤奶( )动物: 水蟒新特性红色(基于眼镜蛇王) 黑寡妇基于雾蜘蛛伤害-...

Global site tag (gtag.js) - Google Analytics