IOS和Android开发的一些个人感受(转)
傲娇的苹果,卖萌的安卓。
从个人心理来说,Android的小机器人萌的入人心,
咬了一口的苹果更注重了设计感,简约精致。
如果有出两系系统的周边,我觉得还是android买点比较多点~
机器人比较好坳造型,苹果 = =。
最近公司的产品 Android版本第二版也算到了收尾,新加了几个功能性模块,我基本也就捡了几个好玩的模块做了下。
然后IOS版本也是到了收尾,算算话,从6月策划到现在9月底,其实以时间周期来说,进度算是一般般,或者是慢的了。
但是产品本身是一个延续性的东西,并且IOS平台的版本是直接和Android平台的版本同步,对于2期一些新功能,客户端和服务端的新接口添加,
因此一些测试原因也拖长了时间。
另一点是公司没有一个视觉设计或是专门UI方面的同事,对于应用的模型和界面设计基本都是,看看他人的产品觉得,哟,Aapp这部分界面设计不错,
Bapp这个交互设计实现的人性化,Capp的这个功能,可以考虑加进去嘛?
这也就会导致,本以为快到收尾的版本,又因为马上要修改点UI,交互逻辑,新添个小功能。(我会告诉你,我们的Android版本3,4月上线,
距离现在半年了吧~这第二版这持续的时间,有点蛋疼了)。
因此有时觉得,一个好的视觉设计和交互设计师,不仅是让你的产品体验性提升,同样也能缩短点开发工期。
一:学ios开发和学android开发的心态
Android:给人觉得入门简单,转过来也容易,目前行业来说,无论薪资和就业都还算不错,并且移动互联网还在告诉发展。
而互联网又是一个多激情多奇迹,也多泡沫的社会。再简单点心理来说,先混口饭吃,因为我揣着理想跑到菜市场,看到了排骨要20-23块钱一斤。
IOS:其实大部分也是转型过来,一方面觉得物依稀为贵的想法(虽然现在ios开发人员增长也迅速,但是从几个月前公司找人翻简历来看,
30:1的比例~~非官方客观比例,简历申请也会考虑主观因素嘛),但是,反正ios开发竞争相对会柔和点,并且那会来说,薪资也会比同等的android人员好点;
另一点是觉得做ios开发比较酷,有木有?
因为一般人总觉得,ios开发比android开发感觉起来逼点(这个逼点自己体会吧,有人觉得开发ios用 的imac好炫,觉得苹果产品就是好的一种心里,
但是真让你说哪里好时,也就人与亦云,设计好,艺术感什么的,当然,这也却是。android因为各种山寨导致成了媒体说的屌丝产品,
当然,我宁愿觉得这是一种自嘲文化。)
个人:1-2年左右的Android,然后又去学了IOS,因为公司环境和状况的原因。有人说,你干嘛转ios啊,又是个背叛者有木有~
可能一方面是想接触下多平台开发,一方面是突然疲软期。开发的疲软期是突然觉得自己成长的好慢了,然后有点缺少激情。
确实,Android应用层开发很多时候确实会进入这个怪圈,又我们公司产品比较单一,基本开发完后就是各种适配,合作商户版本修改,以及运维。
而刚好公司准备说开发自己的ios平台,也没人,我特么一激动就上了(好吧,我不是一激动上的,我是有预谋)。毕竟学学多平台开发也不是什么坏事,
可以了解下两个平台操作习惯的差异性共性,以及借鉴。并且对于开发一个完整的新项目,我觉得做起来应该比维护来的跟有劲吧。
二:IOS和Android的开发期间的问题
1.用户习惯性
虽然都是手机,但是,最后发现操作习惯,潜移默化的UI习惯,两者也是很大的。
比较悲剧的是,一般常理来说,应用的移植方向都是ios移植成android,我们公司刚好倒过来了~
界面框架最简单的可能就是说,back交互的改动,但是后来发现,一些手势编辑,无文字按钮的用户辨识逻辑性。
如果纯粹是把android的移植过去,因为本身Android因为屏幕关系,提供空间域比较宽广,可以将操作交互按钮基本都显示
的布局在屏幕上,但是,ios啊,我次奥,我手指太粗了么,按钮一密集,绝对是对视觉效果,操作效果都是个硬伤。
因此会引入很多ios系统默认传承的一些操作习惯,比如手势按钮的删除,各种menu,info按钮的无文字化,编辑(增删改)的操作的默认逻辑流程等。
2.适配
这个其实也没啥说的,但是个人认为只是屏幕适配问题倒是不大,毕竟android也就那么几种屏幕大小吧,问题一些机型和硬件的适配,
碰上几款山寨到没节操的机子,算是个悲剧。
Ios屏幕图片资源适配相对来说简单多了。
然后是考虑sdk版本的兼容,apple本身也提供了一些类做为版本兼容性的判断等,并且大部分应用时候,开发过程中是Latest版本sdk来开发,
但是基本都保持向下兼容,因为对于大部分应用新特性运用的不多。
3.编程语言风格
这块觉得两者还好,一般应用级别的app,基本都是用了一层语言,然后oc用惯了其实跟java感觉差不多。
ios会运用到一些c语言风格的初级代码,如宏等。
说语言的入门难度,我觉得可能是java以前一直用着,然后时间久了觉得没什么太多难度,
ios因为是OC,略有改动的语言书写规范,但是这个也不是问题,最后唯一扯到一起的共同点就是API的熟识度了。
也就是SDK学习,个人觉得Android稍微简单点,简单原因1:资料比较多,翻译的也比较成熟,开放源码,对api代码结构性也可以
有一个感性认识。相对ios,资料也还算可以,但是比较单一,基本买的sdk书或是教程,就那么个学习流程。想深入学习,基本只能自己去
看官方英文api。
三:简单说
我学ios的时候,一直有朋友说,搞了1年多android,你不干了啊?倘若我在说一句,总做应用层应用有点厌倦,估计就有人会鄙视的说:
你可以学系框架层,底层啊,ndk开发啊。
首先,我只是说学习ios,而非转ios~对于Android其实来说,水还是真的挺深的,但是你要考虑的你的工作环境以及情况。
很多时候深入学习和接触一个新的或是深的事物的成功,都需要外界环境来孕育,比如,我有个朋友,因为工作关系别调到去做系统定制了,
原本就说要学习框架啊什么的,这倒刚好给他提供了一个孕育环境,虽然刚过去时叫他改某个系统模块时搞了1个礼拜,然后一点都不会啊,
现在,编译源码,定制个launch,新增个模块,也算不是什么大碍了。
而我一直接触应用层,特么去下个ndk接触玩玩,也只能说,“嗷,熟悉了下环境搭建,然后跑通个helloword了".
ios的我我觉得更多的是一个经验论的过程,说实话,apple的系统太封闭性了,仅仅提供给你了文档和接口,就让你调用,
这就好比给你量汽车,一个使用说明,你了解不到里面。这也是有利有弊的,不可否认的是统一性和简洁性。
弊端是当我android编程过程中跳sdk源码跳习惯了,ios看到某个类突然想看内部实现时,发现,没地儿可跳~
因此最近也渐渐发现,如果是纯粹编码,代码阅读等,Android的乐趣性更高。
而对于最终的产品性,那就仁者见仁智者见智了。
但是就产品本身而言,都是需要实践论和经验论的。
当然说了上面,我的意思是,或许ios更需要时间积累,android会注重深入研究。
以上自是个人一点小感受。
做Android的时候,阅读源代码等一些深入理解会不禁顿生乐趣:噢,原来这样。
最ios时,乐趣可能更多体现在应用跑起来时视觉和操作:喔,不错哦,劳资的应用确实挺酷的(当然,前提你有个不错的视觉或是美工)。