2017年终总结
2017呢做了一份喜欢的工作,感谢领导让我自由发挥。
首先谈下思维的转变,从一个程序员思维,慢慢向产品用户思维转变。这个过程其实是很痛苦,记得在做第一个产品原型的时候,心里一直嘀咕,太难了,不是我该做的事,需要一只产品狗来做,我还要写程序,一直抵触,而且其实边想需求边实施,时间和进度不可控,导致进度延后,这也是痛苦的一个原因。大概这么来回几个月其实自己已经适应了多角色的担当,我觉得我现在可以做的更多。而且形成了一个善于发现问题然后去解决的思维,其实在整个move on的过程中,会遇到很多未知的东西,这其实是挑战,过去的经验和认知不够去处理这些挑战,所以解决问题的思路就尤为重要,以产品体验为导向,体验不好的想办法优化,这个过程无形之中也在提升自己的技术水平。
第二呢,从编程的角度来说。当时考虑到可能做项目的人不多,还需要做iOS和Android版,所以决定采用跨平台的方案。
跨平台的解决方案很多,以前也用纯H5做过一个应用,总的来说体验不是太好,所以选择框架的时候,性能和生态这两点应该是考虑比较多的,当然学习成本也要考虑。
比较过vue,react native , angular,weex之后,最后还是采用react native。react native最让我看中的是前端解决不了的可以用原生来写,其实这点就极大的超越了纯H5框架。
在实施的过程中,还是体验到了学习门槛,我从零开始搭建环境,选择各种框架,了解里面的各种概念、名词,不懂的地方扒源码,学习最新的es6的语法,解决各种奇葩的问题,优化性能,从一个人开发到3个人协作的工作安排,到最后应用上线。整个过程让人兴奋又疲惫,而且这还只是Android版的。
到了实施iOS版的时候,时间应该是充裕毕,可是还是低估了iOS小白实施难度和苹果严格的审核流程。
在预研的时候,纠结过用swift还是oc,因为swift和js相似的语法,会更容易上手,但最后还是采用oc是因为要和c语言混编,还有reactnative在oc的生态上更有优势。
开干之前首先撸了一遍Objective-C程序设计这本书,把oc语法、苹果的UI框架和foundation框架熟悉一下,然后搭环境(其实只要下一个xcode),熟悉xcode里各种配置,最后找几个视频看看,大概就知道怎么回事了。具体问题开发的时候再去解决。
这个应用需要用oc写的代码包括蓝牙连接、与设备通信的协议包装与解析、一个原生界面、sqlite数据库的管理,还有一些定时和并发的任务,这些有对应的java代码,可以看着java代码的业务把oc撸一遍。
在应用上appstore的时候,因为事先研究不足被驳回过许多次,其实可以提前根据前人总结的上架经验减少驳回的次数。感谢同学和同事在我工作的过程中给我提供的指导和帮助,帮我少走了许多弯路。
以上大概总结了一下2017的工作内容。