您现在位置: > www.s8866.com >
文章正文

尊龙人生就是博PTT www.k8.com 好读版

螢幕快照 2014-03-17 上午10.17.19 内容来自dedecms

本文作者 David Chang,台大资工系三年级,业余学生,职业骇客(骇客是一种热衷于研讨系统跟电脑(特别是网路)内部运作的人。--维基百科)。热爱行动应用开发,从国二开始一头栽进程式及电脑科技领域无法自拔。毕生的志愿是创办伟大的软体公司。原文刊于作者部落格 zatachang's blogdedecms.com

前言

小弟与 Raincole 合力开发的「PTT 好读版」上架快满一个月了,期间得到不少回响与帮助,特别撰写此文聊表分享与感谢,www.s8866.com内容来自dedecms

所有从一场黑客松开始

那是个阴沉的午后,刚载完女友去上课的我,脑中浮现一个疯狂的点子:「应该要有一个 PTT App 乘着 iOS 7 的更新一起推出。」所以就在一次的下课中,我跟夥伴就敲定了要进行这个专案,代号 iPTT,不知天高地厚的设定开发时程为一个星期。然后我们也规划了一天来做黑客松。

dedecms.com

黑客松的开始总是美妙的,仅管事先已经做了准备,但千算万算我们都不会发现这背后的技术难度比我们想像中还来的高。那天我开心的画着设计,Raincole 开始写 parser。到了后来才发现事件没有我们想像中的单纯(故事的内幕就我们无邪地以为把 TCP 连线接好,东西就会照顺序进来...)。

织梦内容管理系统

黑客松的尾声就是两个人协力钻研 parser 该怎么写但却一筹莫展的奋斗到了天亮,www.s8866.com

织梦好,好织梦

仅管隔天回家后,一些基础问题被解决了,解析器的开发也缓缓上轨道。我们这也才发现一个礼拜的时间完全不够用,我们都过度的自负跟自负。于是一个星期的时程变成一个月,然后再变成变成三个月。直到我们把那个叫做 MVP 的待办事项都清完后,就送交审核了。 本文来自织梦

然而所有荒腔走板的事就在我们送审后发生。 本文来自织梦

苹果的 reviewer 完全无法使用这个 app,Curpertino 内的 WiFi 仿佛被东方神秘力气给挡在 PTT 的伺服器外,我们试了许多解决办法(换 port,改良连线方式等)但却依旧吃闭门羹。仅管后来 PTT 的伺服器终于可以连得上了,但再加上一些非预期的 bug 总在 reviewer 审核时才出现,三个月就这样过去了。预定释出的日期从圣诞节延到农历新年,再延到开学时才真的胜利通过审核,期间我们被总共退了七次。

织梦好,好织梦

对我们而言,www.s8866.com,这是一个磨练心智的开发过程,因为仅管你知道苹果有严厉的审核标准,但你却不会知道所有的 bug 跟无法把持的因素都会在 reviewer 开始审核 app 时一路冒出来。教训就是假如你想要投资 iOS 平台的话,请确定你已经准备好了(时间或是品质),否则只是徒耗精神。 内容来自dedecms

批踢踢的行动体验

谈完开发的辛酸血泪(拭泪,另外一个很重要的点是 体验,我们开发过程中不断去询问本人:『PTT 的行动体验究竟是怎么样呢?』

dedecms.com

过去使用桌上型电脑上 PTT 时,那是一个 80 x 24 大小的黑白画面,它允许使用者可以用键盘高低左右搭配快捷键在文字的世界做巡览。

织梦内容管理系统

那在 iPhone 上呢?我们想要做的事,就是去解构 PTT,然后设计一个专属 PTT 的行动介面跟体验。

dedecms.com

举一个例子好了,桌面版的 PTT 中,一篇文章在列表中显示方法如下 内容来自dedecms

NaQIOizaQoKotyPuwFRI_Screen Shot 2014-03-16 at 下午4.01.29

内容来自dedecms

其中第一个数字代表文章编号,再来那个记号表示文章状态,有下面几种可能, dedecms.com

然后则是人气、日期,作者。而标题前的那个记号则表示文章的类型,可能会出现的记号有下面几种可能, copyright dedecms

这样仔细看下来你会发现,光是这一列的资讯密度就高到不可思议,不过却疏忽了一件事,良多应用者其实并不晓得这些记号代表的意思。就连我们也是到开始开发才真正去仔细懂得这些记号的意思。所以对我们来说,怎么选择关键的资讯然后用更简洁的符号呈现就是一个需要面对的课题了。

内容来自dedecms

我们不断去想最主要的资讯毕竟是什么?不过乎就是: 织梦好,好织梦

这几个因素影响到使用者会不会去看这篇文章,也是使用者在浏览扫描文章列表时会去特别注意的资讯。 织梦内容管理系统

所以最后我们用了一个蓝色圆球表示未读,空心圆球表现有未读的评论,这个简单的隐喻也被用在系统内建的 Mail.app(如下图)。而为了加强已读未读的对比,已读文章的标题也会被淡出。

织梦好,好织梦

kJAV9iWLSECmM1wyDVdH_Untitled

dedecms.com

最后的结果如下图,去除多余的,留下重要的,因为少等于多 (Less is more.)

织梦好,好织梦

gXOIJmz9RRezEfeIVj2u_Screen Shot 2014-03-16 at 下午4.12.34 copyright dedecms

App 中还有其余渺小的细节(文章段落,复杂的看板名称搜寻演算法等),你可能不会去特别留神到,然而就是这许多的细节串连起来,才让好读版使用上能够如斯舒适而自由。 本文来自织梦

崭新的技术架构

终于来到技术架构了(擦汗),由于 Raincole 不会写 Objective-C ,所以在好读版的开发中他贡献了他最擅长的 JavaScript。 织梦内容管理系统

在一个从溼度计到浏览器都可以跑 js 的年代,谁说 iOS app 没办法直接执行 js 的! 织梦内容管理系统

苹果在 iOS 7 的释出中藏了一颗没有什么人注意到的珍珠 -- JavaScriptCore。JavaScriptCore 简言之就是一个 js 的 runtime,传统上要让原生的 app 跑 JS,方式不外乎用 WebView 然后手刻传递 message 的方式跟协定。JavaScriptCore 的好处是让你不用载入肥大的 WebKit,更棒的是还有原生的 bridging support。 本文来自织梦

回到好读版,我们背后的批踢踢解析器完全都由 JS 实作,Objective-C 这边则透过定义好的 API 跟解析器做请求,然后再将资料呈现出来。

copyright dedecms

乍听之下疯狂的架构,但实务上却让我们之间的开发几乎平行。我可以专注在 UI/UX 上,而我的夥伴则可以专注在 API 的稳定度跟速度。更有趣的是,我的夥伴进行开发时,能够完整用 node.js 来进行,不须要编译 Objective-C 也不必开模拟器。 织梦好,好织梦

结语

我们都知道产品上线后才是真正的开始,不过光是开发或许就是一趟有趣的旅程了。万分感谢过程中给我们回馈跟帮助的使用者、友人与前辈们。没有你们的爱戴跟支撑,我们不会有动力继续前进。

内容来自dedecms

最后,小弟我将在 3/21 号的 HackNTU 开发小聚中分享这一次的开发经验,当天你可以听到更多的内幕、技术细节以及辛酸血泪,等待在那天看到各位 :) 本文来自织梦



上一篇:www.kf388.com德国媒体猜测中国将来30年,惊呆了!
下一篇:hwx88官网HTC hwx88官网 双旗舰手机定位