正如你看到文章的标题所示.这是一个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. [deviceone开发]-do_SegmentView和do_SlideView联动的示例

    一.简介 示例展示do_SegmentView和do_SlideView联动的使用,这二个组件很常用,而且这个组合也非常常用,类似网易新闻的效果,上面滑动带动下面的slideview滑动,反过来也是. ...

  2. [python]初试页面抓取——抓取沪深股市交易龙虎榜数据

    [python]抓取沪深股市交易龙虎榜数据 python 3.5.0下运行 没做自动建立files文件夹,需要手动在py文件目录下建立files文件夹后运行 #coding=utf-8 import ...

  3. table tr foreach td 换行

    @{ ;} <table style=" class="sy_table"> <tr> @foreach (DataRow dr in (View ...

  4. JS学习笔记9之event事件及其他事件

    -->鼠标事件-->event事件对象-->默认事件-->键盘事件(keyCode)-->拖拽效果 一.鼠标事件 onclick ---------------鼠标点击事 ...

  5. iOS之数据持久化方案

    概论 所谓的持久化,就是将数据保存到硬盘中,使得在应用程序或机器重启后可以继续访问之前保存的数据.在iOS开发中,有很多数据持久化的方案,接下来我将尝试着介绍一下5种方案: plist文件(属性列表) ...

  6. Linux2.6内核--进程调度理论

    从1991年Linux的第1版到后来的2.4内核系列,Linux的调度程序都相当简陋,设计近乎原始,见0.11版内核进程调度.当然它很容易理解,但是它在众多可运行进程或者多处理器的环境下都难以胜任. ...

  7. (三)Maven仓库介绍与本地仓库配置

    1.Maven本地仓库/远程仓库的基本介绍 示意图: 本地仓库是指存在于我们本机的仓库,在我们加入依赖时候,首先会跑到我们的本地仓库去找,如果找不到则会跑到远程仓库中去找.对于依赖的包大家可以从这个地 ...

  8. php 日期计算 总结

    1 加 2天 date("Y-m-d", strtotime("$today + 2 days")); date("Y-m-d", strt ...

  9. sp_addlinkedserver '(null)' is an invalid product name

    使用SSMS 2008客户端工具逆向生成了创建链接服务器的脚本时,在测试环境执行是报如下错误:'(null)' is an invalid product name. USE [master] GO ...

  10. C++ string类的实现

    c++中string类的实现 今天面试被考到了, 全给忘记了!!!   //string类的实现 #include <iostream> #include <string.h> ...