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。

想法到产品的进化过程(比较水)

想必很多人并不关心这个东西,因为我也是这样,来看这个的人肯定喜欢干货(直白的代码更有说服力)。但是我感觉说点这个还是有必要的,本人水平有限,扯淡也一般,所以扯点白话大家就凑合着看一下。首先个人是比较倾向于表现类的开发的,因为当你看到你写出来的东西实现了某个效果的时候是比较有成就感的。对于开发表现类的东西,我总结了个人的一些见解:

  1. 你要清楚有哪些交互过程,有哪些动画,有哪里是需要用到数据交互的。
  2. 根据你的理解将这些东西进行分块,最好越详细越好,然后将这个块再组合起来,看哪些地方是通用的可以用公共的函数,哪些地方是需要单独封装的等等。(我一般会在纸上画这些东西)
  3. 这步比较轻松,躺在床上想就行了,至少我喜欢这样。看完第二部的模块之后,我并不会着手写代码,而是会花点时间想,当然经常睡着...
  4. 入手写demo,由于每个人水平不同,但是我们的目的是相同的,这一步要求个人根据自己水平写demo,不管用不用模块,用不用封装,不计较代码效率的也要写出表现效果来。(当然别写的你自己都不认识了)
  5. 写好demo,重新审查自己的代码,进行优化,简化,封装等等
  6. 在感觉自己把第5步做的还算ok了,去google搜索类似的小模块,参考别人的代码,然后完善自己的demo...

代码中用到了哪些东西(部分要点)

  1. 手势事件,我用的自己的JTouch库,貌似是多余了一点,因为手势并不多。失败之处,造成耦合。
  2. Font Icon,文字小图标,支持将代码转换成小图标,我用的 IconMoon的文字库,http://icomoon.io/app/(需要现代浏览器支持)
  3. translate实现的动画效果,以及各种高度,宽度,滚动距离的判断,其中的算法给我折腾的很迷糊
  4. 兼容性与初始化的问题
  5. 异步加载数据,与监听图片完全载入
  6. JTouch鼠标触控手势库,JNav实现的是左侧一直停留在顶部的导航,JScroll是支持手势操作的容器(放出的接口比较乱,请静待注释),Common是一些公共函数

实现的效果

  • 内容与导航部分支持触控手势与鼠标手势
  • 左侧导航跟随并滚动到底部静止
  • 左侧控制选择前一篇后一篇
  • 横向拖拽标题导航可以实现简单数据交互
  • 右侧拖拽到顶部或者底部异步加载数据

不足之处

  • 多浏览器兼容性方面
  • 性能消耗
  • 图片完全载入的监测
  • 耦合性
  • ...
 
 
 
标签: javascriptjtouch

Reeder Web版的更多相关文章

  1. Node学习笔记(三):基于socket.io web版你画我猜(一)

    经过惨淡的面试,也是知道了自己的不足,刚好最近在学习node,心中便有了做一个web版的你画我猜的想法 首先说下思路,在做准备工作的时候,有两个大概的思路: 1.规定一块div,捕捉鼠标事件,动态生成 ...

  2. 网站压力负载测试工具:Web版已逝,只好送大伙单机版

    前言: 最近老板资金周转出了点问题,工资好久没发了,于是暂闲置在家,静待老板弄到钱东山再起的消息: QQ群里,偶尔不时的会有人问,原来的分布式网站负载工具怎么下载不了啦?或者不能用啦?之类的问题. 我 ...

  3. 挖掘微信Web版通信的全过程 [转]

    昨天是周末,在家闲得无聊,于是去weiphone.com逛了一圈,偶然发现有人发了一帖叫<微信 for Mac>, 这勾起了我的好奇心,国内做Mac开发的人确实很少,对于那些能够独自开发一 ...

  4. RDIFramework.NET Web版介绍

    RDIFramework.NET  Web版介绍 B/S结构(Browser/Server,浏览器/服务器模式),是WEB兴起后的一种网络结构模式,WEB浏览器是客户端最主要的应用软件.这种模式统一了 ...

  5. RDIFramework.NET V2.5(.NET快速信息化系统开发框架) Web版界面样例(可参考)

    RDIFramework.NET V2.5(.NET快速信息化系统开发框架)  Web版介绍 现已升级到V2.8,点击查看 B/S结构(Browser/Server,浏览器/服务器模式),是WEB兴起 ...

  6. WEB版一次选择多个文件进行批量上传(Plupload)的解决方案

    WEB版一次选择多个文件进行批量上传(Plupload)的解决方案  转载自http://www.cnblogs.com/chillsrc/archive/2013/01/30/2883648.htm ...

  7. Web版RSS阅读器(三)——解析在线Rss订阅

    上篇博客<Web版RSS阅读器(二)——使用dTree树形加载rss订阅分组列表>已经写到读取rss订阅列表了,今天就说一下,当获取一条在线rss订阅的信息,怎么去解析它,从而获取文章或资 ...

  8. Web版的各种聊天工具

    直到近期为止,我们经常使用的即时聊天工具(QQ.msn等)了Web版,大家不用下载庞大软件,直接打开网页就能够与自己的好友聊天,非常方便.在此将时汇总        便于大家查找        节约大 ...

  9. 挖掘微信Web版通信的全过程

    昨天是周末,在家闲得无聊,于是去weiphone.com逛了一圈,偶然发现有人发了一帖叫<微信 for Mac>,这勾起了我的好奇心,国内做Mac开发的人确实很少,对于那些能够独自开发一些 ...

随机推荐

  1. C#中设计Fluent API

    C#中设计Fluent API 我们经常使用的一些框架例如:EF,Automaper,NHibernate等都提供了非常优秀的Fluent API, 这样的API充分利用了VS的智能提示,而且写出来的 ...

  2. 【Leetcode】Remove Duplicates from Sorted List in JAVA

    Given a sorted linked list, delete all duplicates such that each element appear only once. For examp ...

  3. 将已有的工程项目添加到Xcode到Git管理中

    在Xcode中创建工程的时候,我们很容易的可以将新创建的工程添加到Git中,如图: 但是如果是本地已经有的工程,那该如何添加到Git中呢? 首先终端进入到该工程的目录. 然后: git init gi ...

  4. 一道关于CSS选择器优先级的题

    <span style="font-size:14px;"><html> <head> <style type="text/cs ...

  5. Installshield 64位操作系统下拷贝文件,如何重定向到32位的系统文件夹下

    原文:Installshield 64位操作系统下拷贝文件,如何重定向到32位的系统文件夹下 64位操作系统下拷贝文件重定向问题,在在复制代码前加上Disable(WOW64FSREDIRECTION ...

  6. 顶级jQuery树插件

    顶级jQuery树插件 顶级jQuery树插件 2013-03-05 17:20 139人阅读 评论(0) 收藏 举报 jsTree JsTree是一个基于jQuery的Tree控件.支持HTML.J ...

  7. 2. SQL Server数据库状态监控 - 错误日志

    原文:2. SQL Server数据库状态监控 - 错误日志 无论是操作系统 (Unix 或者Windows),还是应用程序 (Web 服务,数据库系统等等) ,通常都有自身的日志机制,以便故障时追溯 ...

  8. 安装Visual Studio 2010 - 初学者系列 - 学习者系列文章

    本文讲述如何安装Visual Studio 2010开发工具. 首先,通过下列地址获取Visual Studio 2010的副本 1.开始页面 2.欢迎页 3.这里选择 自定义 ,选择安装路径 4.这 ...

  9. javascript 学习总结(七)String对象

    1.string对象中可以传正则的函数介绍 /* match() 方法可在字符串内检索指定的值,或找到一个或多个正则表达式的匹配. 该方法类似 indexOf() 和 lastIndexOf(),但是 ...

  10. MySQL5.7 安装过程中出现 attempting to start service 过不去

    MySQL5.7 安装过程中出现 attempting to start service 过不去. 1,机制打开服务,把MySql服务名启动(我的是MySqlAliyun) 启动失败:提示1067错误 ...