距离自己第一个独立开发的app完成快两个星期了,总算是有时间来写自己这一次独立开发的得失收获。
首先说下背景交代:我是一个半路出家的开发,不是科班出身的。而在上一家公司我是进去开始维护已经上线的app,之后虽然有新app开发但是因为有之前的app在所以很多东西都可以复用,而且采用模块化的开发,每个人负责对应的模块,没有办法看到一个app开发的完整构造,现在的这家公司是进来就要求做一款针对国外用户的与蓝牙交互的app,而且就一个人,之前的iOS开发都已经离职,没有从那边的到什么有用的信息。
总的来说我对于独立开发做的不足的如下:
1.项目规划考虑不充分。很多细节方面没有考虑到,因为团队开发很多事情可能都被队友给做了,所以自己对于整个app的一个把握度不够,很多细节前置的一些东西分散了自己太多的注意力,后期开发还有一些时间花在控件,一些基础库的编写。
2.要什么什么没有。 在一个人独立开发的时候,这个是我很深的感受,以前团队开发很多的控件都已经写好只要拿过来用就好了,这边因为是什么都没有 全部是自己编写,写多了自己的精力就分散了也会感觉比较烦。
3.项目进度把握不足。对于项目进度把握上有很大不足,错误的估计了一些功能实现的难度,导致项目到了后期还有一个大的模块没有完成,一直花心思在功能上的实现上,后期交接测试的时候出现不少简单bug。
尽管独立开发虐我,但是我仍然感谢自己的这一段独立开发的经历因为我感觉自己有了不少的收获:
1.认识到了自己的不足,独立开发把我自己的一些缺点暴露了出来 并且强迫我进行改正,比如项目规划项目进度把握,还有自己对于整个项目开发流程的一些理解
2.自由。独立开发中我觉得最舒服的就是自由,我可以根据自己的情况,项目的需求选择自己觉得好的实现方式,并且在条件允许的情况下尝试一些新技术。
这次独立开发之后我思考了一下以后的开发方向:
1.综合考量了公司的情况(iOS,安卓都只有一个开发,却维护开发四款app),我跟安卓商量了可能在未来的开发中引入react native来减轻开发压力,加快开发速度。
2.现在已经在项目中使用了fastlane构建项目并且用蒲公英来分发,以后考虑完善这一块,让自己经历更加集中在开发上。目前考虑使用jenkins,已经有了一些实践但是还没有能完整的完成一次。
3.引入自动化测试,不管是以前公司还是现在 都感觉测试这一块的压力太大,很多时候很多细节注意不到,所以希望引入自动化测试来避免到一些低级失误。
4.未完待续。
因为目前公司就我一个iOS开发所以以后的独立开发并不会少,但是这一次是第一次独立开发所以写下文章纪念一下。