后端来问问:是不是安卓开发比 iOS 更难?

2020-08-26 10:30:52 +08:00
 xiaotianhu

接触过一点 iOS 开发,没弄过安卓开发

从产品最终的质量和人力成本来看.iOS 和安卓,相同的人力成本 时间成本, 人的能力相差不大, 最终做出来的 App 的质量, 安卓比 iOS 要差不少.

安卓的机器确实多,各种低端 MTK, 不同屏幕,兼容性不好弄.感觉上就像当年的 IE6 一样.

安卓的开源组件,做的普遍也没有 iOS 好.不够精细,勉强能用的水平.

所以懂的同学来说说,是不是客观情况决定了就是这样,没办法?还是我司小伙伴的水平差距问题.

7390 次点击
所在节点    程序员
46 条回复
kop1989
2020-08-26 10:36:05 +08:00
从我的经验理解来讲。
对于小厂而言(拿不到各种 os 的白名单的话):
如果是要一个 40 分左右的 app,安卓简单些。
但是如果要一个 90 分左右的 app,安卓很困难。

如果是一个 60 分的 app 的话,我感觉安卓和 ios 的难度相仿。
kop1989
2020-08-26 10:38:09 +08:00
还有一点需要补充,就是相同的产品,安卓 app 往往要比 ios 的 app 功能需求更多(因为安卓环境更开放的原因)。
murmur
2020-08-26 10:38:38 +08:00
ios 主要是用 c 语言,c 语言带数组就比安卓恶心,objc 又比正统 c 更恶心,当然不知道现在是不是都 swift 了

安卓其实问题不大,那种国产特性都是合作方才能做的,也轮不到你
murmur
2020-08-26 10:38:50 +08:00
*更正:c 的指针
lonelymarried
2020-08-26 10:40:07 +08:00
我开发习惯了 ios,去搞安卓,真心不顺手。
Leonard
2020-08-26 10:41:17 +08:00
这个也和 UI 设计有关,如果按 iOS 风格来设计的话,iOS 能直接用原生控件,安卓得找开源组件或自己写;按安卓风格设计的话则相反。不过安卓厂商 UI 定制居多,没有通用风格,所以一般来说会倾向按 iOS 风格设计。
huage2580
2020-08-26 10:46:29 +08:00
人的能力相差不大,要看是 60 分的人,还是 90 分的人。
及格水平的话,双端都差不多,甚至安卓画界面快点。
90 分的 app,安卓更难,尤其是 UI 设计只出一份 ios 的,有些控件 ios 自带,安卓自己写几天。然后就是动画之类的,安卓需要很用心才能调试出差不多的动效。
hoyixi
2020-08-26 10:46:49 +08:00
Android 要费劲一些,至少适配就够喝一壶
iFlicker
2020-08-26 11:12:59 +08:00
个人觉得相对来说的确是难
Android 上下限拉的太大了,往好了做对开发要求不低,但是随随便便也能出个能用的 app 。优秀的参考国外大厂应用(fb gp ins gmail twitter tg 等)
还有就是适配,android 要适配各种分辨率 机型 非原生 rom 甚至下到 4.4 上到 11 的版本,一不小心没搞好就扯了。
另外就是 Android 开发所涉及的广度和深度都不小。
广度上 java kotlin flutter(dart) C++ ReactNative gradle(groovy) openGL openCV 热更新 插件化 音视频编解码等等,
深度上 JVM/Dalvik/ART NDK/JNI 反编译 smali 特殊混淆 防破解 加固 签名校验 Xposed/VirtualAPP/root 检测 跨进程(pipe/Binder) Framework(AMS/WindowManager ...) 以及涉及 Linux 的一些东西等等

常见的开源组件没什么毛病啊 okhttp retrofit rxjava 系列 glide realm 以及 JetPack 等等,难道你说的是 UI 组件?
iFlicker
2020-08-26 11:14:55 +08:00
[狗头]当然了,真说做的好不好 我觉得一看开发的水平,二看给的时间充足不充足。你再牛逼的开发,老板天天快速迭代 两天搞定第三天上线 能做出个什么玩意儿
xiaotianhu
2020-08-26 12:04:05 +08:00
@huage2580 是这样,尤其是动画,都用一些开源方案的时候,安卓体验更差.让开发去优化也感觉更难.

安卓不是号称对开发者更友好.ios 开发反人类么.
xiaotianhu
2020-08-26 12:05:56 +08:00
@iFlicker UI 组件,比较直观嘛.底层网络通信框架啥的我相信按着 Java 的积累肯定没问题的.
安卓对比 iOS 让人诟病的不也是 UI,不够流畅 不跟手什么的.
kuyuzhiqi
2020-08-26 12:07:23 +08:00
质量这东西和平台无关,看产品设计和敲代码的人,Android 开源组件用 star 数量多的在维护的那种能避免很多坑,不过适配确实太难了,唉
across
2020-08-26 12:08:43 +08:00
同一水平线的肯定算 android 难,应该说是····杂?
我之前两端都做接触过一点,不过非专职。
across
2020-08-26 12:10:37 +08:00
不过楼主应该明说下,这里提到的 [App 的质量] 指什么。 稳定性表现? UI 适配? 功能体验?
loginbygoogle
2020-08-26 13:10:06 +08:00
贵公司的员工水平都很差
bjzhou1990
2020-08-26 13:13:27 +08:00
整体而言,小公司安卓开发的水平要比 iOS 开发差一些,并且 iOS 原生组件比安卓原生组件更完善和美观,相同开发成本下安卓 UI 要比 iOS 查一下
kiroter
2020-08-26 13:44:39 +08:00
就推送消息来说,安卓就要哭了吧。
fffang
2020-08-26 13:46:40 +08:00
@murmur 写 app 用的 objc 一般不会用到 c 指针啊,objc 还算是比较亲和的语言吧。
andev
2020-08-26 14:09:31 +08:00
UI 只是开发中的一个小点而已

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/701491

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX