当前位置: 首页 > 知识库问答 >
问题:

混合应用程序-原生WebView包装与离子方法

宋晋
2023-03-14

我们计划在开发新的移动应用程序时采用混合方法。我们在开发过程中的主要目标是:

  • 在进行webUI更改时最小化应用商店提交和批准
  • 在手机上实现指纹认证、条码扫描器和推送通知
  • 如果可能,尽量减少其他团队的参与(我们需要一些特定的iOS,所以我们不必等待他们的计划)

现在,在我们移动团队的帮助下,我们仍在两种方法之间做出决定,这是我们迄今为止得到的结果:

>

  • 我们的移动团队创建了一个简单的本机包装应用程序,他们在其中实现本机功能并通过WebView显示部署的Web应用程序

    +轻松跳过应用商店提交,我们重新部署Web应用程序并更新主UI

    +本机功能更可靠

    − 三个不同的项目/团队(Web、Android、iOS)和写作分别需要本机功能

    − (摘自《苹果指南》)“你的应用程序应该包括一些功能、内容和用户界面,这些功能、内容和用户界面可以让它超越重新打包的网站。”用这种方法,我们可能会遇到麻烦吗?因为主用户界面不是与本机包装捆绑在一起的,而是从我们的外部网站拉出来的。

    我们使用离子/电容器

    +一个本地功能的项目/团队

    +UI与本机应用捆绑

    − 仅使用付费的Ionic Live应用程序更新跳过应用程序商店提交。如果你的用户界面和本机应用捆绑在一起,还有其他简单的方法来实现这种实时更新吗?

    我的假设是否正确,是否有我们遗漏或值得注意的关键点?

    谢谢你

  • 共有2个答案

    邓元白
    2023-03-14

    我完全不同意rtpHarry的观点,因为我的公司有许多企业客户使用我们的应用程序并在这种情况下运行。目前不使用电容器,但计划采取这一举措升级到更现代的原生包装器。我们使用纯超文本标记语言/JS/CSS构建了一个shell应用程序,负责加载ReactJS包以实现其核心功能。我们发现这种配置非常宝贵,因为它允许我们的企业客户管理他们自己的Bundle推送,作为他们发布管理的一部分......而不是我们必须参与实际部署。他们可以简单地更改MDM中的一个属性(对于需要的任何用户细分)并让shell检索捆绑包的更新版本。此外,AppFlow成本受其推送模型的使用影响很大......而上述技术更加灵活和免费。

    蓬宾白
    2023-03-14

    你不应该像选项1中描述的那样,尝试自己构建这个。这将造成巨大的混乱,浪费大量的时间,并意味着你有有限的/未经测试的代码,你必须把你的内部应用塞进其中。

    Ionic框架已经是你想象中的包装器了,它有很好的插件支持、文档和跨平台测试的代码。

    您应该查看Ionic AppFlow,它允许您将更新版本部署到应用程序。

    默认情况下,您只需使用Ionic创建一个普通应用程序,它会生成一个新的二进制版本,每次您都会将其部署到应用商店。

    如果您使用像AppFlow这样的服务,那么您可以重新部署应用程序的html部分:

    实时热门代码更新

    在应用上架之前或之后交付实时应用更新、内容更改、A/B测试、错误修复等。无需排队,无需等待,无需减速。

    这并不能解决所有问题。如果您想添加一个想要添加新插件的新功能,例如添加相机插件,那么您将需要制作一个新的二进制文件并像正常情况一样将其提交到应用商店。

     类似资料:
    • 我正在没有互联网连接的计算机上开发反应本地应用程序(我无法将其连接到互联网), 我已经根据android工作室指南配置了本地存储库和android插件 并在本地连接了gradle。 所有的配置工作正常,但项目仍然没有编译,我得到了我使用的react本机模块(这里的例子)的未解决的依赖关系。 我花了两周时间试图解决这个问题,但失败了。 我还没有找到解决办法 Android Studio版本是3.5.

    • 最近在工作中出现了一个关于Sets的讨论,Sets在Scala中支持方法,以及这可能导致bug的原因,例如。 我认为很明显,不应该支持操作,因为元素没有排序。但是,有人提出问题是实际上不是一个函子,不应该有方法。当然,在一个集合上映射可能会给自己带来麻烦。现在切换到Haskell, 现在在ghci中 因此不能满足函子定律 “替代似乎比必要的更强,基本上是对类型进行商数化,对使用类型的每个函数都提出

    • 想改进这个问题吗 通过编辑这篇文章,更新问题,以便用事实和引文来回答。 我想知道混合和本地移动开发之间的区别。我在Android系统方面只有相当的经验,所以在这两种情况下,我都会学到一些新东西。 我的项目只是一个仅由4个页面组成的移动应用程序,只是从网站上获取一些文章而已。 在这种情况下,混合开发会更好还是只坚持原生?! 性能方面哪个更好? phonegap/cordova学习曲线呢? 如果我要混

    • 如何混淆我的react-native JS代码?我在build.gradle文件中设置了以下内容: 下面是我的proguard-rules.pro文件(默认): 但是在解压缩apk之后,我仍然可以找到我的JS组件名称、变量和URL

    • 我是一名PHP、HTML5、CSS3、Javascript、Jquery、Angular的全栈开发人员,热衷于学习任何新技术 现在,我有了一个混合移动应用程序项目(更简单,只需少量的curd操作和web服务),而且它还将是web应用程序,我需要尽快交付。所以我的问题是为正确的工作选择正确的工具 混合应用程序可以使用 平台:Phonegap或cordova,根据我的理解,cordova是Phoneg

    • 执行测试脚本后,我看到控制台“驱动程序null”错误 剧本: 如果我错过了什么,有人能帮忙吗。谢谢,