一款移动应用程序可在所有平台上运行。这可能吗?
可能的重复:
在跨平台移动开发方面已经做了哪些工作?
有没有可用的移动应用程序开发框架,我可以通过它开发一个可以在所有平台(如 iPhone、Android、Blacberry)上运行的应用程序。
Possible Duplicate:
What work has been done on cross-platform mobile development?
Is there any mobile application development framework available by which I can develop a app that will run in all all platforms like iphone,Android,Blacberry.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(5)
查看 PhoneGap http://www.phonegap.com/ 或 Appcelerator Titanuim http://www.appcelerator.com/。
Have a look to PhoneGap http://www.phonegap.com/ or Appcelerator Titanuim http://www.appcelerator.com/.
正如 Feanor 所说,如果您要通过一次构建来定位所有应用程序,那么 Web 应用程序是唯一的选择。您可以使用许多针对移动设备优化的 JavaScript 库。如Sencha Touch、JQTouch 和 Wink 工具包。您可以使用 PhoneGap 包装这些 Web 应用程序,以便您可以在相应设备的应用程序商店上销售它们。
Titanium 确实尝试在某种程度上提供跨平台开发,但如果您的应用程序不仅仅是一个简单的应用程序,那就不容易了,因为即使它们针对不同平台有不同的 api。唯一的区别是您可以使用 javascript 为 Titanium 中的所有平台进行开发。
制作跨平台应用程序的主要困难在于,每个平台的 api 和 ui 哲学都不同。开发所用的语言并不是唯一的区别。
As Feanor said, web application is the only way to go if you are targetting all applications with one build. You can use many javascript libraries optimized for the mobile. Such as Sencha Touch, JQTouch and Wink Toolkit. You can use PhoneGap to wrap these web apps so you can sell on them on the respective device appstore.
Titanium does try to provide cross platform developement to some extent but if you application is a bit more than a simple app it wont be easy as even they has different api's for different platforms. The only difference is you can use javascript to develop for all the platforms in Titanium.
The main difficulty in doing a cross platform app is that, the api's and ui philisophy are different for each platform. The langauge in which development is done is not the only difference.
您无法制作可交叉编译的应用程序。最接近的是 Phonegap,它使用 HTML5 和 CC3 作为网络应用程序。
这些应用程序的问题是缺乏本地机会,并且您正在损失性能。
You can't make a Cross-Compilable application. The closest you are getting are something like Phonegap, which uses HTML5 and CC3 as a webapp.
The problem with those applications is the lack of native opportunities and you are loosing performance.
您可以为 iphone、android 和 blackberry 构建 HTML5 Web 应用程序(http://devblog.blackberry.com/2010/03/use-html5-in-your-blackberry-web-content/)
You can build HTML5 web apps for iphone,android and blackberry(http://devblog.blackberry.com/2010/03/use-html5-in-your-blackberry-web-content/)
除了 notme 的建议之外,考虑一下橘子酱 http://www.madewithmarmalade.com/ 橘子酱的巧妙之处在于它生成一个可以在所有平台上运行的二进制文件。
请注意,使用此类框架时总会有一些妥协。许多是明确的,但有些是隐藏的 - 就像您可能难以吸引开发人员参与其中一样。
In addition to notme's suggestion consider marmalade http://www.madewithmarmalade.com/ the clever part of marmalade is that it produces a single binary that will run on all platforms.
Be aware that there are always compromises when you use such frameworks. Many are explicit but some are hidden - like you might have trouble attracting developers to work on them.