




























1.灵感
遇到她前
吃饭、喝水、排便
粗糙地新陈代谢
活得像一株植物
遇到她时
成夜失眠
她似深海的光
不断在脑海浮现
让我像吸食了海洛因
沉迷、癫狂
我知道
不是我遇到了她
而是她选择了我
三年前,我还是位科技记者,每天写着别人的故事,过着一成不变的生活。
偶然,在一次采访完客户回来的地铁上,PoPoem 的灵感瞬间在脑海闪现。当时的感觉,像是在茫茫人海中遇到了一位多年未见的知己,又像是在滚滚红尘中看到了一位两情相悦的女子。
那一瞬间,她似一道光,钻进我的脑海。她的名字,她的样子,都是那么清晰。
我决定要把这个灵感付诸实际。
这个灵感,首先来自PoPoem 这个名字。这是我想到的一个生造词,它很有趣,Po 是 Post 的缩写,网络用语,意为“发布”,比如 Po 照片。而 Poem 是诗,所以两个词连起来就是发布诗文的意思。并且,这个生造词朗朗上口,
也比较好记,令人印象深刻。
所以我就决定使用这个名字。当时,我立刻在AppStore 搜索了 PoPoem ,万幸,还没有开发者用过。
那一刻,PoPoem 在我的脑海中已经有了雏形。

但是,我是一位编程零基础的文科生,在此之前,我靠文字生活了六年,如何把这个雏形变成产品,是一个非常实现的问题。
摆在我前面的有两个选择,一是找位懂iOS 开发的朋友帮忙,自己做个产品经理;二是自学 iOS 开发,程序员、产品经理都干了。
正常人都会选择第一种方法,因为专业人做专业事,能高效、快速地开发出产品。而第二个方法则几乎不可能,先不谈能否学会iOS 开发,即便学会了,又能否顺利开发出产品?毕竟国内绝大部分商业项目都需要团队协作开发。而我只不过是一个以文字为生的文科生。
思前想后,我还是决定选择后者。
如此决定,一方面是因为我身边没有懂iOS 开发的朋友,如果是找陌生的合伙人,配合起来肯定会很麻烦,并且当时我也不想将自己的灵感与他人分享。另一方面,因为科技记者这个身份,我接触到了许多独立开发者,自己也想尝试独立开发,算是再谋一条生路。毕竟这年头,单靠文字生活,已不是易事。
下定决心之后,我便开始了自学iOS 开发的生活。
寂寞的时候
就去学一门编程语言
因为计算机
不会欺骗,不会虚情假意
你输入代码
它便回馈你结果
我给自己制定了一个规划,半年时间学习iOS 开发,一年时间开发 PoPoem。
感谢苹果公司。2014年,苹果在 WWDC 大会上推出了 Swift 编程语言,这是一款对初学者非常友好的语言,它非常的现代、安全、有趣,学习门槛并不高。因此,我选择了 Swift 作为学习及开发语言。
自学过程我分为了两阶段,一是 Swift 语言的学习,一是 iOS 开发的学习。
我认为,iOS 开发其实就是与 Xcode 的对话过程。既然是对话,首先就得知道一门双方都约定成俗的语言,这就像人与人的沟通,必须在同一个语言环境下,才能听得懂对方在说什么。而当你学会了一门计算机语言后,你便能使用各种语言技巧,实现自己的开发目的。
因此,我必须得先学会Swift 语言。还好,这是一门非常简约的计算机语言,即便是没有任何编程经验的文科生,也能快速入门。我的学习诀窍是将 Swift 的语法文档下载到手机里,有事没事就翻出来看看,并不需要死记硬背,只需掌握一些基本类型、运算符以及逻辑控制语句就行。事实上,在后续的开发中,我所使用的都是非常简单的语句。

在对Swift 语言有一定的了解之后,我便开始着手学习 iOS 开发。
这里给大家分享一个非常重要的决窍,那就是在自学设计、开发类技能时,切勿单一地学习工具的用法,最好是结合一个实际项目,在完成这个项目的同时,进行针对性的学习,这样效率才会更高。
刚开始,我也没有按照这种思路,以为掌握了Cocoa Touch 的几个关键控件就能轻松学会了,为此我还在亚马逊上购买了一本厚厚的 iOS 10 开发指南,但事实上,这类书籍并没有什么卵用,我大概只翻了几页,便让它安安静静地躺在书架上吃灰了,后来搬家的时候,因为太重,便扔掉了。
事实证明,看书是学不会iOS 开发的。那些打着 3 天学会 iOS 开发口号的作者基本上都是骗子。
而我总结的一套有效的自学方法是:
首先明确你想开发的项目的类型,比如PoPoem 就是一个纯文字的社交应用,用户可以在上面写诗、看诗,关注其他诗友,这与微博非常相似,可以理解成纯文字版的微博。
明确了项目类型之后,便到网上(各有大开发论坛,如Code4App、cocoaChina等)去找类似项目的视频教程,然后便边看边学,最好是看完视频后,自己也能跟着完成教学中的项目。
比较幸运的是,我在网上找到了黑马程序员刀哥的整套Swift 版微博开发视频教程。这套视频教程几乎涵盖了 iOS 开发的所有知识点。
为了能快速看完整套教程,我把它们导进了手机,用两倍速率观看。那时候,我每天要乘坐两小时的地铁上下班,这两个的地铁时光,也是我一天学习效率最高的时候。白天看教学视频,晚上回到家,便把视频内容敲成代码,如果不记得了,便再看视频回顾下。如此反复,直到开发出一个完整的微博App 。
至此,我认为自己算得上是一个初级 iOS 开发者了。
简单的零与壹
造就了千变万化的世间
而我想用它们
开发出一片诗意的世界
学会了 iOS 开发,仍只是万里长征的第一步。真正的千山万阻,还在后面的独立开发。
在着手开发之前,先需要明确使用哪家的云服务。在比较了国内几家BaaS 之后,我选择了 LeanCloud ,虽然这家的收费有些不合理,升级商用版后每日最低消费30元,对于一些流量较低的新应用不是那么友好,但它的数据存储服务里有一个应用内社交模块,集成之后不需要再写复杂的社交方法,极大地降低了开发难度,也缩短了开发时间,因此便选择了这家的云服务。
明确了云服务之后,就开始着手开发。
可能每位开发者的习惯都不同,我的开发步骤大致是,先用笔纸画出PoPoem 的草稿,然后再到 Xcode 中搭出整个框架,接着用假数据填充整个应用,初步完成基本功能。

当应用已经初具成型时,就需要进行最重要的一步了,绑定云数据。这个时候,就需要熟悉 LeanCloud 的数据存储和社交方法了。当然,在绑定数据之前,要先建立好用户模型,以及每条 Status(这里是用户创建的每篇诗文)的数据模型,然后再根据 LeanCloud 的各类方法进行绑定。
至于用到哪种开发架构模式,自学时接触到的是 MVVM 模型,这是目前最新也是最主流的架构模式,虽然构架逻辑比较简单,但由于本人没有解决 LeanCloud 数据绑定到视图模型上的问题,最终只好选择 MVC 架构模型,虽然 MVC 更加的简单,但由于大部业务逻辑都放到了 Controller 里,这导致了 Controller 里的代码不断增多,也影响了整个应用的性能。
在后续的版本更新中,也会考虑切换到 MVVM 模型。

事实上,对于一个初学者来说,要独立开发一款产品,绝对不会是一件很顺畅的事情。在实际开发中,你可能会遇到各种难题,或者不知道该如何去实现某个功能,这个时候你就需要去问搜索引擎,往往前几条就能得到你想要的结果。
但有时,搜索引擎也不是万能的,你可能一两天还不能找到解决方法。这个时候,你可以上各种开发者论坛,通过发贴来求助各路大神,运气好的话,马上就能得到你想要的答案。
如果这样也不行,那么你只能根据文档,再通过改变现有的方法,进行各种尝试,往往试多了就可能会找到解决的方法。
当然,有些难题你可能花了好几天也没有解决,这个时候你不妨先放下这个问题,先去开发那些比较简单的功能,过段时间,你可能就有了前面那个问题的解决方法。
切记匆钻进死胡同,要懂得融汇贯通。
当你掌握了这种开发思维后,便可以灵活应用于其他平台的开发,比如微信小程序。我在开发完PoPoem iOS版本后,仅自学了一个月,便开发出了 PoPoem 的微信小程序版本。虽然两者使用的语言和编辑器都不一样,但编程思维是相通的,只需变换下语言及开发模式便可。

编程从来不一种重复性的脑力劳动,它需要你具备灵活的思维及变通能力,如果你不善于思考,又害怕掉头发的话,就可以考虑放弃这项工作了。
68.9M
40W行代码
构建出
这个诗意的世界
打包上传
静候你的下载
2018年4月1日,愚人节这天,我正式打包上传了 PoPoem 。
等待审核的日子是非常难熬的,每天都会隔一两个小时就打开iTunes Connect 后台查看审核进程。事实上,新提交的 App 都会经过大概一周的审核期,如果没有违背苹果公司的那准则,基本上都能通过审核。
由于起初设置了付费下载,所以并没有多少下载量。后来开放免费下载之后,用户量也逐渐增加了起来。
现在许多社交应用上线后,都会公测一段时间,通过内部发放测试码,在一小部分目标用户或朋友中进行测试,这样有利于更好地发现BUG,避免在大范围正式上线后,出现一些不可控的问题。
公测真的是一个必要环节。因为一些功能,一两个人使用时,基本发现不了或者不会出现问题。但当用户量上来之后,就会突然显现出来。PoPoem 在上线之后 ,就出现了许多问题,最严重的一个就是闪退,由于用户量增多后,机型和系统版本五花八门,而一些控件和方法可能不兼容较老的系统版本,便会出现闪退的情况。
由于没有公测,PoPoem 在更新了几个版本之后,才算趋于稳定。

上线一段时间后,PoPoem 用户量开始逐渐增长。当看到第一位用户上传了自己的作品时,内心还是没有抑止住激动。它就像一颗种子一样,埋在了这片贫瘠而又崭新的土地里。
许多用户在下载PoPoem 之后,都表现出了一种欣喜之情。他们会觉得相见恨晚,然后一股脑地把以前写过的诗文都发布到 PoPoem 。也有一些用户把它当作成一个记录日常心情的纯粹空间,每天都坚持写一篇日记式的诗文。当然,也有许多才华横溢的用户,他们创作出了一首首寓意深刻的佳作。
而这所有的诗文中,最让我感动的是烟初冷微凉所写的《我不会写诗》
无意间我找到这里
纯白新鲜的小世界
有一点憧憬与欣喜
一时间我想向全世界安利
这里有诗意与情怀
一时间又希望
它慢一点被大家发现
这首简单的小诗非常直观地反应出了许多用户的心境,他们不经意间来到这里,却像走进了一个纯白诗意的新大陆,这种欣喜之情只有懂得的人,才能够理解。
渐渐地,我收到了越来越多的用户反馈,有反馈BUG 的,有提建议的,也有鼓励和表示感激的。这让我觉得所有的付出,都得到了回报。这已经不再是一个我自愚自乐而开发的产品,而是一个能够让一部分心意相通的人,找到归属和共鸣的纯粹空间。
让大家在这样浮躁、不安的世间,找到一个安静、纯静的栖息之地。这正是PoPoem 的价值所在。
正如王小波所说,一个人只有今生今世是不够的,他还应当有诗意的世界。
诗,不是文人、作家、诗人的专属,它属于每个在城市打拼的年轻人,每个搬砖砌墙的打工者,每个面朝黄土背朝天的庄稼人,它属于这颗星球上每个活着的,以及死去的人。
诗,不是面包,不能让你果腹,但却是精神粮食;诗,不是果糖,不能让你觉得甜蜜,但却让人回味无穷;诗,不是鲜花,没有扑鼻的香气,但却让你的人生芳香四溢。
诗,它能带你去远方。
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。