先介绍下自己吧,我是一名大二学生,现在在英国读电子信息工程,这个专业与App开发和计算机没有任何关系,所有的知识,都是我自己学习的,相当于是兴趣爱好吧。在学习生涯中,会定期维护自己的科技博客,维护自己开发的各种App,外出摄影等等,在后面会一一介绍。
我开始为iOS设备开发应用的时候是在2016年初,在去年晚些时候突发奇想在自己的ThinkPad上鼓捣了一下黑苹果,不过不是很理想,不能装最新版本的Xcode开发环境(不过当时也不会开发iOS),没有网络,没有声卡。当时还发了个朋友圈炫耀了一下。没过多久,我妈发来消息:「如果你真的很想要一台MacBook的话就给你买一个」,因为我给她提到过吧,她答应我2016年9月份如果真的收到了英国大学的Offer就给我买一台。不过看来我拥有一台MacBook的时候要提前了,之后又过了几周,忙完了学校的论文,在学校旁边的AppleStore购买了一台15寸的MacBookPro。这台MacBook是迄今为止我在电子产品中最值得的一笔投资,实在是太好用了,即使已经使用了1年多,这台机器速度依旧飞快,满足着我日常的各种需求。
不过之后由于学校的事情比较忙,学习iOS开发的事情就被我淡忘掉了。直到寒假,一天晚上睡不着觉,看了看网上iOS开发的教程,虽然iOS和Android使用的不是一个开发语言(一个是Java,一个是Swift或者Objective-C)但是看了一会,觉得都是一个套路,可以为自己的博客网站开发出iOS客户端了。
于是开始为iPhone开发自己博客的App,可能当时也是有点急吧,每次为Android版推送更新的时候,总会有人很有优越感的说:「可惜我用的是iPhone」。开始开发的第一天就写好了原型,不过当时也是什么都不会,摸着石头过河。正好放寒假,除了出门聚会走亲戚就是写代码。
功夫不负有心人,用了十几天,学习带开发,第一个版本终于问世了,刚好也开学了,可以接着投入到学校的事情中了。用压岁钱交了99美元的Apple开发者注册费用。
之后就大概是7月份了,放暑假了,在家里忙了一个暑假的出国准备,到了8月多终于签证什么的都办好了,一切都准备就绪了,可以出去玩一玩放松一下了。我平时也喜欢摄影,平时外出旅游的时候会携带一台NikonD810拍摄照片。
在旅途中难免也为镜头不适合操心,想着买一个其他焦段的镜头来弥补(也就是想一想),但是每次选镜头都要去官网,比对还很麻烦,手机上也不方便,于是我就想看看有没有什么App可以看下镜头参数,下面是我在网上看到的别人写的App:
这个记账App是我独立开发过的最大的Android项目,支持多币种实时自动换算,可以将花掉的英镑用实时汇率转换成人民币显示出来,并且拥有详细的周,月,年报表,支持Excel导出。
这是第一个版本:
结果被吐槽的有点严重。甚至丑的都不让上架,当时我看到这封邮件的时候正好在签证中心,一口老血喷出来。
之后我重新设计了整个App:
在发布了稳定版本之后,决定为这个App加上云同步服务,这对我来说可不是一件容易事,要牵扯到后端服务和后端开发。在一个公司中,Android开发者,iOS开发者,后端服务,是三个不同的职位。可是如果想实现云服务功能,就得自己去学习这些。
开发一个同步服务并没有那么简单,要考虑的事情很多,把账本同步到云端账户上,并且还要同步已经删除的项目,要么在第二台设备上即使删除过的条目还是会同步回来。还有就是需要支持并发性,必须要设计一个可靠的系统来让整个App即使再有几千笔账目的时候与服务器同步也能做到不卡。需要考虑的事情太多太多,毕竟这是我第一次开发这样的功能,一点经验都没有。
尽管没有任何经验,开发出来的产品还是要对用户负责的,我不希望我的产品安装到用户的机器上会因为某些设计缺陷而崩溃,任何人都不傻,不会因为情怀买单。在经历了几天的测试之后,终于确定整个功能完善了,我推送了更新。到现在Costuary有着稳定的用户群,尽管不多,但很稳定。
以上所有的AndroidApp都可以在GooglePlay上搜索到并且免费下载,至于为什么选择GooglePlay为发布渠道,因为我觉得GooglePlay可以更好的保护用户的权益。
每当开发者要上传App到Play上的时候,必须要填一个调查问卷,其中会问到,有没有纳粹字符?有没有宗教词汇?有没有暴力言语?根据结果,Play会为App打一个评级,年龄不符合规定或者特定地区的人是无法检索到这个App的。
并且,如果有的App被检测到安全问题,Google会及时下架App来确保用户安全:
转眼间到了9月份,是时候出国了,在出国之前,将主力机器由原本的iPhone6更换为了Nexus6P,因为,终于可以享受完整的Google服务了,指不定还能体验一波AndroidPay!9月17日,我坐着飞机来到了谢菲尔德,开始了英国的留学生涯。
我的主力电脑就是这台MBP15,在2016年,所有App都是在这台电脑上开发的。外接了一台显示器(二手的),忘了什么型号了。小米鼠标垫,小米台灯,小米插线板,小米手环2(比我以前的Moto360好用太多),小米五号电池。
除了MBP15,我还有一台ThinkPadX1Carbon2016,用于泡图书馆和旅游,X1非常纤薄,放到包里感受不到重量,平时写博客,写论文,旅游时候的照片后期,都是由他完成。
在英国,GoogleNexus6P原生Android体验和完整的Google服务真的比国内强了不少,Google服务无处不在,在生活中的时时刻刻都能帮上忙,寻找周围的餐厅,导航,查看周围的旅游景点。分析邮件中的日程,自动翻译界面中不认识的文字(GoogleNowontap)。
不过,在来到英国1个多月后,我还是选择将我的主力机换成一台iPhoneSE,主要原因就是Nexus6p电池实在太弱了,一会就没电了,很多次在外面就没电了,根本借不到type-C插头,并且6p也不兼容我的移动电源,总是充不上电。刚开始的几个月在异国他乡手机突然没电还的确蛮危险的,有时候去山上徒步要是手机没电了那还不死在荒郊野岭,快充顶个毛用,高性能处理器顶个毛用,2K屏幕顶个毛用,原生Android顶个毛用。
还有一个原因就是ApplePay,ApplePay真是太方便了,在英国,所有支持Contactlesspayment(在中国叫做闪付)的地方都可以使用ApplePay。在很多超市,比如Tesco,一般都是可以自己拎着东西自助买单的,走的时候手机在机器上蹭一下就好,很方便,三秒钟解决战斗。并且在伦敦,坐地铁也可以直接刷手机(Android/ApplePay都可以),很是方便。
所以我将主力机换成了iPhoneSE,毕竟不是每天都要用到Google来看周围的餐馆,不过每天买三明治的钱还是要花的。
在英国,多了一个活动,那就是和朋友去曼彻斯特机场拍飞机。
这款App就可以很好地辅助航空爱好者来查阅各种型号的飞行器信息和性能,不光有客机,其中还包括各种战机。由于是一个工具类App,这也是我第一个收费的App,国区定价3元,有需求的小伙伴可以入一下。
至于我为什么要去开发这样一个App,其一是想去开发一个与众不同的天气App,还有就是想去提升一下自己设计后端服务的能力,FlatWeather的后端服务,也就是服务器端,同样是我编写的,为此,我每个月要支付60多元的服务器租赁费用。我对每一个项目都有明确的目的,比如Costuary,这个项目就在数据库编写中为我累积了很多宝贵的经验。FlatWeather也是,为我在后端服务编写中累计了很多的经验。
作为一个人人都适用的工具类App,适配VoiceOver功能还是必要的,iPhone的VoiceOver可以通过朗读屏幕上的内容来辅助视力障碍的人适用iPhone。在MacBook2016发布会开始,播放了这样一段视频,片中一个手脚不便的残疾人在使用头部动作控制一台iMac通过FinalCutPro剪辑视频;一个盲人,划开了iPhone的相机,当iPhone读出:「Oneface,smileface,focuslock」的时候,相信很多人都震惊了,这才是科技的伟大,尽管每年唱衰苹果的声音不断,不过Apple在各个领域做出的贡献大家都是有目共睹的。VoiceOver功能的适配已经加入到了我的开发计划中。
以上就是我的2016个人量化,我2016年作为独立开发者的心路历程。我通过不断地开发新的App来提升我的开发能力,增长经验。一个人经历完整的项目:规划,设计,美工,开发,后端,运维,我很享受这一过程,怕以后工作了就找不回这样的感觉了。这就是我为什么选择当一个独立开发者。在这一路上,有家人朋友的支持,有自己的努力,这一切都是值得的。
还记得刚进入大学的那天,爸妈把我送到了上海,那天他们给我买了一台iPhone5S,我换掉了我才用了三个月的魅族MX3。在车上,我妈问我,你是不是早都想换一台iPhone,我说是的,她回我那你怎么当时换了魅族。我当时回道,因为我在学习Android开发,其实是觉得太贵了。不过,我并没有说谎,一年后我真的成为了一个出色的Android开发者,并且还因为这个找到了自己的第一份实习,一开始就买一台iPhone指不定都不会是现在的样子。
智能手机的出现的确为人们提供了数不清的便利,我热爱电子产品,热爱开发,希望通过自己的一份力来提升人们的数字生活品质。相信其他的独立开发者也是因为这个信念支持着自己,掏着自己的钱包支付每年99刀的开发者和服务器的费用,为的只是为他人提供方便。