开发跨平台移动应用程序 [英] Developing cross platform mobile application

查看:26
本文介绍了开发跨平台移动应用程序的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

越来越多的移动平台正在推出,开发人员可以使用 sdk.有各种移动平台可用:Android、iOS、Moblin、Windows mobile 7、RIM、symbian、bada、maemo 等

More and more mobile platforms are being launched and sdk's are available to developers. There are various mobile platform are available: Android, iOS, Moblin, Windows mobile 7, RIM, symbian, bada, maemo etc.

制作跨平台应用程序是开发人员头疼的事情.我正在寻找跨平台的通用内容,这将有助于希望将应用程序移植到所有平台的开发人员.比如什么是不同的屏幕分辨率、输入法、open gl 支持等.请分享您了解的任何平台的详细信息.

And making of cross platform application is headache for developers. I am searching for common things across the platforms which will help to developers who want to port application to all platforms. Like what are the diff screen resolutions, input methods, open gl support etc. please share details that you know for the any of platform.

或者是否有可能,通过在 html(小部件类型)中编写代码并将其加载到本机应用程序中.我知道 android,我们可以通过调用 setContentView(view)

Or are there possibilities, by writing code in html (widget type of thing) and loading it into native application. I know about the android, in which we can add the web view into application by calling setContentView(view)

请分享课程详情,我们可以将 html 视图添加到您知道的不同类型平台的本机应用程序中.

Please share the class details where we can add the html view into native application of different type of platforms that you know.

此线程的目的是在开发人员之间共享通用详细信息.标记为社区维基.

Purpose of this thread is share common details across developers. marking as community wiki.

跨平台工具&图书馆

  • XMLVM、Codename One 和 iSpectrum(从 Android 应用交叉编译 Java 代码或创建一个从头开始

  • XMLVM, Codename One and iSpectrum (cross compile Java code from an Android app or creating one from scratch

Phone Gap(跨平台移动应用)

Titanium(使用网络技术构建原生移动和桌面应用)

Titanium (to build native mobile and desktop apps with web technologies)

单点触控(iPhone 的 C#)

Mono Touch ( C# for iphone )

rhomobile - http://rhomobile.com/示例在这里:http://github.com/rhomobile/rhodes-system-api-samples

rhomobile - http://rhomobile.com/ samples are here: http://github.com/rhomobile/rhodes-system-api-samples

Sencha Touch - Sencha Touch 是一个 HTML5 移动应用程序框架,可让您开发在 Apple iOS 和 Google Android 触摸屏设备上具有原生外观和感觉的 Web 应用程序.http://www.sencha.com/products/touch/

Sencha Touch - Sencha Touch is a HTML5 mobile app framework that allows you to develop web apps that look and feel native on Apple iOS and Google Android touchscreen devices. http://www.sencha.com/products/touch/

Corona - Iphone/Ipad/Android 应用程序跨平台库.太厉害了http://anscamobile.com/corona/

Corona - Iphone/Ipad / Android application cross platform library . Too awesome. http://anscamobile.com/corona/

将现有 Android 应用程序移植到 Windows Phone 7 的指南http://windowsphone.interoperabilitybridges.com/articles/windows-phone-7-guide-for-iphone-application-developers

A guide to port existing Android app to Windows Phone 7 http://windowsphone.interoperabilitybridges.com/articles/windows-phone-7-guide-for-iphone-application-developers

推荐答案

我的回答 此处涵盖了跨平台工具的一些技术限制,但让我稍微扩展一下:

My answer here covers some of the technical limitations of cross-platfrom tools but let me expand a bit:

我认为跨平台工具在历史上也一直被人忽视,因为这些工具的哲学重点是错误的.

I think that cross-platform tools have historically always been also-rans because such tools have the wrong philosophical focus.

跨平台工具的所有卖点都是它们为开发人员带来的好处.他们被认为允许开发人员在任何地方编写一次运行.他们被认为允许开发人员在不学习新 API 的情况下扩展他们的市场.它们被出售的想法是它们允许开发人员削减成本和上市时间.

All the selling points for cross-plaform tools are the benefits they bring to developers. They are sold on the idea that they allow the developers to write-once-run-anywhere. They are sold on the idea that they allow the developers to expand their market without learning new APIs. They are sold on the idea that they allow the developers to slash cost and time to market.

销售的跨平台工具是它们为最终用户带来的好处.

What cross-plaform tool are NOT sold on is the benefit they bring to end users.

对最终用户的好处不是卖点,因为跨平台开发很少能给最终用户带来好处.最终用户并不关心开发人员为将产品推向市场付出了多少努力.当他们只使用一个平台时,他们也不关心应用程序可以在多少平台上运行.他们只关心应用程序是否在他们需要运行的硬件上执行他们需要的操作.除非他们有在许多不同平台上运行应用程序的特定需求,否则它不会给他们带来任何价值.

Benefit to the end user is not a selling point because cross-platform development is seldom a benefit to the end user. The end user does not care how hard the developer had to work to bring the product to market. Nor do they care how many platforms the app can run on when they they don't use but one platform. They just care if the app does what they need it to on the hardware they need to run it on. Unless they have a specific need to run the app on many different platforms, the fact that it does brings them no value.

相反,制作跨平台 API 不可避免的妥协意味着该 API 创建的所有应用在每个平台上最多只能达到 B 级.它们永远不会成为在每个平台上使用的最佳工具.

Conversely, the inevitable compromises of making a cross-platform API mean that all the apps created by the API will be at best B-grade on every platform. They will never be the best tool to use on each platform.

所有这一切意味着,在大多数用例中,与使用特定于平台的 API 制作的产品相比,跨平台工具为最终用户提供的产品质量较差.最终用户总会有更好的选择.

All this means that in most use cases, cross-platform tools give the end user an inferior product compared to ones made with platform specific APIs. The end user will always have a better choice.

从长远来看,您可以通过为最终用户提供最有用的工具来赚钱.如果您在哲学上不专注于使最终用户的生活更轻松、更高效,那么您从一开始就注定要失败.最终用户有很多选择,如果您的工具不是最好的工具之一,您将无法在市场上销售.

You make money in the long run by giving end users the most useful tools. If you don't philosophically concentrate on making the end user's life easier and more productive, you are pretty much doomed from the outset. End users have lots of choices and if your tool isn't one of the best you won't make it in the market.

如果您认为用户将真正受益于在许多不同平台上运行此应用程序",那么您应该只使用跨平台工具.如果您开始考虑跨平台工具只是因为它们会让您(开发人员)的生活更轻松,那么您选择它们​​的原因是错误的,它们对您的伤害大于帮助.

You should only use cross-platform tools if you think, "the users will really benefit from running this app on many different platforms." If you start out looking at cross-platform tools solely because they will make your (the developers) life easier, then you have picked them for the wrong reason and they will hurt you more than they will help.

这篇关于开发跨平台移动应用程序的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆