草庐IT

关于 iphone:开始电话应用程序开发

codeneng 2023-03-28 原文

Beginning Phone Applications Development

我已经开发应用程序很长时间了,但现在我想进入电话应用程序开发。有四个主要候选人:

  • 诺基亚的塞班
  • 苹果的 iPhone
  • 谷歌的安卓
  • 微软视窗手机
  • 任何人都可以推荐一个,考虑到文档、市场、样品和模拟器的可用性,我不是百万富翁,所以我不能买它,除非我知道这意味着利润!

    我对语言没有太多偏好,但是留在 C# 中会很好,但是我已经通过 Assembler 很长时间了,所以很难吓到我 :)


    有很多因素需要考虑,比如最大的市场在哪里等等。但是忽略这些因素,只考虑技术和资金问题,明确的答案是从 Android 开始。

    Android SDK 完全免费。 iPhone 开发工具需要 Mac,所以如果您不是 Mac 用户,则需要购买 Mac。如果您不是 Mac 用户,那么您可能不知道 Objective C,这是 iPhone 所需要的。你甚至不需要电话,有一个运行良好的模拟器。很少有我制作的东西可以在模拟器中运行,但在真实手机上却无法运行或运行方式不同。所以模拟器相当优秀。

    Android 编程是 Java,与 C# 非常相似。

    Android 开发比 Objective C 和 iPhone 更易于开发(至少在入门方面)。

    网上资源很多,但《你好,Android》这本书其实很不错。不过,它已经过时了,可以追溯到 SDK 的 1.5 版本,而我们今天是 2.2,但入门的基本原理几乎相同。

    您可能决定另辟蹊径,但只需几个小时,您就可以在 Android 上免费编写您的第一个 Hello World 程序。即使您决定从另一个平台开始,先尝试一下 Android 也不会出错。

    另一件值得注意的事情是,Android 比 iPhone 更容易销售和分发您的应用程序,这使它成为更好的起点。 Android 市场没有应用审批流程,因此您可以确定发布您的应用,而无需担心该权力是否会批准您的第一个应用出售或赠送。

    值得一提的是,如果您走微软路线,您的 C# 体验将几乎完全转移,您会惊讶于紧凑型 SDK 与编写普通 Windows 应用程序的距离有多近。 (至少,那是在 2007 年,那是我最后一次编写 Microsoft 手机应用程序。)但是忘记我提出来了——如果你想成为一个认真的消费者手机开发者,我建议你至少暂时忘掉 Microsoft .

    • 1 为安卓。您还必须考虑趋势在哪里。目前的趋势肯定是Android和iOS。
    • 我同意你的观点,但我仍然需要做一些研究,因为我是这个领域的新手,在我做出一些仓促的决定之前
    • 在完全缺乏对 Windows Phone 7 的了解的情况下,我打算 1 这个写得很好的回复直到最后一句话。所以 -1。
    • 我是一名 C# 程序员,能够非常快速地在我的 Mac 上设置 Android SDK 和 Eclipse 环境。更好的是,我能够在一天内开发出一个可用(且有用)的非平凡应用程序。我有使用 Compact Framework 进行 Windows Mobile 开发的背景,但我想这已经过时了,但值得一提的是,Android 开发几乎同样简单,而且在某些方面甚至更好。我发现 iPhone 的开发和 Objective-c 太吓人了(或者 Objective-c 太过时了......),但 iPhone 是赚钱的地方。所以我会选择上面的海报并首先尝试Android
    • 如果您想编写手机应用程序,现在是时候加入 7 dev 了。您可能是第一个为 7 手机编写手电筒应用程序的人!或编写第一个 Twitter 应用程序!


    如果您的计划是创建和营销付费应用而不是免费应用,请不要忘记同时考虑和评估潜在收入和现有竞争,而不仅仅是您的开发成本。

    我的本地样本(不一定具有统计显着性)显示,iPhone 开发者比 Android 开发者赚更多的钱。如果您制作的应用程序在许多类别中仅接近前 10% 的应用程序,那么所赚的钱可能足以分摊开发系统、证书和使用 iOS 设备进行测试的较高初始成本。

    但是,对于 iPhone 开发,您可能必须创建一个出类拔萃的应用程序,因为 App Store 中的许多应用程序细分市场已经充满了几十个应用程序。在许多领域,Android 商店中潜在竞争应用的绝对数量要少得多。您需要评估您专业或感兴趣领域的竞争。

    • 你提出了一个非常有趣的观点,但至少目前不是我的情况。我是一名系统开发人员/架构师,我构建基于互联网的系统,桌面、Web 和移动是我用于演示的技术。将其视为我的应用程序新用户界面的开始


    首先,您忘记了 RIM(黑莓操作系统)。您会发现此图表有助于分析您的受众(我认为该图表仅适用于美国):图片来源

    Microsoft Phone 7 很快就会带着新设备进入市场,因此很难说它们将占据多少市场份额。他们的 Windows Phone 7 IDE 是免费的,它支持 C#。

    除了 iOS 拥有最广泛的商店和愿意购买这些应用程序的狂热粉丝之外,不能对其他操作系统说太多 - 但这些信息仅来自我在网上阅读和从朋友那里看到的信息在我身边。

    您可能会发现开始电话应用程序开发问题也很有帮助。

    • 你说得对!我忘记了黑莓的 RIM,但我不知道它是否有免费的开发工具、使用什么语言,或者它是否有像 Android 这样的市场
    • 我对 RIM 也不熟悉,但你应该把它添加到你的列表中并考虑一下,因为它的市场在美国非常大,也许在世界其他地方也是如此。


    Windows Phone 7 的 API 将基于 C#,但关于它的大部分其他内容仍处于推测状态。

    Android 的入门成本最低,基本上是免费的 - 并且将使用 Java(与 C# 非常相似)。

    iPhone 的入门成本更高 - 您需要拥有一台 Mac(或者在法律上稍逊一筹的 OSX 安装)。此外,一旦您开发了您的应用程序,成为注册开发者每年需要花费 99 美元,您可以将应用程序放在实际手机上,并通过 App Store 进行销售。您还需要学习 Objective-C,它使用的语法与 C# 和 Java 略有不同。

    另一方面,iPhone 工具非常好,市场巨大,还有一些不错的在线免费课程(包括 iTunes 上的斯坦福课程视频)。

    对诺基亚工具集了解不多,而且我现在不会开始为老式的 Windows Mobile 开发 - 这是一条死胡同。

    • 1:我对Objective-C没有问题,因为我以前在C上开发,我认为它们非常相似,但我认为由于成本限制,我会坚持使用Android,谢谢你的回答, 真的很有帮助


    一些想法:

    • 如果您有 Mac,那么选择当然是 iPhone,因为所有开发工具都是免费的。
    • AFAIK Android SDK 是一个 Eclipse 扩展,几乎可以在任何环境中运行,而且也是免费的。
    • Mirosoft 对其 IDE 收费,并且可能拥有最少的受众。

    我很确定您也会找到更多对 iPhone 或 Android 开发的社区支持。

    • Microsoft 不对这些工具的 Express 版本收费,包括 Visual Studio Express 2010 For Windows Phone。


    鉴于所有技术因素大致相同,最"盈利"的平台必须是您打算开发的特定应用拥有最大未开发消费者群的平台。

    您可以评估两个因素

    • 市场规模和增长潜力。有很多关于此的图表和意见文章可让您进行评估。如果您找不到它们,只需将您列出的这 4 个主题放到 google 警报中,然后在您的邮箱中观看收到的文章一段时间。

    • 应用市场的饱和度,尤其是您的应用所针对的市场。您自己的市场研究最能确定这一点。

    可能适用于特定类型应用程序的唯一其他考虑因素是您的应用程序是否需要平台的基本功能,以及各个平台是否支持它。例如,您不会在 iPhone 上制作基于 Flash 的播放器。


    还有跨平台选项,比如PhoneGap,可能值得你考虑。

    有关关于 iphone:开始电话应用程序开发的更多相关文章

    1. ruby - 在 Ruby 程序执行时阻止 Windows 7 PC 进入休眠状态 - 2

      我需要在客户计算机上运行Ruby应用程序。通常需要几天才能完成(复制大备份文件)。问题是如果启用sleep,它会中断应用程序。否则,计算机将持续运行数周,直到我下次访问为止。有什么方法可以防止执行期间休眠并让Windows在执行后休眠吗?欢迎任何疯狂的想法;-) 最佳答案 Here建议使用SetThreadExecutionStateWinAPI函数,使应用程序能够通知系统它正在使用中,从而防止系统在应用程序运行时进入休眠状态或关闭显示。像这样的东西:require'Win32API'ES_AWAYMODE_REQUIRED=0x0

    2. ruby - 将差异补丁应用于字符串/文件 - 2

      对于具有离线功能的智能手机应用程序,我正在为Xml文件创建单向文本同步。我希望我的服务器将增量/差异(例如GNU差异补丁)发送到目标设备。这是计划:Time=0Server:hasversion_1ofXmlfile(~800kiB)Client:hasversion_1ofXmlfile(~800kiB)Time=1Server:hasversion_1andversion_2ofXmlfile(each~800kiB)computesdeltaoftheseversions(=patch)(~10kiB)sendspatchtoClient(~10kiBtransferred)Cl

    3. ruby - 如何指定 Rack 处理程序 - 2

      Rackup通过Rack的默认处理程序成功运行任何Rack应用程序。例如:classRackAppdefcall(environment)['200',{'Content-Type'=>'text/html'},["Helloworld"]]endendrunRackApp.new但是当最后一行更改为使用Rack的内置CGI处理程序时,rackup给出“NoMethodErrorat/undefinedmethod`call'fornil:NilClass”:Rack::Handler::CGI.runRackApp.newRack的其他内置处理程序也提出了同样的反对意见。例如Rack

    4. ruby - 在 Ruby 中编写命令行实用程序 - 2

      我想用ruby​​编写一个小的命令行实用程序并将其作为gem分发。我知道安装后,Guard、Sass和Thor等某些gem可以从命令行自行运行。为了让gem像二进制文件一样可用,我需要在我的gemspec中指定什么。 最佳答案 Gem::Specification.newdo|s|...s.executable='name_of_executable'...endhttp://docs.rubygems.org/read/chapter/20 关于ruby-在Ruby中编写命令行实用程序

    5. ruby - 使用 C 扩展开发 ruby​​gem 时,如何使用 Rspec 在本地进行测试? - 2

      我正在编写一个包含C扩展的gem。通常当我写一个gem时,我会遵循TDD的过程,我会写一个失败的规范,然后处理代码直到它通过,等等......在“ext/mygem/mygem.c”中我的C扩展和在gemspec的“扩展”中配置的有效extconf.rb,如何运行我的规范并仍然加载我的C扩展?当我更改C代码时,我需要采取哪些步骤来重新编译代码?这可能是个愚蠢的问题,但是从我的gem的开发源代码树中输入“bundleinstall”不会构建任何native扩展。当我手动运行rubyext/mygem/extconf.rb时,我确实得到了一个Makefile(在整个项目的根目录中),然后当

    6. ruby-on-rails - Rails 应用程序之间的通信 - 2

      我构建了两个需要相互通信和发送文件的Rails应用程序。例如,一个Rails应用程序会发送请求以查看其他应用程序数据库中的表。然后另一个应用程序将呈现该表的json并将其发回。我还希望一个应用程序将存储在其公共(public)目录中的文本文件发送到另一个应用程序的公共(public)目录。我从来没有做过这样的事情,所以我什至不知道从哪里开始。任何帮助,将不胜感激。谢谢! 最佳答案 无论Rails是什么,几乎所有Web应用程序都有您的要求,大多数现代Web应用程序都需要相互通信。但是有一个小小的理解需要你坚持下去,网站不应直接访问彼此

    7. ruby - 无法运行 Rails 2.x 应用程序 - 2

      我尝试运行2.x应用程序。我使用rvm并为此应用程序设置其他版本的ruby​​:$rvmuseree-1.8.7-head我尝试运行服务器,然后出现很多错误:$script/serverNOTE:Gem.source_indexisdeprecated,useSpecification.Itwillberemovedonorafter2011-11-01.Gem.source_indexcalledfrom/Users/serg/rails_projects_terminal/work_proj/spohelp/config/../vendor/rails/railties/lib/r

    8. ruby-on-rails - Rails 应用程序中的 Rails : How are you using application_controller. rb 是新手吗? - 2

      刚入门rails,开始慢慢理解。有人可以解释或给我一些关于在application_controller中编码的好处或时间和原因的想法吗?有哪些用例。您如何为Rails应用程序使用应用程序Controller?我不想在那里放太多代码,因为据我了解,每个请求都会调用此Controller。这是真的? 最佳答案 ApplicationController实际上是您应用程序中的每个其他Controller都将从中继承的类(尽管这不是强制性的)。我同意不要用太多代码弄乱它并保持干净整洁的态度,尽管在某些情况下ApplicationContr

    9. ruby-on-rails - 如何在我的 Rails 应用程序 View 中打印 ruby​​ 变量的内容? - 2

      我是一个Rails初学者,但我想从我的RailsView(html.haml文件)中查看Ruby变量的内容。我试图在ruby​​中打印出变量(认为它会在终端中出现),但没有得到任何结果。有什么建议吗?我知道Rails调试器,但更喜欢使用inspect来打印我的变量。 最佳答案 您可以在View中使用puts方法将信息输出到服务器控制台。您应该能够在View中的任何位置使用Haml执行以下操作:-puts@my_variable.inspect 关于ruby-on-rails-如何在我的R

    10. Ruby Sinatra 配置用于生产和开发 - 2

      我已经在Sinatra上创建了应用程序,它代表了一个简单的API。我想在生产和开发上进行部署。我想在部署时选择,是开发还是生产,一些方法的逻辑应该改变,这取决于部署类型。是否有任何想法,如何完成以及解决此问题的一些示例。例子:我有代码get'/api/test'doreturn"Itisdev"end但是在部署到生产环境之后我想在运行/api/test之后看到ItisPROD如何实现? 最佳答案 根据SinatraDocumentation:EnvironmentscanbesetthroughtheRACK_ENVenvironm

    随机推荐