【问题标题】:Native Mobile Applications with HTML [closed]带有 HTML 的原生移动应用程序 [关闭]
【发布时间】:2010-10-27 14:33:27
【问题描述】:

我正在尝试在 Windows 上为 iPhone、Android 或 Symbian 开发本机应用程序。我上网查了一下,遇到了http://rhomobile.com/,它可以让你为几乎所有的设备开发原生应用程序,但是我对 Ruby 没有经验。我可以用 HTML、ASP.Net、Javascript 和 PHP 编写代码。

唯一让我难以搜索的是这个应用程序应该可以通过 Apple AppStore(iPhone) 或 OviStore (Symbian) 或 Android Store (Android) 获得。而且我需要本地数据库访问权限,例如 SQLite 或 MySQL。

我在网上搜索了很多,但找不到太多。

如果您知道任何类似产品或任何建议,请告诉我。

非常感谢您的帮助!

【问题讨论】:

    标签: iphone html android symbian native


    【解决方案1】:

    我前段时间遇到了PhoneGap,它允许:

    PhoneGap 是一个开源开发 构建跨平台框架 移动应用程序。以 HTML 和 JavaScript 并且仍然利用 iPhone/iPod touch 的核心功能, iPad、谷歌安卓、Palm、塞班 和黑莓 SDK。

    【讨论】:

    • 虽然这看起来很不错,但是iPhone开发需要MAC,而iPhone开发只有SQLite数据库。我在 Wiki 页面上看到了这个。
    • 从我所读到的phonegap中的数据库支持实际上来自HTML5 DB - 虽然android浏览器确实支持带有html5 Dev Ref的数据库,但PhoneGap使用的webView却没有,但它是计划从 android 2.0 开始 - 不知道它是否确实如此。至于 iphone 开发,我认为它只在 mac 上可用,因为 SDK 需要 mac osx Ipone Developement
    • 是的,我也在 API 中看到了这一点。 HTML5 DB 绝对是个好东西,因为 API 在多个设备之间保持不变。
    【解决方案2】:

    据我所知,没有任何东西可以满足您的要求。 Symbian 位使其特别困难。如果 Rhodes 做你想做的事,你最好学习所需的 Ruby。

    Titanium Appcelerator 适用于 iPhone 和 Android 并生成本机应用程序。 PhoneGap 也适用于 iPhone 和 Android,但它的“原生”程度要低得多——它本质上是在 HTML 页面中添加一些 API 功能,如地理定位、摄像头访问等,并将其打包为应用程序。

    【讨论】:

    • 实际上,Titanium 可能非常适合 Android 应用程序。我没有Mac,所以没有iPhone。但是,谢谢,这将非常有帮助!
    【解决方案3】:

    我个人一直认为这是一个坏主意,应用程序的外观和感觉会因手机而异,因此,应按照它们将运行的操作系统的范式开发应用程序,即,Android 应用程序看起来像一个 iPhone 或反之亦然只是愚蠢的。

    当然,多次编码需要更多的工作量,但它会提供更高的终端消费者满意度。

    如果您想要在所有手机上都能使用的东西,只需制作一个网络应用即可。

    【讨论】:

    • 一次编写,随处部署的概念对于那些无力承担编写不同应用程序的资源的小型初创公司非常有用。不过,与原生应用程序相比,我唯一讨厌的是 phonegap 应用程序的性能不佳。
    【解决方案4】:

    根据我为各种移动平台开发的长期经验,我可以为您提供一些建议

    如果您说您想要开发原生应用程序并且想要针对多个平台,您将需要在每个平台上从头开始开发它(Symbian 上的 C++、iPhone 上的 Objective-C、Android 上的 Java 和WM7 上的黑莓和 C#)。但是,您可以在 C 中创建一些核心引擎(如果可能),然后只重写 GUI 部分(WM7 和 RIM/BB 除外)和电话相关功能(例如,访问通讯录、加速度计、文件系统......)。这不是一件容易的事,如果你没有移动领域的经验,不仅是编程语言,还有操作系统框架、IDE、范例、签名、在商店分发,如果你没有足够的测试设备,.. . - 如果您是整个生态系统的新手 那么这对你来说将是极其困难、耗时、昂贵和冒险的,老实说,我不相信你能做出一些有价值的产品。

    为每个平台重写代码不是什么大问题,一旦为一个操作系统开发,就意味着你有应用领域的知识,你只需将它克隆到其他平台,这可以在 50% 或更少的时间内完成,但您仍然需要每个平台的专家。

    还有一些跨平台的可能性,例如 HTML5。这意味着您可以在目标平台上使用本机组件(iPhone 的 UIWebView、Blackberry 上的 BrowserField2、Android 上的 WebView、Symbian 上的 QtWebKit……),并围绕 HTML/CSS/Javascript 代码进行一些包装。即使这听起来很有希望,但它也带来了一些成本,即性能问题、不同级别的 Web 功能支持、缺乏原生应用程序感觉、调试问题、处理错误……再加上你必须非常擅长这些 Web 技术才能制作该应用程序看起来很酷。这仅适用于相对简单的应用程序。有一些简单的框架,例如 PhoneGap,您可以在开始时使用,但在某些时候您会发现您需要更复杂的解决方案,而这对您来说还不够。还有很多带有 UI 组件的 HTML/CSS/Javascript 库,它们可以为您的 Web 应用程序提供更原生的外观和感觉(例如 jQuery Mobile),但它永远不会像原生应用程序。

    这就是现实:) 问候, 钢

    【讨论】:

    • 我选择使用PhoneGap的唯一原因是时间限制。我的应用程序并不太复杂,而且还可以节省一些时间。 iPhone 开发与 Android 不同,API 也很不同。而且我讨厌看书。 :P 但同样,您对性能的看法是正确的,只有本机应用程序才能擅长。感谢您的精彩解释。
    猜你喜欢
    • 2015-08-07
    • 2014-09-28
    • 1970-01-01
    • 2018-05-25
    • 1970-01-01
    • 1970-01-01
    • 2013-04-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多