Android开发者素描:开发出Twidere的95后宅里奥

移动开发
宅里奥是个 95 后,今年刚成年,作为一个 twitter 用户, 宅里奥很大的一个乐趣就是试用各种各样的第三方客户端,为何自己不开发一个?于是Twidere 诞生了。

不知道诸位推友平时都用什么客户端上推呢? 是稳定流畅, 功能齐全的 Falcon Pro, 动画炫酷的 Carbon, 操作新颖的 TweetLanes, 风格简约的 Tweedle, 还是平庸无奇的官方客户端? 依靠着这些各具特色的客户端每天, 大家得以用不同的姿势愉快地刷推。 但是, 如果你身在天朝, 也许, 你的手机里还会有另外一个客户端 —— Twidere。

Twidere 的开发者是一位并不平凡的学生。 今天我要讲述的, 就是关于他的故事。

nyancat

初遇

『这个世界真小啊。』很多人, 在很多时候, 都会难免这么感叹。

之所以我会这么感叹, 很大的原因是因为认识宅里奥。 而我们会认识, 概括起来说就是四个字: 机缘巧合。

一切都发生得很随意。

在今年二月的时候, Uucky 突然问我: 『知道宅里奥吗?』

『知道啊, 就是那个 Twidere 的开发者嘛。』 我漫不经心的回答道。

Uucky 追问道: 『那么你对他有什么了解吗?』

我突然觉得有些不对劲。

『高三党, 宅男, 开发者, 天然黑。』我如实说出了那时宅里奥在我心目中的印象。

追问还在继续: 『那你觉得他的技术是什么水平呢?』

『嗯。。。 你看, 宅里奥作为一个高三学生, 水平已经很厉害了啊。。。 话说, 为什么突然问这些问题?』我终于找到机会, 回问道。

『因为。。。 他在我们隔壁班。』

起源

宅里奥是个 95 后,今年刚成年。 而宅里奥这个名字, 其实就是简单地把马里奥和宅结合而已, 并没有什么特殊的含义

和很多年少有成的开发者一样, 宅里奥从很早就表现出了与众不同之处。 早在初二的时候, 他就注册了 Twitter。 这可以说是一切的开端吧。 在那个时候, 国内的 Twitter 用户基本上是科技圈里的一群人, 作为一个初中生, 宅里奥接触 Twitter 的时间算是很早了。

如白驹过隙一般, 时间就这样流逝了两年。

因为分科, 高一的暑假是没有作业的。 一般情况下, 像这样没有作业的暑假, 大部分人会选择和朋友一起到处疯玩, 或者宅在家里做自己喜欢的事情, 而小部分学霸会选择拼命学习。 但是和大多数人不一样, 宅里奥选择了利用这段时间学习 Android 开发。 幸运的是, 在他学习 Android 开发之后不久, Android 4.0 和 Android Design 就发布了。 因此, 他比起其他开发者, 少走了很多弯路。

宅里奥在学校, 就是一副技术宅的形象。 他经常帮同学和老师捣鼓班上的电脑 —— 大抵对电脑有些了解的, 在学校都逃不过这样的命运吧。 不过, 他也乐于这么做。 他不但经常捣鼓自己班级的电脑, 还经常去帮年段其他班级的同学捣鼓他们的电脑。 和一些孤僻的技术宅或者 geek 不一样, 借着这样的机会, 宅里奥在学校建立了很好的人缘。

成长

作为一个 twitter 用户, 宅里奥很大的一个乐趣就是试用各种各样的第三方客户端。

在 Android 4.0 出来之后很长一段时间里, Android 上都没有 Holo Theme 而又好用的 Twitter 客户端。 那个时候, 比较出名的 Holo 风格的 Twitter 客户端只有 Boid 和 TweetLanes。 当然, 它们的共同点就是, 对 API 支持都不好。 作为天朝推友, 大家都需要良好的 API 支持。 这时候, 宅里奥萌生了自己写一个 Twitter 客户端练手的想法。 甚至, 就连 Twidere 这个名字也是随便起的。 于是, 在灵光一闪和几个玩笑的共同作用下, Twidere 诞生了。

实际上, 很多优秀的第三方应用, 他们之所以优秀, 原因就在于他们都是开发者写给自己用的 —— 比如 Flyne, 比如四次元, 还有, 比如 Twidere。

对于宅里奥来说, 这个客户端最大的需求是使用 API, 其次就是要长得不难看。 但是, 虽然想法很明确, 遇到的问题却有很多。 开始开发 Twidere 时, 宅里奥还不会用 SQLite, 也不太会用网络类的接口。 和大部分个人开发者一样, 宅里奥主要通过上 StackOverflow 查, 问, 向 Twitter 上有经验的开发者请教来解决这些问题。 在我看来, 就算是很多国内成年开发者, 也并不具备这样的解决问题的能力。

因缘

宅里奥并不是一个天才。

仅凭一个人的力量 —— 更何况只是一介初入门槛的高中生 —— 是很难独力开发出一款优秀的 Twitter 客户端的。 在开发 Twidere 的过程中, 宅里奥也得到了不少人的帮助。 据宅里奥自己说, 他拿笔连线都画不直。 对于这样的宅里奥而言, 设计图标等精细的工作是一个不小的挑战。 那么, 我们看到的 Twidere 那些精致的图标等素材是由谁之妙手绘出的呢?

答案当然是 Twitter。

宅里奥在 Twitter 上勾搭了几位会画画/设计的大大帮他画了图标。 而关于图标呢, 还有一点小故事。 最开始的时候, Twidere 的图标是 Twitter 娘 (由 @Rieya@ilovinheart 绘制), 是一个很萌的图标, 可惜因为很多人不理解而最终没有使用她们的设计 (不由得让我想起当初四次元的战场原图标)。 而 @lordfriend 则一直在帮忙做当前版本的七巧板图标。 前面提到, 宅里奥的画画水平奇烂无比, 是 Yuan 帮他把简陋的草图变成现在展翅的七巧板鸟的。

@helijohnny@fdb713 等几位推友则是帮忙做日语的国际化, 当然, 除了他们, 各国都有很多帮宅里奥做翻译的推友。 宅里奥还在 Crowdin 上建立了项目, 希望有更多的人把 Twidere 翻译成更多的语言, 推广到世界各地。 @impulseplus 则教会了宅里奥如何用比较复杂的 SQLite 查询语句。 这些来自不同地方, 甚至不同国家的推友都是宅里奥的良师益友。 在他们的帮助下, Twidere 逐渐的成长, 成熟, 变得更加的漂亮和完善。

想要做出一个好的 Twitter 客户端, 闭门造车显然是不行的。 当初为了做出一个令自己满意的微博客户端用遍了各大平台的微博客户端, 宅里奥也不例外。 宅里奥坦言, 这些第三方客户端大部分都很优秀。 实际上, 大家只要找到一个顺手的就行, 现在 Play Store 里有了那么多种不同风格的客户端, 总有一个合你口味的。

视点

宅里奥喜欢 Android Design。 在大部分情况下, 因为遵循它, 开发者至少不会写出和标准系统风格不搭的应用。 不过, 规范毕竟是死的, 很多时候还是需要稍微变通一下。 就像现在 Google 推行的标准 Drawer, 宅里奥就不是很喜欢 —— 他在 Twidere 中依然采用了旧式的 Drawer。 宅里奥还特别提到了 Timely。 像 Timely 这样的作品, 就绝对不是只遵循 Android Design 能做出来的。 所以, 总体说来就是大体遵循, 适当发挥吧。

作为一个开源应用的开发者, 宅里奥看待付费应用和 IAP 的态度却很开放, 他认为付费应用, IAP 之类都不错。 现在更多人会愿意为应用和服务这些无形的产品买单, 是对开发者们的最大肯定。 宅里奥还透露, 自己在 Play Store 上的某个应用的捐赠版为他挣了几十刀 (可惜因为没有美国信用卡, 没能取出来。。。。

而说到开源, 宅里奥还是比较支持的。 前面也提到, 宅里奥的心态很开放, 支持开源的同时, 也并不反对商业软件。 宅里奥认为, 反对商业软件是没有必要的, 但是很多项目确实是可以把里面一些可以共用的地方分享出来, 这样既可以帮助大家减少劳动力, 又能让其他开发者忙完善。

另外, 宅里奥在微博上其实也很活跃。 在他看来, 微博大致上是一个增加审查和推广的 Twitter 国内版。 而能认识各种各样的人, 才是人们热衷于各种社交网站的理由。 宅里奥在微博上也认识了很多同好, 扩展了自己的交际圈。 宅里奥还提到, 也许会在毕设做个微博客户端。。。 名字都想好了, 就叫 Weidere…

现实

作为一个学生, 宅里奥的成绩可以说是属于比较不理想的。 按照他自己的话说, 他是年级里成绩最差班级的前三名 —— 具体说, 在专科线和本科线间的危险区。 尽管如此, 他还是上了三本。 不过, 这个三本也有它的好处 —— 离家近, 专业和宅里奥的兴趣也一致, 对于这个结果, 他觉得没什么不满的。

和很多人想象的不一样, 身为开发者的宅里奥最擅长的科目是语文和英语, 而令人大跌眼镜的是, 宅里奥的数学其实很差。。。 他的文章行文风趣幽默, 吐槽犀利, 在锋客网大受好评。 至于英语, 宅里奥说, 就是用出来的。 实际上, 宅里奥在 GitHub, Play Store 和 twitter 上都经常和外国友人交流, 但是他依然觉得自己只是读过关, 写不行。 但实际上, 宅里奥的英文水平已经比我见识过的很多国内开发者要高了。 在我看来, 作为 Android 开发者, 英语水平确实应该不能太低, 否则像某些开发者连 Android Design 都看不懂, 怎么能做出优秀的应用?

宅里奥并没有花费很多时间在学业上。 但是和一些有资本不花时间在学业上的人 (比如保送生, 出国党之类) 又不一样, 宅里奥走的是高考道路。 这又增加了他的与众不同。 实际上, 宅里奥并没有怎么考虑过平衡学业与开发这个问题。 他在开发的时候非常拼命, 有的时候甚至会一天出好几个 Snapshot, 被推友们戏称为 Twidere Hourly。 当然, 宅里奥自己也有意识到这么做没有可持续性, 正在努力改变生活习惯。

和很多学生开发者不一样的是, 宅里奥已经开始接受商业开发的单子了。 这些商业项目也让他的代码变得更加成熟。

宅里奥也有过一次喝茶的经历。 对于喝茶, 大概的情况就是在敏感时间犯二地发了几张照片在推上 (其实照片内容也没什么)(只是里面有警车), 然后就不知道怎么的被喝茶了。。。 至于避免的方法, 宅里奥并没有想过, 只是现在他一直坚持只做技术, 不谈政治。 宅里奥认为, 谈政治, 很容易就被更懂的人打脸, 而装逼失败的感觉比喝茶还难受。。。

至于个人感情方面, 其实宅里奥在几天前脱团了。。。 所以谁说开发者就注定孤独一生的? 宅里奥在推上宣布了这个消息之后, 很多人在恭喜之余纷纷表示, 他们担心 Twidere 以后会变成无人开发的状态。 不过宅里奥却表示, 『我怎么可能因为脱团不写代码。。。』 让大家放心。 于是在推上又出现了另一种论调, 即 『以后 Twidere 的维护者就会变成两个人了』。。。

思索

我认识很多少年开发者和设计师, 但是身在国内的不多, 宅里奥则算是他们中最厉害的了。 我们经常能在国内各类科技媒体的报道中见到少年 iOS 开发大牛, 而却鲜见少年 Android 开发者的身影。 虽然这和 Android 在中国的现状也不无关系, 但是我还是忍不住想说, 这并不只是 Android 的问题。 回顾一下 Android 诞生这么多年的历史, 国外的著名少年 Android 开发者可以说是层出不穷, 然而国内 Android 开发者却很少在这部史书上留下多少笔墨。 我想, 这并不是『现在 Android 开发在中国就是这么个状况』就能简单糊弄过去的。

而一个高中生开发的应用, 却能够在美观程度, 用户体验等方面虐杀很多国内大团队或者知名互联网厂商做出的应用, 这其中的原因, 我想很多人心里都清楚。 我不相信那些开发者的技术不会还不如一个业余的高中生。 写出一个符合设计规范的应用并不难, 但是他们很少, 也不愿这么做。 所以我一直觉得, 随着国内用户素质的提高 (也许这个过程漫长而痛苦), 宅里奥这样的能够尊重用户, 尊重平台的个人开发者和小团队, 会随着他们的应用迅速的崛起, 迫使那些知名互联网厂商正视 Android 平台与他的用户。 我希望宅里奥这样的少年开发者能够越来越多, 毕竟, 只有他们才能够代表中国 Android 开发的明天。

作为一个普通的学生, 没有能力参加保送, 没有财力和精力出国, 那么他的选择就非常狭窄了。 在家长们的传统思维中, 除了好好考试上一所不错的大学, 其他选择都是错误的。 在这些重重限制之下, 少年开发者们常常被扼杀在高考中。 而实际上, 就我认识的那些 985, 211 大学计算机系的很多学生 (甚至是毕业生), 他们的实力都难及宅里奥的项背。 每当有亲戚或朋友在我面前向他们的孩子灌输死读书, 考个好大学, 毕业找个好工作的思想的时候, 我都会用宅里奥做例子告诉那些孩子, 道路不是只有一条, 文凭也不能代表一切。

最后, 宅里奥的本名叫做李宁远。 附上一张低清有码正面照。。。

责任编辑:徐川 来源: 极客公园
相关推荐

2012-06-13 01:23:30

开发者程序员

2010-10-19 11:14:06

2011-02-22 14:07:52

2013-05-06 15:41:30

Android开发资源

2013-07-18 17:22:07

Android开发资源Android开发学习Android开发

2010-09-07 09:01:07

开发者调查Android

2009-05-13 08:32:53

GoogleAndroid移动OS

2017-06-22 10:39:06

Android开发者未来

2013-08-14 16:52:47

Android开发者

2014-04-04 17:13:13

iOSAndroid开发技巧

2009-05-12 09:35:40

移动MoblinAndroid

2018-10-29 13:50:40

2015-11-09 10:50:42

2012-04-23 13:56:52

StartupAndroid开发者

2010-08-04 16:26:32

Android开发

2012-01-04 09:18:32

iPhone开发者联盟iDP中国开发者

2012-03-12 09:31:40

2013-03-11 11:20:05

2015-09-01 09:31:00

Android M权限

2017-11-27 13:09:00

AndroidGradle代码
点赞
收藏

51CTO技术栈公众号