菜鸟成长日记之新手备忘录-IOS开发第一个项目总结

      2013年5月3号,开始找IOS开发工作(自学了大半年,做了一个功能不全的Demo该出去见见世面了!),5月4号面试了第一家公司(是家刚成立一时间的外包公司),5月5号第一家公司已二轮电话面试,5月7号接到offer,通知5月9号上班!5月8号从学校搬出来了!6月1号,老总发了第一笔工资,直接是正式员工的待遇(惊呼我没有试用期,直接是正式了)!后来的6月份,学校毕业设计,答辩,拍毕业照,吃散伙饭,请假了不少天!6月23我毕业了!开始了第一个项目!一开始一个人做,后来公司外聘(周末来上班,平时提供无偿咨询!哈哈!外聘的真的很牛)了高级开发,开发了很长一段时间!7月9号因为开发出来的APP界面效果不是客户想要的,客户决定重新设计一套界面!7月10号,为了沟通方便外派客户公司上班!一个人全职开发了一段时间!客户公司为了加快上线,又聘了两位有一年开发工作经验的人来一起开发!现在是3个全职,一个半外聘高级开发!2013年8月15号项目提交审核!8月22号项目交接完,23,24,25,26!公司放我4天假(噢耶)!中间有加班到22点,有周末不放假!过来了就不说了!那是财富!(嘚瑟一下)!说明一下:做的很一般,有服务器接口,有拍照,图片上传剪裁,社交平台登录,分享.....本地数据缓存,SQLite数据库存...各种第三方库...不列了!大家就随便看看吧!就当新手备忘录!要是以下总结有不对的观点,大家可以吐槽!客户的项目我这就不帮忙推广了!直接用XXX代替项目名称吧!(XXX很牛的哦!)


    对XXX这个项目的开发经历,总结了一些自己的想法:
    1.APP的界面;
我觉得这次项目最大问题在:界面。首先界面这次第一版设计,我感觉不是很好,为什么我这么觉得:
    第一APP界面要精致 精美 颜色要吸引用户,交互需要流畅。第一版我觉得界面不是很精致,不是很吸引用户!

    第二,建议交互以后原有的界面素材上做编辑!第一版XXX中,很多控件动态显示!但是动态显示很难把持效果!因为我的经验不足,所以整个功能实现起来很不流畅!

    第三,APP用户交互尽量减少用户自定义成分。首先我觉得:我们设计一款app,我们要用户有些什么选择,我们必须要考虑清楚!因为这是直接关系到我们设计这个app用途,用户可以做些什么!怎么使用!自定义标签这个功能!我觉得很不好!

    第四.界面交互,以几个tabbar组织界面实现用户功能切换,这种方式很精典!但是现在的用户可能需要新颖的界面交互方式,比如:添加手势,实现侧边栏。

    第五.关于界面风格:有一个问题我一直很好奇!中国人自己设计的软件我一样就能看出来这是中国人设计的!界面太复杂,操作点太紧凑了!这个可能与中国人的文化/认知有关系!我觉得APP界面以后可以简洁一些,明朗一些,界面风格清新!不过有可能会“水土不服”的风险!

    第六,界面重新设计,太坑人了!架构变了,设计思路变了,相当与开发了两个App!不过这和客户对移动app的理解认识有关系!这个看客户!

    第七,切图很重要!美工所提供的图,假如没有和开发沟通好的话!简直是场灾难!所以要是出现会根据用户操作做出变化的素材!要沟通好了!比如:搜索栏,很典型的用户操作界面会变化!不过这主要起决开发的经验,和美工对开发的理解!


    2.关于功能实现:
    第一,在界面布局;object-c在程序开发中因为xcode这个开发工具的关系,我觉还是比较易于开发的!在界面布局,这一块,在美工提供好素材之后,尽量注意素材的摆放位置,字体的颜色,加不加粗,字号是多少!这直接关系到界面的最后效果!另外尽量保持同一属性的控件对齐!

    第二,第三方库的使用;第三方库我觉要是有第三方库能实现我需要的功能时候,我一定会使用第三方库的!这样太方便了!但是也要主要选择!太过复杂的还是要裁剪一下!不过功能实现优先!这个待平衡!

    第三,加注释,方法模块化,这个待提高吧!这和开发者的经验有关系!不过我还是觉得不要在多个.h .m里引用来,引用去!太复杂了!可读性会很差!除非这个模块是多个界面都有可能调用!

    第四,交互文档太重要了!客户随时都有可能会有需求!要是没有交互文档!首先我们实现起来会效率比较低!因为我们根本不知道客户要的是什么效果!客户有可能会随时变更需求!同时也反映出:客户他们自己对他们想要的最终产品,没有考虑清楚!app开发中细节才是决定最终产品!细节思考不到位!灾难!

    第五,关于功能实现方式,建议在APP设计中引入.html,在比较简单的界面,建议直接用WebView加载.html!假如多个平台同时开发!像关于我们这种界面!可以使用一个“响应式网页”就可以实现!android也可以使用!这个我还在考虑,多种界面实现方式是否可行!

    3。项目管理。
    第一,被外派到客户公司上班!这个我觉得对项目管理来说很不好啊!除非客户那边有项目管理!要不随时都有可能会因为客户的一个新需求 或者新的想法!直接打乱原来的项目计划!

    第二,关于项目进度报告!项目前期,要分功能模块/界面模块划分!这样比较容易规划产品开发周期!但是,这样的估计!我觉得在整个规划完成后!可能只会完成项目的40~60%,因为很多细节!不去测试,不去使用,开发是不会考虑到的!不过这和开发者的经验有关系!

    第三,关于项目后期!后期,界面框架是固定的!测试应该开始工作了!这一时期!多半是功能实现不完美,也可能是新的需求添加,功能bug问题,UI布局等问题!还是有一份邮件,列出每天的bug!然后逐条修改!这样做多次迭代!修改!


    4.关于多平台开发!
     建议下次在APP中假如“响应式网页”这种.html文件!实现界面!这是趋势,也是加快开发,增加多中分辨率适配的好办法!这是建议,我再学习一下!


    5.关于iPhone软件设计的思考
    项目提交审核了,今天客户拿来一部iphone5说看看一个软件!发现有一款今年1月份上线的产品,到目前为止已经升级了5次了!他们使用传统的tabbar来组织视图,功能和我们开发的类似!这个市场上有同类产品,我们在做也是可以的!但是等我们都做出来了才发现,我觉得对所开发的APP所处市场就有点缺考察了!要是在产品规划的时候,我们就发现这款运用的话,我们可以参考,借鉴。开发出更好的产品!市场是需要竞争的,一个大的需求市场,可以有一两款产品相互竞争!

    6.关于产品交互和开发
    在开发不断完善产品的时候,同时也需要不断完善交互图!最后开发出来的APP和交互一致!这样可以提高工作效率,因为大家的意见一致,开发根据交互做产品,做产品发现交互没考虑到得,交互及时更新!

    7.关于测试:
    这个项目的后期,测试团队工作的很嗨啊!每天对产品做测试!提出了不少改进的意见!这次测试有个问题就是,完全是凭一个用户的角度去测试这个软件,也对各个功能点做了集中测试!但是缺了一个环节:需要参考交互文档,挨个功能点做测试!这个环节应该放在所有测试之前,这样已保证APP的每个功能点都完成,实现完整!

    8.关于产品上线
    这条只作为经验吧!说起来也感觉有点“2”。在提交审核后,7天了,苹果回邮件:说提供的测试账号不能用!一验证果真不能用!哎!不说啥了!{我是外派的,自然项目上线这种事,客户公司自己做的!}

    

     初生牛犊不怕虎,文笔一般!你可以吐槽菜鸟成长日记!对了,经过这个项目,感觉写服务器很牛x!最近在学点Python+Django!

原文地址:https://www.cnblogs.com/keanuyaoo/p/3275704.html