跨平台和iPhone和Android
性能良好的移动应用我需要开发两个iPhone和的Android平台上的应用程序。我正在寻找一个跨平台的开发框架。需要加以考虑的重要因素是:跨平台和iPhone和Android
- 应用程序将在内网环境中运行(与NO互联网 连接)。
- 拖放功能将可在此应用程序。
- 需要使用条形码阅读器库。
- 需要使用地图(它可能是一个自定义地图)
- 接收推送通知(目前我已经MQTT记住,因为 没有互联网连接)
如果可能的话我只想维护两个平台的一个源代码。我做了一些研究,发现了两个框架,它们是PhoneGap和Mono(touch和droid)。
- PhoneGap似乎很慢。
- 单声道需要两个平台的两个代码库,只有库可以共享 (纠正我,如果我错了)。这是我对单的另一个担忧:http://redth.info/2010/04/09/is-monotouch-now-dead-in-the-water-what-does-apples-new-iphone-developer-agreement-mean
我知道本机是最好的,但维修的缘故,并再使用我们开发的人才(这是C#,HTML,JavaScript的),我们需要找出第二个最好的选项。
注意:请记住顶部列出的前5个功能,以便您的答案。 在此先感谢。
UPDATE:
探索一些新的工具之后,我喜欢Appcelerator的表现也是如此。但是使用JavaScript编写整个应用程序对我来说看起来非常混乱,无法使用OOP。而额外的封装尺寸(5〜7 MB)对于频繁发布的环境也是需要注意的。我也喜欢听到你们的消息。
我将在未来几周内更新我们的决定。
您可能想查看this article比较5种不同的跨平台移动开发工具。
This Wikipedia article也可能有帮助。
感谢您的链接。 – Riddle 2012-01-01 09:10:08
他们先编译代码在本机代码,从而表现就像是本地人,他们有条形码阅读器,推送通知(通过城市飞艇)太...
如何做一个混合应用程序,使用本地代码和HTML5的混合。为所有IO编写本机代码,并且为图形用户界面在嵌入您的应用程序的Web控件中使用jQuery或类似代码。 Android有一个web控件,可以让你与javascript交互。我假设你可以对苹果公司做同样的事情。我试图用Monodroid做类似的事情,而且看起来很有前途,尽管我发现Monodroid还没有原生的Javascript界面。
我也考虑这是一个选项。但是,是否有可能在两种平台的本机代码中捕获HTML中引发的事件? – Riddle 2012-01-05 14:55:47
是的,请参阅[iPhone UIWebView](http://connordenman.wordpress.com/2010/04/19/my-uiwebview-part-1-tutorial-8212-communication-between-objective-c-and-external-javascript -enjoy /)和[Android WebView addJavascriptInterface](http://developer.android.com/reference/android/webkit/WebView.html) – FlappySocks 2012-01-05 19:02:12
我已经看到您提供的链接。我想要做的是 - 当我点击网页内的网页上的一个按钮,而不是回发到Web服务器,我想将事件提升到本地代码并在本机代码中处理它。 – Riddle 2012-01-07 05:33:32
就这么你知道,我们在我的最后一家公司使用Appcelerator,而Android的表现并不理想。我们的首席开发人员发现了Mono产品,并没有回头。
您可能会对这篇文章感兴趣:http://codeclimber.net.nz/archive/2010/09/09/Apple-relaxing-SDK-license-agreement-MonoTouch-and-Flash-officially-allowed.aspx (比链接的新一点)。 – 2012-01-01 14:26:48
@ konrad.kruczynski如果将来再次变更(限制),我现在可以使用现在正在开发的产品吗? – Riddle 2012-01-07 05:50:04
我会说:这就是谜语;)这段时间非常稳定(两篇文章都有点旧)。我*认为*他们的这种限制的主要目的是,用户不应该能够没有AppStore安装应用程序。然后,他们可以将Web应用程序视为一个问题,但使用Monotouch构建的程序可以使它们像普通应用程序一样在appstore上投入资金。 – 2012-01-07 11:36:24