27

我应该开始学习什么移动平台?重要的是:

  • 舒适
  • 平台人气
  • SDK和实际手持设备的低成本
4

22 回答 22

21

安卓

Linux 内核。SDK 成本低(免费)。Java 是一种相当流行的语言。

于 2009-07-07T12:59:01.660 回答
20

我认为3-4个平台有未来。但这取决于您喜欢什么平台以及您喜欢如何自由地分发您的应用程序:)

  1. 视窗电话 7
  2. 安卓
    • 爪哇
    • 通过Android Market(收费)或像普通应用程序一样
  3. 苹果手机
  4. Windows Mobile(我的最爱)
    • C++ 或 .NET
    • 免费分发,就像普通应用程序一样
    • 微软也有市场——这里
  5. 爪哇
于 2009-07-07T13:00:37.870 回答
16

既然诺基亚收购了 TrollTech(Qt) 是为了在 Symbian 之上创建一个出色的移动平台,你会认为 OSS 人群至少会提到它。

与其他所有产品相比,Symbian 拥有巨大的市场。Qt 是 KDE 的支柱,允许轻松的跨平台开发,并且设计得非常好。

你会认为:

  1. 巨大的市场
  2. 一个很棒的 LGPL 跨平台框架
  3. 一个应用商店

......将是一个等待发生的未来热门。你肯定比在成千上万的其他应用程序中多一个应用程序更有机会赚钱,用户期望支付的费用不超过 0.99 美元。

Symbian 也开始走上开放代码的道路。实际上,随着 Qt 移动平台的成熟,底层操作系统可能甚至不再那么重要。

于 2009-07-14T12:42:59.840 回答
14

这很简单(即使对于像我这样的 Windows Mobile 开发人员):

苹果手机

该设备的底层技术并没有什么特别之处,但苹果公司为支付开发人员提供了一种方便合理的机制,同时将设备锁定到软件盗版(据我所知)完全不可能的程度[更新:或显然很难] . 谁不想为这样一个快速增长的市场编写软件呢?

Windows Mobile 设备本可以在 6 或 7 年前做到这一点,但不...

于 2009-07-07T12:52:58.530 回答
9

受欢迎程度:全球数据表明 Java ME 明显领先于其他所有人。Symbian 遥遥领先。iPhone是一个更遥远的第三个,很远。但是,如果您的目标是一个大陆、一个国家或一种语言,那么数字可能会发生巨大变化。

易于开发:Objective-C 是一个很酷且功能强大的东西,但请记住它已经 20 岁了。iPhone 易于开发,但 Android 开发同样简单、免费和多平台。Java ME 是一场噩梦,除非您针对数量非常有限的不同手机型号。原生 Symbian OS C++ 在市场上的名声更差,但它年复一年地一寸一寸地往回爬。Symbian 还有一个巨大的优势,那就是让您可以选择要使用哪种语言进行开发。

工具成本:Java ME 最便宜,其次是 Symbian,Android 然后是 iPhone。

其他标准:嗯,很大程度上取决于您要开发的应用程序。

没有提到 Palm 的 WebOS,因为从商业的角度来看,它几乎没有被注意到,至少目前是这样。

于 2009-07-14T10:32:15.027 回答
6

查看谷歌的智能手机市场份额。这是来自Gartner的一个。简而言之,2008 年的销售统计数据为(销售额为数千台):

Operating                2008        Market          Growth
System                  Sales         Share       2007-2008
-----------------------------------------------------------
Symbian              72,933.5          52.4%           -6.1
Research In Motion   23,149.0          16.6%           96.7
MS Windows Mobile    16,498.1          11.8%           12.2
Mac OS X             11,417.5           8.2%          245.7
Linux                11,262.9           8.1%           -4.2
Palm OS               2,507.2           1.8%           42.2
Other OSs             1,519.7           1.1%           13.1
-----------------------------------------------------------
Total               139,287.9         100.0%           13.9

所以,读到这里,Symbian 设备是最大的市场。iPhone 和 BlackBerry 是快速增长的平台。Android 去年底上市,所以很难说它有多受欢迎。
我的选择是:

  1. iPhone - 因为它是最统一的平台 - 相同的显示器和键盘,类似的其他功能。非常受欢迎的网上商店,如果你决定去专业。快速增长的市场份额,可能在未来一两年内排名第二。
    缺点是它需要Mac电脑进行开发。
  2. 黑莓——相对较少的不同设备(不同的分辨率、不同的键盘),但它使开发复杂化,因为您需要考虑这些因素。其次是销售额,保持着很高的增长率。
  3. Symbian - 迄今为止数量最多的手机,但来自几个不同的供应商(诺基亚、三星、夏普、索尼爱立信等),具有多种不同的硬件配置。每个供应商都有自己的开发人员计划,您需要加入才能访问设备特定的 SDK。
  4. Windows Mobile - 仍然大量销售,非常好的开发工具。
  5. 安卓 - ?暂停直到它获得任何重要的市场份额。

编辑:
重新 Mac 评论:

  • 不带鼠标、键盘和显示器的最便宜的Mac Mini(1 GB RAM,120 GB HD)的价格与中档戴尔或惠普笔记本电脑(599 美元)一样高。因此,开发所需的最少硬件成本至少是基于 Windows 的系统的两倍。iPhone 开发需要比任何其他智能手机平台都昂贵的设备。这是一个缺点。


重新塞班评论:

我知道symbian.org和开源计划。但:

  1. 过程非常缓慢。它始于 1 年多前(2008 年 6 月),目前仍处于测试阶段。这是非常大的公司之间的交易,可能需要一段时间才能达成最终协议。
  2. 现在,如果您想为 Symbian 设备进行开发,您需要访问每个供应商的开发人员站点以获取文档、示例、SDK、工具......
  3. 如果您打算成为专业人士,那么每个供应商都有自己的商店和您需要遵守的一套规则。
于 2009-07-14T11:28:21.607 回答
5

移动客户端编程历来是一场噩梦。移动世界的碎片化特性加剧了您在桌面/服务器市场遇到的任何问题。

如果您的目标是作为小型开发人员赚钱,那么您应该尽可能集中精力。为此,iPhone 是唯一真正的选择,在 J2ME、Symbian 或Windows Mobile上测试、移植和认证您的应用程序的成本很快就会克服这些平台所具有的潜在市场优势。

您还需要考虑要开发的应用程序的技术要求。例如,虽然 J2ME 在手机上的“支持”比其他任何可能性都多,但如果您想做“酷”的事情,安全模型会限制 J2ME 的有用性(至少这对我来说一直是个问题)。对JSR的支离破碎的支持也是一个主要问题。J2ME 可以在很多非智能手机上运行,​​但这些手机是否支持您想要的功能?

还要考虑目标受众的手机分布。潜在用户的位置、收入和年龄将极大地决定您可以并且应该定位的手机。

我自己的经验是,移动应用程序编程在 Symbian、Windows Mobile 和BREW上是一场失败的战斗。这是 J2ME 的组织噩梦。但是很多人都在 Apple App Store上赚钱。诺基亚现在有Ovi ……RIM 有商店,Windows Mobile 也有商店……也许苹果的成功会促使其他手机厂商齐心协力,让事情变得更容易。

关于手机成本标准的说明:MTK(大多数中国/台湾仿冒品)将是最便宜的,但您只能在制造时安装在手机上,所以这不是一个真正的选择......Java手机可以便宜,但移植问题很痛苦。我工作过的一家国际公司每年在手机采购和客户端移植上花费超过 50 万美元,因为他们必须在每部新的 Java 手机甚至具有不同固件的同一手机上测试他们的应用程序(只需在Wurfl中输入N95,您就可以看看当欧洲运营商做一些愚蠢的事情(比如安装自定义固件)时会有多少不同的固件,所以 Vodafone UK 和 O2 UK N95不是一样。)Windows Mobile 可以是相同的,每个新版本都有不同的 API,并且 OEM 会改变一些事情......操作系统版本和固件那么你已经花了一大笔钱。还不如买一两部 iPhone。

那么,我的建议呢?

  1. 苹果手机
  2. Symbian(2 和 3 可以根据您需要的功能切换)
  3. J2ME
  4. 温德沃斯移动
  5. 安卓
  6. BREW(如果您在美洲)
  7. 轮缘
  8. 闪光
  9. MTK
于 2009-07-17T03:46:33.630 回答
4

以下是按未来受欢迎程度排列的平台:

1) iPhone

它有三个护城河,任何人都必须跨越才能赶上——配件、应用程序和硬件附加组件

iPhone 和 touch 配件随处可见。他们现在在许多酒店房间里都有 iPhone/iPod 对接收音机......

当然,Apple 在应用程序方面有很大的领先优势 - 但领先优势比看起来要大,因为除了所有应用程序之外,现在还有大量具有 iPhone 经验的开发人员。当然,一些最初的应用程序毫无意义,但现在有无数的类别,有深厚的团队在开发真正的应用程序。

最后一条护城河是新的,但没有人能够做任何类似的事情来阻止它——这就是 3.0 让公司能够构建特定设备并通过蓝牙和坞站连接器与它们通信的能力。TomTom 车载 iPhone 底座(不仅仅是一个底座,它还装有 TomTom 应用程序可以使用的更强大的 GPS 接收器)是这方面的冰山一角。医疗器械、分析工具等

2) 掌上电脑

Palm Pre 的优势在于,许多真正想坚持使用的 Palm 用户有一个很好的升级路径,而 Pre 的优势与 Apple 的相同,即他们自己构建一个设备,从而更容易构建一个充分利用平台的应用程序,真正符合设备的理念。只是 SDK 更有限的性质阻止了更多应用程序的选择,但我认为我们会看到这个平台发展得很好。唯一的危险是,我可以看到他们被我的微软收购,然后他们就干杯了。

3) 安卓

Android 具有更多设备的优势。但这也使得构建和测试应用程序以及编写充分利用特定功能的应用程序变得更加困难。我认为会有比 Pre 更多的物理设备,但我敢打赌,三年后 Pre 的应用程序使用量将超过 Android 平台。

为了便于开发,我将 Pre 评为第一(除非您对 CSS 不是很熟悉),iPhone 第二,Android 第三(仅仅是因为不存在/将不存在多少资源来帮助您进行 Android 开发,它有大约和 iPhone 一样大的框架集,让你的事情变得简单)。

Symbian 和 Windows Mobile 完全出局了。除非他们购买这三个中的一个,否则他们将作为一个严肃的移动软件平台完成,尽管现在可能有多少设备(请参阅:关于设备范围的 Android 问题)。他们也没有这三个平台拥有并且每天都在增长的框架或 IDE 丰富性......

于 2009-07-07T20:06:06.637 回答
4

需要做的就是记下这个问题右上角的标签计数,以便获得流行度所在的子集人群(在 stackoverflow.com 上)。

根据我的评论,标签计数是:

  • iphone × 4829
  • 窗户移动× 606
  • 机器人×523
  • j2me × 301
  • 塞班×106

显然,还有其他因素。您喜欢通过 iPhone 或 J2ME 为 Windows Mobile 写作吗?您知道 J2ME 但想进入 iPhone 开发吗?我不认为有任何一个正确的答案,但标签计数确实说明了受欢迎程度。

于 2009-07-14T17:15:34.313 回答
3

我真的不喜欢塞班。流行和易用性使 iPhone 变得完美。

我还听说 Android 是一个很酷的开发平台,但我自己没有尝试过,而且还没有那么流行。

于 2009-07-07T12:56:26.653 回答
3

您还可以查看网络应用程序路径:

  • XHTML Mobile Profile / XHTML Basic,可访问任何 WAP 2.0 手机浏览器(所有智能手机、大多数数据感知手机)。最好看看dotMobile 移动开发者指南
  • 具有渐进增强的传统 Web 开发,针对小屏幕进行了优化,以针对当前的智能手机平台。

这是原生 SDK 的能力和浏览器平台的普遍性之间的权衡。我知道很多开发人员认为 Web 应用程序太弱了,但该平台确实已经发展壮大,值得研究。诸如“它不能离线”或“它不能访问本地数据”之类的旧假设不再一定是正确的。

于 2009-07-14T11:46:56.187 回答
3

iPhone,很明显。现在把你的努力放到另一个平台上只是徒劳的,或者充其量是有风险的。也许Pre或 Android 有潜力,但 iPhone 已经过了“潜力”阶段。黑莓是另一个强大的选择,因为它们已经很大并且仍然有很多很棒的东西,但平台本身是有限的,我不知道黑莓用户会像 iPhone 用户一样获取尽可能多的应用程序。

这就是为什么我认为 iPhone,根据你的标准 -

  1. 易于使用——iPhone 可能是最难的,因为您不太可能已经了解 Objective-C。然而,它是一种面向对象的语言,而 Cocoa 是一个 MVC 框架。在您习惯了语法之后,它与您可能已经知道的没什么不同。
  2. 平台的普及 - 这是一个简单的平台。iPhone 可能不是最普遍的,但对于那些实际使用他们的设备来做除了打电话和发送短信之外的事情的人来说,它肯定是最受欢迎的,并且可能希望对你所使用的任何应用程序感兴趣建造。没有人为 RAZR 购买应用程序。
  3. 成本 - iPhone 开发的成本是拥有一台最近的 Mac 并支付给苹果 99 美元。如果您还没有 Mac,那么对于软件开发人员来说,它们是非常实惠的。人们会在这里为 Linux 辩护,但这不是问题,如果花 1000 美元对你来说是个问题,而且你是一名软件开发人员,那么你可能没有做出最好的职业选择。
于 2009-07-14T12:23:43.830 回答
2

在创建一个可以锁定客户多年的应用平台方面,苹果确实比微软做得更好。在这一点上,有几个应用程序我很难放弃。

我也做出了类似的选择,最终投资了 iPhone。好处是我真的很喜欢 Mac - 这是我的第一个,开发过程很有趣。不过,我不打算向大众销售,我正在编写支持移动内容业务的应用程序。Android 将是我的第二选择,我什至不会考虑 WM 或 Symbian。

于 2009-07-07T20:11:42.883 回答
2

您可以查看我对类似问题的回答:

有关 Android 和 iPhone 的详细市场研究请 点击此处

2010年第一季度智能手机市场份额:(来源:nielsen.com智能手机市场份额

于 2010-06-15T08:33:30.133 回答
1

既然 Safari 支持通过 JavaScript 进行 GPS 定位等高级功能,那么最好的方法就是开发符合标准的 Web 应用程序。这样,您可以确保从单个代码库轻松更新和兼容多个设备。

于 2009-07-17T03:49:44.747 回答
1

鉴于Symbian手机(不仅仅是诺基亚60 系列)的市场份额规模,这似乎是一个不错的选择。不过有好处也有坏处。Symbian 有一个陡峭的学习曲线,比其他替代品更陡峭。分发渠道没有那么好,但正在变得更好(例如Ovi , Symbian Foundation Horizo​​n)。

iPhone目前具有很酷的因素和出色的用户界面。分发机制仍然不完美。您只能通过 Apple 商店进行销售,而且他们在帮助开发人员推出应用方面享有盛誉。

如上所述,Android 基于 Linux 内核。鉴于诺基亚Maemo平台将在不久的将来出现在手机中,熟悉它可能没有害处。

移动开发的主要困难是可移植性。这简直太难了。实际上,如果您是移动开发新手,最好选择一个平台并使用它运行。

所以,简而言之,我的答案是:Symbian。

于 2009-07-29T15:57:22.323 回答
1

首先,由于您的问题,答案是 J2ME

  • 轻松:J2ME 的 Java 非常简单和友好
  • 平台普及:亿台设备可运行J2ME
  • SDK和实际手持设备的低成本:很容易找到支持J2ME的廉价手机,几乎所有工具:框架,IDE,模拟器,文档......都是完全免费的。
于 2010-03-26T02:44:22.937 回答
1

这是 Gartner 关于 Windows 7、Symbian 和 Android 竞争的最新报告。我想 Windows 7 的日子不好过。Sybian 和 Android 将抢占市场:

http://www.informationweek.com/news/security/reviews/showArticle.jhtml?articleID=227700245&itc=ref-true

于 2010-10-07T07:30:34.030 回答
0

我已经在 iPhone、Symbian、BREW、Java ME、Windows Mobile、Palm 上发布了代码。我个人最喜欢在 iPhone 上工作。

以上所有以及 Android 都允许您免费下载和运行 SDK。我建议您尝试您认为最喜欢的那些并在模拟器中运行您的程序。弄清楚你喜欢哪一个,然后投入其中。

于 2010-03-26T03:41:12.573 回答
0


最好选择 android.Nowadays android 是一个不断发展的环境。
安卓被很多厂商采用。现在很多设备都支持安卓。
它很受欢迎,很容易。
android的谷歌文档也很不错。
使用 java 开发 android 应用程序(使用 android SDK)。
Java 是很棒的熟悉的语言。
最好选择安卓。

于 2012-07-26T14:37:21.080 回答
0

在寻找这个问题的答案时,我遇到了以下 2 个框架,它们允许从 HTML5、Javascript 和 CSS 开发原生移动应用程序:

  1. Adobe 的PhoneGap允许您为 iOS、Android、Blackberry、Windows Phone、Palm WebOS、Bada 和 Symbian 构建移动应用程序。
  2. Appcelerator 的Titanium允许您为 iOS、Android 和桌面构建应用程序。

其他有趣的功能(两者都适用):

  • 两者都是免费和开源的。
  • 两者都有丰富的开发环境
    • Titanium 有一个基于 Eclipse 的专用 IDE,
    • PhoneGap 为其开发目标应用程序的所有 IDE 提供插件
  • 两者都在文档和支​​持方面做出了巨大的努力(视频 tuts 和开发者论坛)
  • 如果您的本地机器上没有环境,您可以在云端编译您的代码(此服务不是免费的)

我还没有尝试过它们中的任何一个,因为我仍在研究类似的技术。我想任何尝试过它们的人都可以启发“我们”的利弊。
乍一看,它们看起来很容易学习;至少对于任何 Web 开发人员来说。

我的选择将是两者中的任何一个,因为我有兴趣为 Android 和 iOS 进行开发(我承认,很容易被更短的学习曲线所吸引)。

于 2012-08-17T07:17:25.803 回答
-1

我的建议是 J2ME 是最好的,因为它是伟大的 Java 的扩展或诞生。现在大多数手机都支持J2ME。对于 J2ME,有许多 Java 和 Java 相关的论坛,它们有助于提高我们的 J2ME 技能,用于解决我们的应用程序问题等。

如果您了解 Java,那么 J2ME 并不难。对于 Java 用户来说,它简单、易于理解和实现。

J2ME的主要优点是J2ME属于Java家族,而且是开源的。如今,由于免费,许多公司正在迁移到开源。许多公司建议将 J2ME 用于移动应用程序。

所以选择J2ME。

于 2010-12-09T11:33:16.040 回答