新手问题 求经验 iOS 开发者如果学习 Android 最佳实践是怎么样的?有啥坑?

hlxwell · 2013年05月26日 · 最后由 jonny 回复于 2013年05月27日 · 4562 次阅读

生活所迫。你懂得。

求赐教

android 和 ios 区别挺大,感觉 ios 很有经验的做 android 不会很难,不过注意点内存管理上有很大的不同,objectc 可以手动管理内存,但是 android 是自动的,没办法马上释放内存,所以在 android 里不要反复的去生成实例,那样得话没办法马上释放掉,那样内存会增长得很快,从设计模式上来看,ios 上使用的是比较清晰的 mvc 模式,但是 android 里的 activity 没有将 view 和 controller 进行分离,从 activity 的底层实现来看其实 activity 就是一个状态机,更适合用状态机的思维去分析和解决问题,mvc 模式简化问题的方式是将问题进行分类汇总处理,而状态机的方式是将大的问题(状态机)分解成小的问题(状态机)来逐个解决,所以 android 虽然没有提供清晰的 mvc 模式,但是提供了 activity->fragments,你可以将复杂的页面分解成简单的 fragments 来进行复用,可以说思路上应该是很不一样的,目前就能想到这么多,什么东西都是多想多练都能成为高手的

顺便打个广告,要是对目前状态不大满意的话能不能过来聊聊,现在我这急需 ios,android,emberjs,rails,我们这现在已经度过难关了,目前状态相当不错,公司资金也很有保障

我到感觉有 android 经验做 iOS 会很简单,如果由 iOS 转 android 反而不好适应,正所谓由奢入俭难,由俭入奢易。iOS 有很好的 mvc 模式,android 在做适配的时候要考虑周全

java 很蛋疼~

#3 楼 @oldcwj ios 要比 android 清晰不少,mvc 要比状态机容易掌握,状态机相对来说是一种高级技巧,更加难熟练掌握,所以说从 ios 转 android 要简单,也就是你说的由奢入俭难,呵呵,android 提供了更高级别的封装,我两个都偶尔搞搞,有感而发

#2 楼 @mjf429 没有见过那么谦虚的老板

#1 楼 @mjf429 谢谢这么给自信的。

#1 楼 @mjf429 求解释状态机。。。之前写 Android 从没听说过这个概念。。只是学习算法和编译器的时候接触过状态机。。

Android 其实挺简单的,没想的那么复杂,现在都比较完善了,做了几年 Android,没被坑过

ios 都用 ARC 了,内存管理区别不大

#9 楼 @thinkfeed 嘿,这兄弟给力,亲安派。

#10 楼 @SharpX 是的。区别不大。虽然有时候还是会有内存问题。

呵呵,不算亲哪派吧,我不喜欢争论这些,没必要贬低谁,最近也准备学 IOS 呢。Android 碎片化是很严重,如果适当的做一些取舍,你会做的很开心。

#8 楼 @oa414 状态机你可以去查下维基百科,里面写得还是挺不错的,主要就 是说你可以把要做的事情分成各种状态,然后状态下还能有子状态,从一个状态切换到另外一个状态的时候你可以定义中间需要做的事情,可以简单理解为 stateA->stateB dosth

#8 楼 @oa414 状态机有个好处就是你可以使用 uml 状态图来描述你要做的事情,然后就很容易对应到程序,android 实际上就是个大的状态机在跑,系统知道你的 activity 到了什么时候应该去做什么事情

话说 ios 的这种控件逻辑还不是很理解好处在哪里,在 android 里面明明可以放一个控件给个 id 就搞定的事情为什么在 ios 里面要通过关联 property 是 IBOutlet 的变量来获取,还有该死的 autolayout 很难去手动控制,和 android 里面自己控制的方式比起来简直弱爆了。

总之个人感觉就是 ios 的界面开发上的用户体验做的有点精神分裂,经常会遇到让人想骂娘的状况。

#16 楼 @jonny 这个更给力。

话说,我觉得 Goolge 的技术还是挺让人觉得靠谱的。developer friendly

#15 楼 @mjf429 感谢。。不过感觉写 Android 和 iOS 的时候,区别更大的是 Android 开放和多任务的特性。写 iOS 的时候不用考虑一些事情,因为根本不可能实现。写 Android 的时候可以实现一些更有趣的想法,做一些事情也更方便,同时也有一些不顺手的地方。

#16 楼 @jonny ios 和 android 都是很好的系统,技术没有高下之分,只和使用技 术的人有关,目前总的来讲 iphone 应用的质量要高于同样的 android 应用,因为在 ios 下开发相对来说考虑的问题要少,只能说各有利弊,我个人是希望 google 把该死的 java 换成 golang 就舒服了。。。对 android 系统本身倒没什么意见,多个封装用起来舒服点

#20 楼 @SharpX 这个东西好,呵呵

#20 楼 @SharpX 好东西,以为是 html5 呢

#19 楼 @mjf429 我也没有给他们分高下啊,我只是在吐槽😓

需要 登录 后方可回复, 如果你还没有账号请 注册新账号