Reeder Web版
Reeder Web版
访Reeder界面效果
一直很欣赏触控手势的代码实现,所以最近折腾了个Javascript触控手势库--JTouch,效果还有诸多不完善之处,苦于硬件设备不完善,针对ie10的兼容性一直没有跟上。在版本更新到1.1的时候,又颠覆了自己的好多想法,代码的改动量上比较大。小的改动随时都会出现,所以也就一直在1.1上改来改去。
Github地址:https://github.com/liutian1937/Reeder
Demo地址:http://liutian1937.github.io/Reeder/demo.html
图片未完全载入会影响效果,现在采用的兼听图片onload的方式,仍旧有不足,求点子
在改动JTouch的同时一直想要拿它去搞个什么东西,某天仔细研究了Reeder的界面效果,马上被其低调的奢华吸引了。所以决定拿JTouch做个Reeder的web版,当然只是界面的Web版...不过话说,我是想写个php的后端来配合这个界面的...
先说说Reeder是什么东西:
《Reeder》是一款评价极高的谷歌阅读器Google Reader软件,获得了2600多个5星评价。软件简约的UI和强大的功能都是其重要特色。首先,它支持与Google Reader云端同步,支持文件夹分类管理,还可以给RSS条目加星或做注释,还支持条目分享,图片缓存,状态保存等等。在其他服务的关联方面,Reeder还支持Instapaper/ReadItLater,还可以发送给Delicious/Pinbard或Twitter。
想法到产品的进化过程(比较水)
想必很多人并不关心这个东西,因为我也是这样,来看这个的人肯定喜欢干货(直白的代码更有说服力)。但是我感觉说点这个还是有必要的,本人水平有限,扯淡也一般,所以扯点白话大家就凑合着看一下。首先个人是比较倾向于表现类的开发的,因为当你看到你写出来的东西实现了某个效果的时候是比较有成就感的。对于开发表现类的东西,我总结了个人的一些见解:
- 你要清楚有哪些交互过程,有哪些动画,有哪里是需要用到数据交互的。
- 根据你的理解将这些东西进行分块,最好越详细越好,然后将这个块再组合起来,看哪些地方是通用的可以用公共的函数,哪些地方是需要单独封装的等等。(我一般会在纸上画这些东西)
- 这步比较轻松,躺在床上想就行了,至少我喜欢这样。看完第二部的模块之后,我并不会着手写代码,而是会花点时间想,当然经常睡着...
- 入手写demo,由于每个人水平不同,但是我们的目的是相同的,这一步要求个人根据自己水平写demo,不管用不用模块,用不用封装,不计较代码效率的也要写出表现效果来。(当然别写的你自己都不认识了)
- 写好demo,重新审查自己的代码,进行优化,简化,封装等等
- 在感觉自己把第5步做的还算ok了,去google搜索类似的小模块,参考别人的代码,然后完善自己的demo...
代码中用到了哪些东西(部分要点)
- 手势事件,我用的自己的JTouch库,貌似是多余了一点,因为手势并不多。失败之处,造成耦合。
- Font Icon,文字小图标,支持将代码转换成小图标,我用的 IconMoon的文字库,http://icomoon.io/app/(需要现代浏览器支持)
- translate实现的动画效果,以及各种高度,宽度,滚动距离的判断,其中的算法给我折腾的很迷糊
- 兼容性与初始化的问题
- 异步加载数据,与监听图片完全载入
- JTouch鼠标触控手势库,JNav实现的是左侧一直停留在顶部的导航,JScroll是支持手势操作的容器(放出的接口比较乱,请静待注释),Common是一些公共函数
实现的效果
- 内容与导航部分支持触控手势与鼠标手势
- 左侧导航跟随并滚动到底部静止
- 左侧控制选择前一篇后一篇
- 横向拖拽标题导航可以实现简单数据交互
- 右侧拖拽到顶部或者底部异步加载数据
不足之处
- 多浏览器兼容性方面
- 性能消耗
- 图片完全载入的监测
- 耦合性
- ...
Reeder Web版的更多相关文章
- Node学习笔记(三):基于socket.io web版你画我猜(一)
经过惨淡的面试,也是知道了自己的不足,刚好最近在学习node,心中便有了做一个web版的你画我猜的想法 首先说下思路,在做准备工作的时候,有两个大概的思路: 1.规定一块div,捕捉鼠标事件,动态生成 ...
- 网站压力负载测试工具:Web版已逝,只好送大伙单机版
前言: 最近老板资金周转出了点问题,工资好久没发了,于是暂闲置在家,静待老板弄到钱东山再起的消息: QQ群里,偶尔不时的会有人问,原来的分布式网站负载工具怎么下载不了啦?或者不能用啦?之类的问题. 我 ...
- 挖掘微信Web版通信的全过程 [转]
昨天是周末,在家闲得无聊,于是去weiphone.com逛了一圈,偶然发现有人发了一帖叫<微信 for Mac>, 这勾起了我的好奇心,国内做Mac开发的人确实很少,对于那些能够独自开发一 ...
- RDIFramework.NET Web版介绍
RDIFramework.NET Web版介绍 B/S结构(Browser/Server,浏览器/服务器模式),是WEB兴起后的一种网络结构模式,WEB浏览器是客户端最主要的应用软件.这种模式统一了 ...
- RDIFramework.NET V2.5(.NET快速信息化系统开发框架) Web版界面样例(可参考)
RDIFramework.NET V2.5(.NET快速信息化系统开发框架) Web版介绍 现已升级到V2.8,点击查看 B/S结构(Browser/Server,浏览器/服务器模式),是WEB兴起 ...
- WEB版一次选择多个文件进行批量上传(Plupload)的解决方案
WEB版一次选择多个文件进行批量上传(Plupload)的解决方案 转载自http://www.cnblogs.com/chillsrc/archive/2013/01/30/2883648.htm ...
- Web版RSS阅读器(三)——解析在线Rss订阅
上篇博客<Web版RSS阅读器(二)——使用dTree树形加载rss订阅分组列表>已经写到读取rss订阅列表了,今天就说一下,当获取一条在线rss订阅的信息,怎么去解析它,从而获取文章或资 ...
- Web版的各种聊天工具
直到近期为止,我们经常使用的即时聊天工具(QQ.msn等)了Web版,大家不用下载庞大软件,直接打开网页就能够与自己的好友聊天,非常方便.在此将时汇总 便于大家查找 节约大 ...
- 挖掘微信Web版通信的全过程
昨天是周末,在家闲得无聊,于是去weiphone.com逛了一圈,偶然发现有人发了一帖叫<微信 for Mac>,这勾起了我的好奇心,国内做Mac开发的人确实很少,对于那些能够独自开发一些 ...
随机推荐
- likely()与unlikely()
he gcc C compiler has a built-in directive that optimizes conditional branches as either very likely ...
- The Swift Programming Language-官方教程精译Swift(9) 枚举-- --Enumerations
枚举定义了一个通用类型的一组相关的值,使你可以在你的代码中以一个安全的方式来使用这些值. 如果你熟悉 C 语言,你就会知道,在 C 语言中枚举指定相关名称为一组整型值.Swift 中的枚举更加灵活 ...
- PL/SQL联系oracle成功可以sql解决的办法是检查表的名称无法显示
有时,因为机器突然断电或其他原因PL/SQL它甚至不能在数据库表后显示.序列和其它元素.使用SQL Windows运行查询一般查询,登录或同样的现象再次. 我是不是可以解决因重复登录的猜测是,PLSQ ...
- 【Heritrix基础教程2】Heritrix基本介绍
1.版本号说明 (1)最新的版本号:3.3.0 (2)最新release版本号:3.2.0 (3)重要历史版本号:1.14.4 3.1.0及之前的版本号:http://sourceforge.net/ ...
- 利用@media screen实现网页布局的自适应,@media screen and
开始研究响应式web设计,CSS3 Media Queries是入门.Media Queries,其作用就是允许添加表达式用以确定媒体的环境情况,以此来应用不同的样式表.换句话说,其允许我们在不改变内 ...
- js对象字面量
在编程语言中,字面量是一种表示值的记法.例如,"Hello, World!" 在许多语言中都表示一个字符串字面量(string literal ),JavaScript也不例外.以 ...
- CodeSmith 生成代码
使用CodeSmith 生成代码 CodeSmith是一款优秀的代码生成工具.在ORM中,它能帮助我们生成实体类.XML配置文件,从而简化了我们一部分的开发工作.下面简要说说它的基本用法. 1. 打 ...
- CSS学习笔记:利用border绘制三角形
在前端的笔试.面试过程中,经常会出现一些不规则图形的CSS设置,基本上多是矩形外加一个三角形.利用CSS属性可以实现三角形的生成,主要利用上下左右的边距的折叠. 1.第一种图形: .box { wid ...
- MVC5模板部署到mono
VS2013中的MVC5模板部署到mono上的艰辛历程 2014-10-27 09:30 by FuzhePan, 3954 阅读, 46 评论, 收藏, 编辑 部署环境:CentOS7 + Mono ...
- Linux Shell脚本入门--awk命令详解
简单使用: awk :对于文件中一行行的独处来执行操作 . awk -F :'{print $1,$4}' :使用‘:’来分割这一行,把这一行的第一第四个域打印出来 . 详细介绍: AWK命令介绍 ...