写在首个单兵作战的iOS app上线后

2017-03-04  本文已影响567人  黑羽肃霜
榕易骑.png
开发文档

前言:

榕易骑的app v1.0.1已上线
APP 链接

两个月的时间,对我而言是一次完整的尝试。两年前从嵌入式转岗做iOS起,心中不可避免的萌生出“我要开发一个完整APP”的念想。
鉴于公司的主营业务并非移动端APP,而是依托于实体产品下提供相应的软件服务,平日里工作的大部分内容倾向于对外提供SDK,即“二次开发的套件”(second developing kit),完整而由头至尾的开发一款iOS app的经验少之又少。有感于此,这一路走来,我从一个开发硬件pcb layout 出身,做过FPGA和嵌入式,开发思维限于面向过程(C语言)的开发人员,毫无引路人的转向iOS,不得不说,付出了很多(不好意思,自顾自地说了一堆)。

iOS的科普及现状

第一段为免贻笑大方,如果是程序员可以直接跳过了,不过是做些简单的介绍。

iOS 大约是从2012年左右,随着iPhone的大热兴起的。对于一个2010年毕业的从业老兵,我甚至起初不知iOS为何物,(同样也错过了最好的风头)。但随着苹果在中国风生水起,越来越多的人使用他们家的手机,良好的生态和精巧的做工吸引到的不仅是普通用户,还有一批嗅觉敏锐的开发人员趋之若鹜。以至于当年号称在App Store上能写一个hello world发布,都可以赚上一笔。移动端和智能手机的大热,也伴随着用人单位对这批开发人员的高价聘用。
安卓以其良好的开源性,以及低廉的价格,参差不齐的中低高端手机占据着大部分的用户数。但也因为JAVA自身对内存垃圾的回收机制问题,卡顿和廉价带来的劣质用户体验也饱受诟病。
相对的,iPhone和iOS系统的出现,则更像一个高高在上,出身优越的贵族。相对于安卓安身立命的开源,苹果则一直反其道而行之。优质的内存管理机制和良好的系统优化,虽然开发语言同样饱受其他程序员的诟病,但并不影响他牢牢掌控着高端手机的霸主地位。

一个多月前,我在开发榕易骑的某一个阶段时,曾在简书上写了一篇开发日志并分享到了朋友圈。拙荆帮忙在她的朋友圈推了一次文,好些朋友在问哪里可以下载和安装。在此稍稍科普下安卓和iOS在这点上的区别。如上所述,安卓的版本,可以在任意时刻,程序编译后生成一个安装包(.apk)文件,给任何满足版本要求的安卓系统安装,但是iOS不行。
许多试图选择移动开发的程序员在一开始面临 Android or iOS ?的问题上总有过一番挣扎。最终选择安卓的理由里,有一部分和iOS相关的原因如下:

别的不说,上面的两点,不说对于普通用户,哪怕是新手开发人员来说都是很不友好的。意味着我还未尝到甜头的时候,已经要付出一笔不菲的价钱作为入伙费(也可以理解为投名状?)。

iOS的现状

说一些个人的开发。从15年下半年开始到16年,iOS的风头已经退去,抑或换句话说,我们的用人单位更趋向于理性的录用那些真正在这个领域有建树,有所沉淀的高级程序员。,这是好事,但同时在客观上也造成一个“高级程序员不好找,初级程序员满街跑”的尴尬现状。像我这样已年届三十的,从硬件到嵌入式再到iOS的“老兵”,的确无比尴尬。
回头看,福州这个地方不如北上广深,那么浓厚的互联网潮流前沿以及城市内充斥着顶尖人才和机遇的一线城市。甚至于不如同省的厦门。打个比方,福州对于技术潮流的动向,好比是“海洋性气候”,对温度的变化往往后知后觉,笨拙的有些令人无奈。

iOS开发自身而言,也遭受着“内忧外患”。我打引号的原因是,或许我要阐述的东西,不一定是内忧外患,也可能是往后开发的走向和流程的一种对立统一。

榕易骑

或许很多人看到我写这个APP的时候第一反应是我想蹭共享单车的热度,其实完全不然。写一个便民自行车的站点查询APP,是我从15年开始就曾经隐约有过的想法。原因很简单,当时我刚从上家公司跳槽,现在在的公司有班车接送,但是上车点离小区有一段距离,需要福州本地的便民自行车作为连接。当时就有很多腹诽,比如我借了车没错,但是究竟到哪里才可以还?当时只有福州的中心城区鼓楼区有站点,且每个站点都贴了一张地图,但是自行车的站点经常会有一些变动,例如新增和改动。然而这些,并不可以体现在一张已经贴好的地图上。

我曾去各大导航软件上搜索便民自行车的站点,但是大多不全。而彼时福州便民自行车的官网上也见不到一份完整的站点地图。退而言之,即使有,当你骑车在路上的时候,通过手机的浏览器去打开那个网址现查,也是很不现实的行为。

那时我就在想,从技术上说,用一个app实现地图查询,甚至于可以查询每个站点有多少个可借可还的桩位,一点也不难实现吧?福州的便民自行车站点硬件设施,是本土的一家公司(这里就不提名了)做的。略带讽刺的是,我和那家公司还算是有点渊源。借换车的方式依靠的是车头伸出的铁柄+墩位上用非接卡感应的电子锁。其实并不需要如眼下的共享单车一般做到每辆车的定位,不存在着拿着手机定位,“众里寻车千百度,单车不知身在何处”的尴尬。

一直拖到去年年底才开始做,一方面是懒,一方面是没有把怎么做,做到什么程度想好。还有一方面就是嫌麻烦。代码还好,美工,原型设计,服务端等等,当时想起来就头大。
讽刺的是,等到技能树积累的差不多,真正开始动手做的时候,共享单车横空出世。尽管我从未想过做一款收费的APP,甚至于做所谓的“创业项目”,单纯的只是想练练手,但共享单车非常恰好的到来,让我的心里确是有些哭笑不得。

二期想做的改进

目前上线的”榕易骑“功能很简单(其实用户群和受众本身就很小),主要包括根据福州五个行政区内站点的搜索,以及周边方圆500米内的全站点定位+导航。
后续要做的是加入搜索功能,可以搜索自定义位置周边的站点。

由于网络断目前是采用寄放的方式,在没有一个稳定的后台前提下,也许数据会不大稳定(因为安装人有限,目前还未发现这个问题)。
因此,我还在自学DJANGO,将自我折腾的路上越走越远。。

心路历程

开发过程中,有将近一半的时间,都用在了画图上。作为一名拥有非专业审美+强迫症的程序员,画图自然非常的费时。我权当锻炼自己使用sketch的技能了。再安利一边,mac下的黄钻工具,sketch真心好用。正规的互联网运营公司据说都用sketch画好原型,直接丢给程序员自己去切图。

没有后台端的支持真真是件痛苦的事。还是上面那句话,我正在python 和 Django的路上越走越远。

共享单车的看法

共享单车的想法是相当好的。一度我在考虑他是否会替换各大城市政府兴建的各大便民自行车,但从眼下的状况来看,便民自行车和共享单车暂时不是水火不容的情况,更多的是互补。
便民单车更多的是公益性质,他的优点包括:

共享单车的有点包括:

共享单车面临的问题(以下结合了个人的见闻和浅见):

今天先写到这里,感谢阅读,以上,谢谢。

上一篇下一篇

猜你喜欢

热点阅读