Mobile 有没有一种方法可以在不包装东西的情况下开发真正的本地移动跨平台应用程序?

Mobile 有没有一种方法可以在不包装东西的情况下开发真正的本地移动跨平台应用程序?,mobile,compiler-construction,cross-platform,Mobile,Compiler Construction,Cross Platform,我试图找到一种跨平台开发真正的本地移动应用程序的方法。我发现的工具数量非常巨大 我尝试过的所有工具都“说”最终结果将是本地的,但事实并非如此。它是一个可执行文件,其中包含一个webbrowser和一些额外的本机层/框架以实现特定于设备的功能 我想要真正的本机应用程序的原因是: 速度和紧凑 避免浏览器问题 市场接受度 避免简单的“脚本小子”逆向工程 我试用过的产品: Appcelerator(在我的系统上无法正常工作) PhoneGap(不创建真正的本机应用程序) Embarcadero r

我试图找到一种跨平台开发真正的本地移动应用程序的方法。我发现的工具数量非常巨大

我尝试过的所有工具都“说”最终结果将是本地的,但事实并非如此。它是一个可执行文件,其中包含一个webbrowser和一些额外的本机层/框架以实现特定于设备的功能

我想要真正的本机应用程序的原因是:

  • 速度和紧凑
  • 避免浏览器问题
  • 市场接受度
  • 避免简单的“脚本小子”逆向工程
我试用过的产品:

  • Appcelerator(在我的系统上无法正常工作)
  • PhoneGap(不创建真正的本机应用程序)
  • Embarcadero radPHP EX2(使用PhoneGap)
  • Embarcadero radStudio EX2(无法创建移动/android应用程序?)
  • AdobeFlashBuilder(工作非常好,但依赖于Air,所以应用程序非常庞大,而且没有 本机设备,如振动(可能,但必须写入) (你自己)
  • Flash开发(但与Adobe Flash Builder相同)
  • …和其他一些;-)如moSync
目前我已经下载了“RhoStudio”,但对此有些怀疑,因为在介绍视频中,他们谈论了我不想要的东西

目标方向首先是Android、iOS,也许在未来的Windows Phone中。 注意:我没有Mac电脑,所以无法在Mac电脑上编译

我想要的是不可能的,还是有这样的产品可以做到这一点

编辑: 看我的答案,答案是否定的!

这就是“云”如此流行的原因之一。你不需要多次编写你的应用程序,而是在服务器上编写所有的功能。实际的“应用程序”“然后,您就可以简单地使用该功能的用户界面,根据您的需要,界面可以非常简单。如果这么简单,那么你可以为每个平台分别编写应用程序,但它们都使用相同的“云”后端

如果我没有弄错的话,这代表了大多数拥有云架构的公司的应用程序所做的事情,也是许多公司需要数据连接的原因

我认为不可能在没有某种包装器或层的情况下编写一次并在任何地方运行,这是因为每个平台都有单独的API甚至编程语言。例如,你将很难编写一套在苹果和安卓设备上本机运行的源代码。这并不是说这在技术上是不可能的,多年来,桌面操作系统在使用C/C++时具有这种交叉编译的可移植性,而Java只是让这变得更容易。当然,移动操作系统的工程师们似乎并不认同可互操作API的观点

最后,我建议A)编写两次应用程序(我知道这很糟糕,但它将在两台设备上提供本机执行的可靠性,并且可以以最小的痛苦完成),或者B)分解并使用一个“脚本小子”框架。如果你的应用程序足够简单的话,这些可能并没有那么糟糕,而且可能根本就不具备反向工程的能力。如果有人对最佳的“近乎本机”跨平台框架有任何建议,那将非常有用。

首先

Appcelerator (does not work correctly on my system)
你面临什么问题?正在获取java错误或其他信息,可能未正确设置

简言之,答案是否定的,为了实现这一点,你必须有一定程度的抽象,java和objective-c是完全不同的语言,Android和IOS SDK有不同的方法、过程、样式、设计等。如果没有中间层进行转换或渲染,就无法让两者都起作用

Appcelerator将是您所寻找的最隐秘的东西,因为它不像其他产品那样是webview包装器,它确实会解释javascript,但因为它没有包装在webview中,所以您可以避免浏览器问题

速度和紧凑更多地取决于你如何编写应用程序,而不是它所编码的内容。真正的钛合金应用程序会因为库而变得更大,但这并不会让它变得更糟。我认为,获得两个应用程序的好处远远超过了额外的几兆字节

我敢肯定,所有这些工具都有市场认可度,因为没有它它们就不会成功,同样,对于苹果这样的公司来说,这取决于你设计它的方式,而不是后台的工具

如果你想使用IOS,你需要一个mac,如果你想在app store中单独发布,你需要xcode和构建的项目来使用应用程序加载器,我不知道有任何工具(甚至webview包装器)不要求你拥有IOS SDK,因为它不能在模拟器中运行、打包应用程序或运行任何没有它的代码


如果你想制作应用程序,你有两个选择,学习每个平台或使用其中一个工具,如果有什么神奇的工具可以做到我保证的一切,它将是地球上最受欢迎的东西,你会听说/发现它 如果您正在寻找与HTML相结合的真正的本机小部件,您可以查看MoSync的本机UI(http://www.mosync.com/documentation/manualpages/jsnativeui-library),也支持windows phone Metro用户界面,或(http://docs.appcelerator.com/titanium/2.1/index.html)

无论如何,另一件事是,你可以使用诸如Phonegap、MoSync或AppMobi(我认为它使用类似于Phonegap构建的东西)之类的软件包来包装你的应用程序,并将其投放到应用程序市场上。从这些列表中,PhoneGap并不是专门为您提供任何特定UI功能的