正如你看到文章的标题所示.这是一个Dribbble 基于windows phone 8的客户端.[开源项目]

对于大部分的开发人员来说很少关注Dribbble[不妨打开看看或是注册一个player账号]社区.当然我也是年前开始开始在这个社区里游荡.简单来说Dribbble是一个面向创作者、设计师等创意类作品的人群,提供在线展示作品的一个平台.国内设计类社区看到@夏涛做的一个方格本算得上是比较纯粹的.大部分专业设计师还是直接转战到DribbbleBehanceCargo等社区.如果你觉得这些还不够直观.你可以看看国内整理一些在Dribbble一些交互设计[那些过目不忘的无线交互设计-from dribbble].应该能对你Dribbble社区有一个直观的印象.

在Dribbble上基本上能够看多目前很多顶级设计师发的一些作品.活跃而有名都无需过多介绍随意列举一些:

Eric Hoffman:Jellyjar的设计师 社区知名度较高.

Jeff Broderick:Collective Ray设计师

Mark Jardine:著名的两人团队Tapbots成员.作品包含Tweetbot、Converbot等

Jonatan Castro: Squire、Flight Card的设计者.

James McDonald: 作品包含Fav.tv、Gifture app等

Danny Trinh : Path的设计师.

……

说道Dribbble原来在有人在weibo上问我和Behance的区别. 如下说一些个人的体会.

当你打开Dribbble 如果你没有注册或登录账户你会发现在Title会有一个banner如下:

如果你留意过上面写的话:

What are you working on?

--Dribbble is show and tell for designers

其实它并不是Dribbble的广告.应该算是这个社区的口号:“你正在创作什么?”通过这句话你应该清晰感受Dribbble鼓励创造者上传个人的作品、以及正在创作的作品到Dribbble上来.虽然可以上传一些附件.但你发现每个shot主要内容是一张400*300的小图.它设计的初衷就是为了展现设计中一些Detail细节.用限定大小的方法能够保证用户能够指定的时间看到更多的作品.

如果你常在Dribbble社区上看作品.你应该会知道Dribbble上作品以GUI设计、平面设计、插图、VI设计为主.这点相对Behance上种类显得更多.还包含了广告、建筑、摄影、motion等等.Dribbble上需要会员邀请才能发布作品.而这种片段式作品 更加注重的反馈和成员之间的交流.Dribbble盈利模式其实很简单就是靠用户购买付费账户的服务.而Behance则是一个作品集合的平台.它最大的特色里面很多设计方案都是已经发布成型的产品.而相对Dribbble展示300*400区域小而美.Behance则针对单个作品设置和展示的内容和自由度多太多了.

如果用一句话来概括这两社区”性格”特点: Behance 严肃而严谨. Dribbble调皮而富有创新. 各取所需又各有交集.

说了这么多.回到正题.我原来并不知道Dribbble有API.只是用过期IOS上客户端直到有一天无意在期团队Blog中发现API更新Realse note 才发现Dribble API. 于是.在通读完了后.梳理完APi接口,就毫不犹豫打算开发一个Dribbble windows phone 8客户端. 于是乎 经过3天设计和空闲时间开发就有了如下面貌:

Popular:

Everyone:

Debuts:

Designer[Search]:

Detail[Shot]:

Comments[Shot]:

User Profile:

User Recent Shots:

User Following:

User Followers:

这个版本功能功能并不多.至于为什么开发这些.有些问题放在后面说. 首先说一下当前版本存在功能:

A:通过Popular、Everyone、Debuts浏览分类下作品.

B:点击单个Shot可以浏览每个作品详情、作品评论、以及创造者信息.[点击用户头像可以进入用户详情]

C:点击用户头像[圆形]可以浏览用户详细信息、近期作品、粉丝、关注列表.

D:通过username[唯一id]搜索dribble中用户.点击可以查看改用详细信息.

大概功能如上.它主要目的用来浏览Dribble社区内容.用户不能发表评论.关注用户等交互操作.这个主要因为目前Dribbble APi还是beta版本. 你如果要问我为何只有popular而没有highlight分类. 凡是api开发出来涉及到功能基本在这个版本都体现出来.如果没有这个功能其实真正的原因是dribbble 并没有开放这部分api. 官方开放的api列表如下:

Dribbble APIs:

  1. GET/shots/:id [http://dribbble.com/api#get_shot] 通过作品唯一shot id.返回一个作品的详细信息.
  2. GET/shots/:id/rebounds [http://dribbble.com/api#get_shot_rebounds] 通过一个shot id【中rebound_Source_Id】返回该shot 中Rebounds集中内容.
  3. GET/shots/:list [http://dribbble.com/api#get_shots_list] 通过一个特定分类返回该分类下所有的Shot数据集合内容 [支持分页]
  4. GET/players/:id/shots [http://dribbble.com/api#get_player_shots] 根据特定用户唯一的username 返回该用户最近发布是shot内容.[支持分页]
  5. GET/players/:id/shots/following [http://dribbble.com/api#get_player_shots_following] 根据一个关注用户唯一的username 返回该用户关注好友最近发布的所有shot内容.[支持分页]
  6. GET/players/:id/shots/likes [http://dribbble.com/api#get_player_shots_likes] 根据一个特定用户唯一的username 返回该该用户喜欢的Shots集合内容[支持分页]
  7. GET/players/:id [http://dribbble.com/api#get_player] 根据用户唯一的username获取该用户个人信息.
  8. GET/players/:id/followers[http://dribbble.com/api#get_player_followers] 根据用户唯一的username获取该用户粉丝列表.
  9. GET/players/:id/following[http://dribbble.com/api#get_player_following] 根据用户的唯一username获取该用户的关注列表
  10. GET /players/:id/draftees [http://dribbble.com/api#get_player_draftees] 根据用户的唯一的username 获取该用户的对应Draftees列表.
  11. GET /shots/:id/comments [http://dribbble.com/api#get_shot_comments] 根据指定shot id获取该作品的所有的评论列表.

FAQ:这个版本后是否还会继续维护?

不会.主要是因为目前Dribbble API BEta版本存在很大的问题.

FAQ:为何出现加载数据不全?或是提示稍后加载数据?偶尔还会有崩溃.

首先我想正式说明这个问题.我为何放弃这个版本维护? 主要是因为Dribbble 目前API存在一些比较重大缺陷.导致客户端有些问题不可控.首先官方在API限制如下:

API calls are limited to 60 per minute and 10,000 per day

每分钟请求数量不能超过60次.每天不要超过1W次.60次在一分钟基本够用.但偶尔在请求比较丰富ui文本会返回:

"Rate Limit Exceeded

如果你看到这个提示不要奇怪.这个是因为服务器端针对APi请求次数的限制.稍后一分钟后在请操作及正常使用. 如果你在某些页面出现意外的Crash崩溃现象.或是提示”Json Format is invalid” 这个事什么问题?主要是Dribbble API在某些情况下类似一天请求次数过多.或是服务器响应请求时间过长导致请求timeout.要接受的Json数据格式不完整.解析Json时出现Exception.导致应用程序崩溃.而且出现问题基本在所有接口调试过程都出现过.不过客户端已经处理.在正常使用过程中基本不会出现这种情况.但还会有提示.这些问题我已经向官方询问并反馈.得到答复是等待正式版API发布.

正式因为Dribbble APi现在BEta版本存在这些的硬伤. 让我觉得维护这个版本开发已经没有多莫大的意义. 所以这个客户端并不会发布到市场[如果有人可以代发也是可以的].当然这个版本没有经过严格测试.我也偷懒了没有做UT.所以如果你遇到某些bug导致客户端崩溃.还请谅解.

基于如上原因开源这个项目.遵循BSD开源协议.

项目源码: [https://github.com/chenkai/dribbble-for-windows-phone-8]

Contact: [@chenkaihome]

Dribbble for windows phone 8的更多相关文章

  1. Windows server 2012 添加中文语言包(英文转为中文)(离线)

    Windows server 2012 添加中文语言包(英文转为中文)(离线) 相关资料: 公司环境:亚马孙aws虚拟机 英文版Windows2012 中文SQL Server2012安装包,需要安装 ...

  2. Windows Server 2012 NIC Teaming介绍及注意事项

    Windows Server 2012 NIC Teaming介绍及注意事项 转载自:http://www.it165.net/os/html/201303/4799.html Windows Ser ...

  3. C# 注册 Windows 热键

    闲扯: 前几日,一个朋友问我如何实现按 F1 键实现粘贴(Ctrl+V)功能,百度了一个方法,发给他,他看不懂(已经是 Boss 的曾经的码农),我就做了个Demo给他参考.今日得空,将 Demo 整 ...

  4. Windows 7上执行Cake 报错原因是Powershell 版本问题

    在Windows 7 SP1 电脑上执行Cake的的例子 http://cakebuild.net/docs/tutorials/getting-started ,运行./Build.ps1 报下面的 ...

  5. 在离线环境中发布.NET Core至Windows Server 2008

    在离线环境中发布.NET Core至Windows Server 2008 0x00 写在开始 之前一篇博客中写了在离线环境中使用.NET Core,之后一边学习一边写了一些页面作为测试,现在打算发布 ...

  6. Windows平台分布式架构实践 - 负载均衡

    概述 最近.NET的世界开始闹腾了,微软官方终于加入到了对.NET跨平台的支持,并且在不久的将来,我们在VS里面写的代码可能就可以通过Mono直接在Linux和Mac上运行.那么大家(开发者和企业)为 ...

  7. dll文件32位64位检测工具以及Windows文件夹SysWow64的坑

    自从操作系统升级到64位以后,就要不断的需要面对32位.64位的问题.相信有很多人并不是很清楚32位程序与64位程序的区别,以及Program Files (x86),Program Files的区别 ...

  8. 在docker中运行ASP.NET Core Web API应用程序(附AWS Windows Server 2016 widt Container实战案例)

    环境准备 1.亚马逊EC2 Windows Server 2016 with Container 2.Visual Studio 2015 Enterprise(Profresianal要装Updat ...

  9. 1.初始Windows Server 2012 R2 Hyper-V + 系统安装详细

    干啥的?现在企业服务器都是分开的,比如图片服务器,数据库服务器,redis服务器等等,或多或少一个网站都会用到多个服务器,而服务器的成本很高,要是动不动采购几十台,公司绝对吃不消的,于是虚拟化技术出来 ...

随机推荐

  1. c#的那些有效性判断

    在开发中合理的对象有效性判断是程序健壮性的重要保障,也有利于提高程序的执行效率.本人简单总结了几个需要判断对象是否为空的例子,分享如下: 一.集合对象中可以包含空对象,遍历集合对象时要同时判断集合中的 ...

  2. autocomplete="off" 不起作用

    首先来了解一下 表单自动填充的原理,当我们登录的时候,如果选择的记住登录密码,那么后续界面中如果有 <input type="text" name="field1& ...

  3. Cordova中使用gulp

    打开package.json,添加main:gulpfile.js     在dependencies中添加gulp,vs2015十分智能,可以智能从npm中获取依赖如下图:     在添加过程中注意 ...

  4. HotApp小程序统计之自定义事件统计

    什么是自定义事件统计     官网:https://weixin.hotapp.cn/document 自定事件,就是自定统计任意事件的执行,灵活度最高. 用上图的云笔记说明想知道如下信息 (1)多少 ...

  5. entity Framework codefirst Migrations

    一次数据迁移的记录 首先在vs工具里面使用打开程序包管理器控制台 在控制台上面选择程序集为数据访问层 注意配置生成app里面的连接字符串 在控制台输入 Enable-Migrations 会自动生成一 ...

  6. 原生JS获取元素集合的子元素宽度

    有些时候,在一个网页的ul li中,存在左右两个部分的内容,但是右边元素内容又是不固定,左边元素相对应的不能用固定宽度,所有需要我们动态的获取右边元素宽度,来赋值给左边元素的marginRight值. ...

  7. iOS Swift-元组tuples(The Swift Programming Language)

    iOS Swift-元组tuples(The Swift Programming Language) 什么是元组? 元组(tuples)是把多个值组合成一个复合值,元组内的值可以使任意类型,并不要求是 ...

  8. Android measure过程分析

    作为一名Android开发人员,我们都知道一个View从无到有,会经历3个阶段: 1. measure/测量阶段,也就是确定某个view大小的过程: 2. layout/布局阶段,也就是确定其左上右下 ...

  9. Cucumber测试驱动开发

     Cucumber是一种BDD实践开发工具,属于敏捷开发的组成部分.      在敏捷开发中,对用户进行需求分析时,不是像传统的P&D的开发方式,首先编写大量的用户需求分析文档,而是通过一个个 ...

  10. 我们为什么要使用maven,公司推行maven杂谈

    最近在公司内推荐使用maven,推荐一个落后于业内十年的技术,实在没什么好说的,可是没想到遇到了前所未有的阻力,总是听到各种各样的质疑,我就闹不明白了,推行这个东西是为了更规范的管理项目成果,方便大家 ...