【问题标题】:Should I use PhoneGap instead of ramping up on the Android SDK?我应该使用 PhoneGap 而不是升级 Android SDK 吗?
【发布时间】:2011-05-04 16:17:23
【问题描述】:

虽然我对 Java 很熟悉,但我在 Web 开发方面的经验要丰富得多。我希望开始编写简单的 Android 游戏。

我是否应该只使用 Javascript/HTML 对所有内容进行编程而忘记使用 Java/Android SDK?我想我的问题确实是,PhoneGap 的限制是什么?有哪些需要考虑的事项等?

我能想到的一些优点:

  • HTML5/JS 游戏引擎方面的更多选择
  • 加速时间更快
  • 自动部署到所有主要平台

【问题讨论】:

    标签: android cordova


    【解决方案1】:

    phonegap 的最大优点是它利用了您的 Web 开发经验。我认为大多数人似乎错过(或忽略)的是 对于仅限 android 的应用程序避免 phonegap 没有任何优势!您仍然可以编写任意数量的本机代码,随意混合和匹配 phonegap。

    我正在编写一个使用文本转语音的 Android 应用程序。因为 Phonegap 在他们的 API 中不支持这一点,你可能会认为 Phonegap 是一个不好的选择,但实际上从 javascript 调用我需要的 Java 代码很容易:

    Java 代码:

    public void onCreate(Bundle savedInstanceState) {
       //boilerplate and TTS set up
        ...
        this.appView.addJavascriptInterface(this.speak, "speak");
        ...
    }
    
    public void speak(String text) {
        this.tts.speak(text, TextToSpeech.QUEUE_FLUSH, null);
    }
    

    Javascript 代码:

    speak.say("hello world");
    

    【讨论】:

    • 我完全同意你的观点,但我正在处理的 phonegap 项目渲染速度很慢。与原生应用相比,它的性能较慢。任何1 都有解决方案。
    • wtf黑魔法是这个? Javascript调用java函数。真棒
    【解决方案2】:

    Phonegap 的优点:

    • 部署到所有主要移动设备
    • 听起来它最适合您的技能组合
    • 以统一的代码库涵盖大多数可用的平台 API,无需逐一学习
    • PhoneGap Build (https://build.phonegap.com/) 和 Cordova (https://github.com/brianleroux/Cordova) 让部署到多个平台变得更加容易

    Android 的优点:

    • 更好的性能
    • 您可以使用哪些 API(即视频)没有限制
    • 定义的工具集和工作流
    • 原生 UI 组件
    • Fragments API 和原生布局让处理不同的屏幕尺寸变得更容易

    这真的取决于您是否想成为一名纯 Android 开发人员。 phonegap 的第一个专业人士是巨大的,你计划为多个平台开发。

    【讨论】:

      【解决方案3】:

      与原生 Android 应用相比,我个人非常担心 PhoneGap 应用的性能。诚然,我所做的少量测试使 PhoneGap 版本与原生版本相比感觉非常迟钝。我不明白这不会转化为糟糕的用户体验。即使是 PhoneGaps 打包的示例应用程序也运行不佳。

      我对 PhoneGap 似乎开放的可能性感到非常兴奋,但我觉得它还没有出现。我不愿意在 PhoneGap 上进行大型项目。

      【讨论】:

        【解决方案4】:

        没办法! Adobe 有他们的云版本,其文件大小限制为 9.5 MB。而且,他们将停止支持其他类型的构建。

        【讨论】:

          【解决方案5】:

          过去一周左右,我刚刚使用 PhoneGap 开发了一个简单的 Android 应用程序。我最大的希望是能够推荐这个产品作为“一次编写,随处部署的解决方案”在我们部门使用。

          在实践中,它比我希望的要复杂。我确实设法完成了应用程序的 Android 版本,但我发现在使用基本的东西时有很多怪癖,比如让它包含 css 和 jquery 移动框架。我一直认为这只是我的学习曲线,但是我在网上找到的很多教程都已经过时了,并且在我下载的版本中不起作用。最大的惊喜是,如果不使用诸如 childBrowser 之类的插件,您将无法链接到外部文档,这是一个巨大的缺点。

          我今天尝试将我的应用程序移植到 iOS,但无法通过导入 css 的第一步。我找不到有关此基本步骤的任何支持文档。这很令人沮丧,因为这是一个简单的应用程序,我可以在一天左右的时间内在 Xcode 中将其制作为原生应用程序。看来使用 PhoneGap 需要更长的时间。

          PhoneGap 看起来很有前途,但目前我不想使用它。这只是时间问题。为什么我要花两倍的时间做某事?在未来的版本中它可能是一个更好的选择

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2013-01-05
            • 1970-01-01
            • 2023-03-15
            • 2011-03-02
            • 2010-09-28
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多