1
519
我最近经常看到这个问题(及其变化)。让我吃惊的是人们的反应频率是多少,但很少 回答 . 我有我的偏好(我喜欢两个堆栈),但这是大多数“答案”开始出错的地方。这不应该是关于我想要什么(或其他人想要什么)。 以下是我如何确定单触式的价值——显然,我不能客观,但我认为这是相当狂热的自由:
有很多事情要考虑。价值是如此抽象。如果我们谈论的是成本和它是否值得,我的第一个问题就是:如果这是为了生意,如果你能得到工作,你会马上赚回你的钱。 所以…这是我能做到的最客观的一点。这是一个简短的清单,列出了你可能会问自己的问题,但这是一个起点。 就我个人而言(让我们暂时抛开客观性),我喜欢并使用两者。我很高兴我先学会了苹果。当我已经知道如何在苹果的世界里运行的时候,我更容易用单触式启动和运行。正如其他人所说,您仍将使用cocoatouch——它将处于.NET环境中。 但不止这些。没有使用过单触式的人往往会停在那里——“这是一个包装纸,废话”,这不是单触式。 MonoTouch让你可以访问CocoAtouch必须提供的内容,同时也让你可以访问.NET必须提供的内容(一个子集),一些人觉得更舒服的IDE(我是其中之一),更好地与界面构建器集成,尽管你不能完全忘记内存管理,但是你有很好的回旋余地。 如果你不确定,抓住苹果的堆栈(它是免费的),然后抓住MonoTouchEval堆栈(它是免费的)。在你加入苹果的dev程序之前,这两个程序都只能在模拟器上运行,但这足以帮助你弄清楚你是不是非常喜欢一个而不是另一个,以及可能的是,对于你来说,单点触摸是否值399美元。 不要听狂热者的话——他们往往是那些没有使用他们所反对的技术的人:) |
2
62
在这篇文章中有很多来自开发人员的传闻,他们没有尝试过单点触摸。 和 Objective-C。似乎主要是Objective-C开发人员从未尝试过单触。 我显然有偏见,但你可以看看MonoTouch社区在以下方面做了什么: 在这里,您将看到来自开发人员的几篇文章,它们都是在Objective-C和C中开发的。 |
3
39
所以,我以前的回答 similar question 是学习Objective-C(还有,不要忘记调试支持)
Another user 还写了: 单触式现在对你来说更容易。但以后更难。 例如,当新种子出来的时候,你需要测试,但是由于某种原因打破了一触式? 通过坚持Mono,每当你在寻找框架的资源时,你都必须从精神上把它们转换成如何与Mono一起使用。你的应用程序二进制文件会更大,在进入Objective-C的几个月后,你的开发时间不会快得多,其他应用程序开发人员会比你有更多的优势,因为他们使用的是本地平台。 另一个考虑是,你希望使用C,因为你比Objective-C更熟悉该语言。但iPhone的大部分学习曲线不是Objective-C,而是框架——你也必须使用C。 对于任何平台,您都应该使用直接表达该平台设计理念的平台-在iPhone上,即Objective-C。从相反的角度来考虑这个问题,如果使用GTK编程的Linux开发人员想要编写Windows应用程序,您会认真建议他们不要使用C并坚持使用GTK,因为它是”更容易“让他们这么做? |
4
27
使用Mono不是拐杖。它为iPhone操作系统增加了许多功能。linq、wcf、Silverlight应用程序、ASP.NET页面、wpf应用程序、Windows窗体应用程序之间的可共享代码,还有用于Android的Mono,它也适用于Windows Mobile。 因此,您可以花费大量时间编写Objective-C(从许多研究中可以看出,C中完全相同的样本代码编写起来要比OC少得多),然后在其他平台上复制它们。对于我来说,我选择MonoTouch是因为我正在编写的云应用程序将有许多接口,iPhone只是其中之一。将WCF数据从云传输到MonoTouch应用程序非常简单。我的核心库在各种平台之间共享,然后只需要为iPhone/WinMobile/Android/Silverlight/WPF/ASP.NET部署编写一个简单的表示层。在Objective-C中重新创建它将是 巨大的 由于所有功能都必须被复制而不是重用,所以在产品继续向前发展的过程中,对初始开发和维护都浪费时间。 那些侮辱单触式或暗示其用户需要拐杖的人缺乏一个大致的概念,即将.NET框架放在指尖上意味着什么,并且可能不理解逻辑与表示的正确分离,这种分离可以跨平台和设备重用。 Objective-C非常有趣,与许多常用语言非常不同。我喜欢挑战和学习不同的方法…但当这样做阻碍了我的进展或造成不必要的重新编码时,我不会这样做。iPhone SDK框架确实有很多优点,但所有这些优点都得到了MonoTouch的完全支持,并取消了所有手动内存管理,减少了执行相同任务所需的代码量,允许我重用程序集,并保持我的选项开放,以便能够移动到其他设备和平台。 |
5
19
我换了。MonoTouch让我写应用程序的速度至少是原来的3-4倍(与我在obj c中每月1个应用程序相比,每月4个应用程序) 更少的打字。 只是我的经验。 |
6
17
如果这是你将要开发的唯一一款iPhone应用程序,而且你对开发Mac应用程序也没有兴趣,那么MonoTouch可能是值得的。 如果你认为你会开发更多的iPhone应用程序,或者想做一些Mac本机开发,学习Objective-C和相关框架可能是值得的。另外,如果你是一个喜欢学习新事物的程序员,那么学习它是一个有趣的新范例。 |
7
8
就我个人而言,我认为你在学习目标C的时候会过得更好。 简而言之:
我发现像Unity和MonoTouch这样的项目应该可以“节省你的时间”,但是最终你还是需要学习他们特定于领域的语言,并且有时不得不放弃这些东西。所有这些可能会花费你尽可能长的时间去学习你试图避免学习的语言(在日历时间)。最后,你没有节省任何时间,你与一些产品紧密结合在一起。 编辑:我从来没有暗示过对.NET有任何负面影响。我恰好是它的忠实粉丝。我的观点是,仅仅因为你还不熟悉奇怪的objc括号符号就增加了更多的复杂性,这对我来说并没有多大意义。 |
8
4
加上别人已经说过的话(好吧!):我的感觉是,你基本上把你需要担心的bug数量翻了一番,把MonoTouch中的bug添加到iPhone操作系统中。更新新的操作系统版本将比正常更痛苦。哎呀,到处都是。 对于MonoTouch,我能看到的唯一令人信服的例子是组织中有大量的C程序员和C代码 必须 利用iPhone。(那种连3500美元都不眨眼的商店。) 但是对于任何从零开始的人来说,我真的不认为这是值得的或明智的。 |
9
4
三个词:linq to sql 是的,它值美元。 |
10
2
我想补充一点,即使有一个公认的答案——谁会说苹果不会仅仅拒绝那些有单点触摸功能的应用? |
11
2
我会把时间花在Objective-C上,主要是因为你可以从这样的网站获得所有帮助。Objto-C的一个优点是可以使用C和C++代码,并且有很多项目在那里。 经过充分测试的 . 另一件事是你的代码(选择的语言)将得到苹果的支持。例如,iOS5.x取消了对第三方解决方案(如MonoTouch)的支持?那么你会告诉你的客户什么呢? 如果您还没有完全准备好转向Objective-C,那么最好使用一个平台独立的解决方案,比如HTML5? |
12
2
我已经使用MonoTouch几个月了,我从Objective EC移植了我的半成品应用程序,以便将来某个时候支持Android。 我的经验是: 错误位:
良好的位:
我绝对推荐Xamarin进行跨平台开发,特别是如果您有钱使用与Visual Studio一起工作的业务或企业版。 如果你只是在创建一个iPhone应用程序,而你又是独立开发者,那么我现在就坚持使用Xcode和Objective C。 |
13
1
作为一个既有C经验又有客观C经验的人,我想对大多数人来说,Xamarin会很值得。 C是一种非常好的设计语言,C API的设计也很好。当然,cocoatouchAPI(包括uikit)也有很好的设计,但是语言可以通过几种方式进行改进。当使用C编写代码时,与使用Objective-C编写相同的代码相比,您的效率可能更高。这是由于以下几个原因造成的,但某些原因可能是:
现在,Objective-C比C有一些优势,但是在大多数情况下,用C编写应用程序通常会减少开发时间和更干净的代码,并减少将同一应用程序移植到其他平台的工作。一个显著的例外可能是依赖OpenGL的高性能游戏。 |
14
-34
单触式图书馆的成本完全与此无关。你不应该在iPhone应用程序中使用Mono的原因是它是一根拐杖。如果你不想费心学习本地工具,那么我就没有理由相信你的产品值得下载。 编辑:2010年4月14日用MonoTouch编写的应用程序不符合iTunes商店的条件。这是应该的。苹果在Mac上看到了大量的浅端口,使用了跨平台的工具包,比如Qt,或者Adobe自己对System7工具箱的部分重新实现,而它们的长短不一就是不够好。 |
Robert King · Unity C#语法问题-转换位置 1 年前 |
JBryanB · 如何从基本抽象类访问类属性 1 年前 |
law · 检查答案按钮的输入字符串格式不正确 2 年前 |
i_sniff_ket · 在unity之外使用unity类 2 年前 |