阅读更多

3顶
0踩

移动开发

转载新闻 Android 是移动世界的“鸭嘴兽”

2013-03-12 14:25 by 副主编 WnouM 评论(4) 有6545人浏览
如果你是一个移动开发者,对于 Android 的态度可能是又爱又恨。它的开放性给予了你更多可能,同时也给予了你更多麻烦。市场上的 Android 手机越来越多,但是各不相同。有原生 ROM,有定制 ROM;有 2.x 系统,有 4.x 系统;配置各有不同,分辨率各有不同。面对复杂的市场,开发者应该如何对待?


GroupMe 的开发者之一 Ajay Kulkarni 写了一篇文章,谈到 Android 开发中的一个心得:存在两个 Android 市场。
引用
Android 是什么?“Android 与你想象的不同。它不像 iOS,它甚至与我们见过的 Windows、Linux 和其他 OS 都不同。Android 是移动世界的鸭嘴兽。正如鸭嘴兽,Android 是一个复杂的怪物,两种完全不同的动物的怪异组合。”

他认为,作为一个开发者,你需要为两个完全不同的市场开发。这两个市场是:专业人士(Hackers)和普通用户(Casuals)。

专业人士相信 Android 的基本哲学——开放性。“专业人士喜欢定制。他们安装自己的键盘、拨号界面、通讯应用,甚至主屏。许多人是开发者。他们探索,他们折腾。他们喜欢设置、设置,以及更多的设置。”

普通用户原来使用功能手机,被 Android 吸引是由于价格。“普通用户喜欢壁纸和定制铃声。但他们不去折腾。许多人是刚刚接触智能手机。他们用 Facebook、Twitter 和其它受欢迎的应用,但他们不探索新应用或新技术”。

Android 最初的用户是专业人士。但是过去的两年内,Android 设备越来越便宜,普通用户的群体正在形成。这给开发者带来了难题:

  • 两个群体在应用操作上有不同的期望。在发布 GroupMe 4.0 版本的时候,开发者发现两个群体对后退键的期望不同。专业人士希望后退键退出应用,而普通用户希望后退键调出侧滑菜单,然后退出应用。于是,开发者决定这样做:按照普通用户的期望来设计后退按钮,然后在设置里增加定制项。“无论何时,当我们需要为两个群体构建不同的行为时候,这是我们的方案:为普通用户构建,让专业人士定制它。”
  • 你不能为自己开发应用。Android 开发者常常是专业人士,因此,开发者需要思考更多,让普通用户也能理解你的应用。“如今,当我们改变功能,或者修正 Bug 的时候,我们试图以普通用户的眼光去看待应用。我们试图把他们的思考和行为内化,从而使他们的反应成为我们的反应”。
  • 很难测试。首先,很难测试新功能,因为喜欢新功能的人都是专业人士。为解决这个问题,在每次主要版本发布的时候,GroupMe 会找到对 Android 不精通的朋友们,让他们参与测试;其次,很难对新功能进行问答。开发者使用运行最新版本的旗舰机,但是普通用户用的是 50 美元的低端机,“小屏幕、烦人的用户界面,很少的内存空间”。解决这个问题的方法是,在新功能开始设计的时候就考虑到低端机,而不是发布的时候才想到去测试。
  • 专业人士喜欢改变,普通用户不喜欢。普通用户会讨厌新功能,然后逐渐爱上它。不过,有时候,新功能确实是实施不当,或者错误的。因此,你需要辨识出这两种情况,收集数据,讨论,然后弄清楚真实情况究竟如何。
Ajay Kulkarni 说,自己的总结其实刻意忽视了另一个市场。这个市场很庞大,但是他仍然没有理解。那就是全球范围内涌现的低端市场。这些市场中的手机,没有数据计划,甚至没有 Google 的认可。“这些设备缺乏 Play Store,GCM(Google 云端推送),Google 地图以及其它 Google 服务”。

不过,这个市场不容忽视,因为它是一个非常巨大的市场。“2012 年第四季度,在全球 iPhone 销量中,美国大概占 1/3,但是在Android 上,它只占有 10%。换句话说,你可以说美国是 iOS 的领跑者,但当涉及到 Android 的时候,我们很明显是无知的”。
  • 大小: 30.1 KB
来自: 爱范儿
3
0
评论 共 4 条 请登录后发表评论
4 楼 xiaowanghappy 2013-03-14 09:17
3 楼 骨之灵魂 2013-03-13 07:01
dohkoos 写道
为普通用户构建,让专业人士定制。

就是  给普通用户较好的默认项,让专业用户定制呗
2 楼 魔力猫咪 2013-03-12 16:27
Ajay Kulkarni 说,自己的总结其实刻意忽视了另一个市场。这个市场很庞大,但是他仍然没有理解。那就是全球范围内涌现的低端市场。这些市场中的手机,没有数据计划,甚至没有 Google 的认可。“这些设备缺乏 Play Store,GCM(Google 云端推送),Google 地图以及其它 Google 服务”。

这些说的就是国内市场吧。
1 楼 dohkoos 2013-03-12 16:12
为普通用户构建,让专业人士定制。

发表评论

您还没有登录,请您登录后再发表评论

相关推荐

  • 看一道关于try finally的面试题

    看一个finally的面试题: 测试代码: public class Test11 { public static void main(String[] args) { System.out.println(doSome()); // 10 } private static int doSome() { int i = 10; try { return i...

  • 一道关于finally的面试题

    此外,如果try-finally或者catch-finally中都有return,则finally块中的return语句将会覆盖别的return语句,最终返回调用者那里的是finally语句块中return的值。 下面通过一个例子来说明这个问题。 package ...

  • 关于finally的一道面试题

    直接上代码: public static void main(String[] args){ System.out.println(method()); } public static int method(){ int i = 10; try { return i; }finally ...

  • 10万字208道Java经典面试题总结(附答案)

    哪吒,CSDN2021博客之星亚军、新星计划导师✌、博客专家 哪吒多年工作总结:Java学习路线总结,搬砖工逆袭Java架构师 技术交流:定期更新Java硬核干货,不定期送书活动 关注公众号【哪吒编程】,回复 面试题 ...

  • java 入门面试题

    每次自己想跳槽的时候,内心总是担忧着那些面试题怎么解答。 很多问题在实际工作中并不会遇到,没有实际的解决问题经验,看过也记不住。 假如我明年需要换工作,那现在把下次的面试准备工作,拆分、融入到平时的...

  • 关于Finally的一道面试题

    答案是10 首先要明确的是,无论代码是否出现异常,finally中的代码一定会执行 因为调用fileInputStream读取文件本身,但是只写文件名没有写全限定名称,所以会出现notFound异常,便会走向catch 在catch中执行到了...

  • 关于finally与return语法机制的一道面试题

    }finally { i++; } } } 最后的结果为 100: 解释: Java语法中有这样一条规则: 方法体中的代码必须遵循自上而下顺序依次逐行执行(亘古不变的语法!) Java中还有一条语法规则: return语句一但执行,整个方法必须...

  • java关于异常的面试程序题_一道面试题,关于java的异常处理的

    } finally { System.out.println("Hello World!"); } } } 下面公布输出结果以及我的问题,如果没遇到这个问题的可以先想想输出结果是什么请输入代码 输出 Caught Annoyance Caught Sneeze Hello World! 我的思路是...

  • Promise面试题汇总

    Promise回顾 Promise基础 Promise的catch、then、finally Promise的all和race Async、await 其他题目

  • Day53-每日一道Java面试题-final、finally、finalize的区别?

    final、finally、finalize的区别? final用于修饰变量、方法和类。 final变量:被修饰的变量不可变,不可变分为引用不可变和对象不可变,final指的是引用不可变,final修饰的变量的变量必须初始化,通常称被修饰的...

  • 一道关于try,finally执行顺序的面试题

    try {}里有一个return语句,那么紧跟在这个try后的finally {}里的code会不会被执行,什么时候被执行,在return前还是后?   public class test { /** * @param args */ public static void main...

  • 关于java异常try catch finally的一道题

    这两天,有人咨询我一道关于java基础的一道题,具体代码如下: private static int m1() { int a = 10; try { a = 20; throw new RuntimeException(); } catch (Exception e) { a = 30; return ...

  • java面试金典选择题_遇到一道经典的java面试题

    45 } finally{46 if(fos!=null) {47 try{48 fos.close();49 } catch(IOException e) {50 e.printStackTrace();51 }52 }53 }54 55 }56 57 /** 58 * 对用户列表排序,并输出成文本格式59 *@paramlist60 *@...

  • Java面试题-每天更新一道面试题

    1.在java中==和equals()的区别? ... 2.HashMap和Hashtable各有什么特点,它们有什么区别?HashMap的工作原理?(必背题,超级重要) https://www.cnblogs.com/beatIteWeNerverGiveUp/p/5709841.ht...

  • java面试题题库大全800题

    178、Java异常处理try-catch-finally的执行过程 179、java异常处理面试题常见选择题含答案 180、JAVA性能优化 181、java性能优化大全珍藏版 182、java数组有什么特征 183、Java有没有goto? 184、java检测百度是否...

  • Java 基础常见面试题总结

    本文总结了 Java 基础常见的面试题。

  • promise 以及经典面试题

    p1.then(function(rs){ // 如果p1的状态是resolved,则then中的函数 //会执行,且obj1的值会传给rs }).catch(function(rs){ // 如果p1的状态是reject,则catch中的函数 // 会执行,且obj2的值会传给rs }).finally...

  • 西门子S7-200SMART与V20变频器基于Modbus通讯的稳定控制及应用

    内容概要:本文详细介绍了西门子S7-200SMART PLC与V20变频器通过Modbus RTU协议进行通信的具体方法和技术要点。首先阐述了硬件连接方式,强调了正确的接线和参数设置对于稳定通信的重要性。接着深入讲解了PLC程序的设计,包括Modbus主站初始化、启停控制、频率设定以及断电自恢复等功能模块的实现。此外还分享了一些实用的经验技巧,如避免通讯冲突、处理浮点数转换等问题。最后提到该方案已在实际生产环境中成功应用,表现出良好的稳定性和可靠性。 适合人群:从事自动化控制系统集成的技术人员,特别是熟悉西门子PLC和变频器产品的工程师。 使用场景及目标:适用于需要将旧型号PLC与变频器进行高效集成的企业,在不影响原有设备的基础上提升系统的智能化水平,减少人工干预,提高生产效率。 其他说明:文中提供了大量具体的编程实例和参数配置指南,有助于读者快速掌握相关技能并应用于实际工作中。同时提醒读者注意一些常见的错误及其解决方案,帮助规避潜在的风险。

  • 西门子PLC电机控制程序:封装好的功能块助力高效工业自动化

    内容概要:本文详细介绍了西门子PLC中用于电机控制的封装功能块,涵盖正转、反转、变频控制等多种功能。通过简化底层代码,提高编程效率和系统可靠性。文章展示了如何使用功能块实现正转、反转、变频控制、模拟量处理、故障处理等功能,并结合用户自定义数据类型(UDT)和多重背景技术,实现对大量电机的高效管理。此外,还提供了具体的代码示例,帮助读者更好地理解和应用这些功能块。 适合人群:从事工业自动化领域的工程师和技术人员,尤其是那些需要频繁处理电机控制任务的人群。 使用场景及目标:适用于需要简化电机控制编程、提高系统可靠性和可维护性的工业环境。主要目标是减少重复编码的工作量,提升开发效率,确保系统稳定运行。 其他说明:文中提供的代码示例和方法不仅有助于初学者快速入门,也为有经验的工程师提供了优化现有系统的思路。通过使用这些功能块,可以在短时间内完成复杂电机控制系统的搭建和调试。

  • 腐败感知指数(CPI)数据和各种治理指标数据集

    全球腐败感知数据(2000-2023)——3000行 33个指标 关于数据集 该数据集包含3000行和33列,涵盖了2000年至2023年的腐败感知指数(CPI)数据和各种治理指标。它包括国家排名、分数和其他指标,如公共部门腐败、司法腐败、贿赂指数、商业道德、民主指数、法治、政府效率、经济指标和人类发展指数。 这些数据可用于: 腐败趋势分析 腐败对GDP、人类发展指数和治理的影响 跨国比较 数据可视化和机器学习模型 该数据集对研究人员、数据分析师、政策制定者和对研究全球腐败趋势非常有用。

Global site tag (gtag.js) - Google Analytics