个人App开发者将成为“濒危物种”

2024-02-04 23:32

本文主要是介绍个人App开发者将成为“濒危物种”,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

如果你是一名移动App开发者,如果你想让你的App能够在目前市场中的80%的活跃设备(活跃是指在这些设备上有过App会话行为)中很好地运行,那么你需要在多少种设备上进行测试和优化呢?答案是156种。如果你想覆盖60%的活跃设备,这一数据是37种。如果你想覆盖90%的设备,意味着你需要在331种设备上进行测试。这个工作是相当庞大的。



7%的设备型号仍是一个大数字

在1月份,移动应用数据分析公司Flurry检测到了2130种不同的设备型号。这些设备型号在使用上相对比较集中——大约80%的活跃用户集中在7%的设备型号上。但是,庞大的设备总数,即使是7%,对于开发者来说仍是一个很大的挑战。

此外,你还需要针对不同的平台(iOS、Android、WP等)来开发不同的应用。当然,你也可以选择某一特定平台,但是你还需要针对该平台的分支系统做出优化,以适应该平台上的不同系统版本,比如iOS 6.x与5.x、各Android分支版本等。此外,你还需要考虑不同屏幕尺寸、比例的平板、手机等。

对于这些设备的测试、优化工作量将是非常巨大的,并且成本相当高。

这对于个人开发者来说非常艰难,他们不可能有足够的资源来支持日益增长的设备型号列表,无法与大公司竞争。如果不针对这些设备进行测试、优化,一些不好的用户反馈可能会令你的应用石沉大海。

创收艰难

根据Vision Mobile开发者调查问卷显示,App开发者的收入分配也极不平衡,只有少数的开发者每月能赚500美元以上。支持更多的设备,也意味着更大的资金投入,这对于大部分开发者来说都是吃不消的。

个人开发者如何做?

那么个人App开发者应该如何做呢?建议专注于尽可能多的人所使用的设备型号。下面来看一组调查数据,这些数据可以为你选择平台和型号提供一些参考。

按平台统计的活跃设备比例,可以发现iOS平台是其他平台的14倍:



按制造商统计的活跃设备比例:



App会话与设备类型的关系:



按平台统计的活跃设备应用会话比例:



按制造商统计的活跃设备应用会话比例:



最后

目前移动设备市场竞争也日趋白热化,新设备推出的周期也越来越短,这意味着,开发者的优化、测试工作将变得更加困难。

同时,越来越多的开发者投入到移动领域,同质化的应用也越来越多。如果你希望你的App能够脱颖而出,除了大规模的宣传推广外,还必须要有一个好的用户体验,并想办法覆盖尽可能多的设备。但这是个人开发者所承担不了的。

由此可预见,未来“一个人+好的创意=畅销的App”的模式将逐步消失,取而代之的将是各种以公司为主导的App开发。个人开发者也将成为“濒危物种”。

这篇关于个人App开发者将成为“濒危物种”的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/679123

相关文章

科研绘图系列:R语言扩展物种堆积图(Extended Stacked Barplot)

介绍 R语言的扩展物种堆积图是一种数据可视化工具,它不仅展示了物种的堆积结果,还整合了不同样本分组之间的差异性分析结果。这种图形表示方法能够直观地比较不同物种在各个分组中的显著性差异,为研究者提供了一种有效的数据解读方式。 加载R包 knitr::opts_chunk$set(warning = F, message = F)library(tidyverse)library(phyl

HomeBank:开源免费的个人财务管理软件

在个人财务管理领域,找到一个既免费又开源的解决方案并非易事。HomeBank 正是这样一个项目,它不仅提供了强大的功能,还拥有一个活跃的社区,不断推动其发展和完善。 开源免费:HomeBank 是一个完全开源的项目,用户可以自由地使用、修改和分发。用户友好的界面:提供直观的图形用户界面,使得非技术用户也能轻松上手。数据导入支持:支持从 Quicken、Microsoft Money

分布式系统的个人理解小结

分布式系统:分的微小服务,以小而独立的业务为单位,形成子系统。 然后分布式系统中需要有统一的调用,形成大的聚合服务。 同时,微服务群,需要有交流(通讯,注册中心,同步,异步),有管理(监控,调度)。 对外服务,需要有控制的对外开发,安全网关。

Java IO 操作——个人理解

之前一直Java的IO操作一知半解。今天看到一个便文章觉得很有道理( 原文章),记录一下。 首先,理解Java的IO操作到底操作的什么内容,过程又是怎么样子。          数据来源的操作: 来源有文件,网络数据。使用File类和Sockets等。这里操作的是数据本身,1,0结构。    File file = new File("path");   字

LeetCode 第414场周赛个人题解

目录 Q1. 将日期转换为二进制表示 原题链接 思路分析 AC代码 Q2. 范围内整数的最大得分 原题链接 思路分析 AC代码 Q3. 到达数组末尾的最大得分 原题链接 思路分析 AC代码 Q4. 吃掉所有兵需要的最多移动次数 原题链接 思路分析 AC代码 Q1. 将日期转换为二进制表示 原题链接 Q1. 将日期转换为二进制表示 思路分析

京东物流查询|开发者调用API接口实现

快递聚合查询的优势 1、高效整合多种快递信息。2、实时动态更新。3、自动化管理流程。 聚合国内外1500家快递公司的物流信息查询服务,使用API接口查询京东物流的便捷步骤,首先选择专业的数据平台的快递API接口:物流快递查询API接口-单号查询API - 探数数据 以下示例是参考的示例代码: import requestsurl = "http://api.tanshuapi.com/a

MFC中App,Doc,MainFrame,View各指针的互相获取

纸上得来终觉浅,为了熟悉获取方法,我建了个SDI。 首先说明这四个类的执行顺序是App->Doc->Main->View 另外添加CDialog类获得各个指针的方法。 多文档的获取有点小区别,有时间也总结一下。 //  App void CSDIApp::OnApp() {      //  App      //  Doc     CDocument *pD

Matter.js:Web开发者的2D物理引擎

Matter.js:Web开发者的2D物理引擎 前言 在现代网页开发中,交互性和动态效果是提升用户体验的关键因素。 Matter.js,一个专为网页设计的2D物理引擎,为开发者提供了一种简单而强大的方式,来实现复杂的物理交互效果。 无论是模拟重力、碰撞还是复杂的物体运动,Matter.js 都能轻松应对。 本文将带你深入了解 Matter.js ,并提供实际的代码示例,让你一窥其强大功能

ConstraintLayout布局里的一个属性app:layout_constraintDimensionRatio

ConstraintLayout 这是一个约束布局,可以尽可能的减少布局的嵌套。有一个属性特别好用,可以用来动态限制宽或者高app:layout_constraintDimensionRatio 关于app:layout_constraintDimensionRatio参数 app:layout_constraintDimensionRatio=“h,1:1” 表示高度height是动态变化

如何成为一个优秀的测试工程师

链接地址:http://blog.csdn.net/KerryZhu/article/details/5250504 我一直在想,如何将自己的测试团队打造成世界一流的团队?流程、测试自动化、创新、扁平式管理、国际标准制定、测试社区贡献、…… 但首先一点是明确的,就是要将每一个测试工程师打造成优秀的测试工程师,优秀的团队必须由优秀的成员构成。所以,先讨论“如何成为一个优秀的测试工程师”,