在 PhoneGap 中使用协议缓冲区 - iOS

     2023-03-15     171

关键词:

【中文标题】在 PhoneGap 中使用协议缓冲区 - iOS【英文标题】:Using Protocol buffers in PhoneGap - iOS 【发布时间】:2013-03-17 07:04:14 【问题描述】:

我使用原生应用方法在 iOS 中使用了 c++ google protobuf 类,即使用 Xcode、objective c、cocoa 等。

现在,我想迁移到混合应用程序,我已经探索了网络上的选项,根据我的要求,我选择了 PhoneGap 和 Titanium。这将需要我使用 JavaScirpt、HTML5(根据我的理解仅在 Titanium 中使用 JavaScript)jQuery 等。

我的问题是,我应该如何从 javascript 访问我的 c++ protobuf 类。 (我没有 JavaScript 方面的专业知识)。

我也对使用哪种混合应用框架持开放态度。

网络开发之王....指导我。

【问题讨论】:

【参考方案1】:

使用PhoneGap,如果有PhoneGap API 当前未公开的电话功能,或者如果您希望访问一些专门的本机算法/功能,那么您需要编写一个插件。

PhoneGap 插件提供了一种标准化机制,用于打包原生代码并通过 JavaScript 访问其功能。请参阅PhoneGap Plugin Development Guide。

我个人认为 PhoneGap 是最好的混合框架,它已经存在了一段时间,有据可查,并且拥有一个健康的社区。​​p>

【讨论】:

感谢您的回答。钛合金呢?他们说我们可以直接使用本机代码。我真的不知道如何 Titanium 在设备上的 VM 中运行 JavaScript,并呈现原生 UI。它不是 HTML5 混合框架——它使用 JavaScript 但不是 HTML。 Titanium 还有一个插件概念,允许您编写与本机模块的绑定。要了解不同的框架,请查看propertycross.com 这太棒了。谢谢! 好吧,我知道这对论坛来说可能是一个糟糕的问题,但请幽默我。 如果我继续使用 Phonegap,两者中的哪一个 - Sencha touch 和 jQuery mobile ,对于初学者来说会更容易。也考虑到我必须添加Phonegap插件的情况 @TusharKoul - 我会选择 jQueryMobile,它更简单 - 并且有大量在线教程。 Sencha Touch 更复杂,功能更强大,但需要很长时间才能学习。【参考方案2】:

这是一个老问题,但您始终可以在 JavaScript 代码中使用 100% JavaScript implementation of ProtoBuf。它运行良好,您甚至可以根据需要预编译 .proto 文件。

在 Cordova 中,更好地创建一个插件,但如果您没有时间或技能来做这件事,那么链接代码也能很好地工作。

【讨论】:

如何在 autoconf/automake 中使用协议缓冲区?

】如何在autoconf/automake中使用协议缓冲区?【英文标题】:Howtouseprotocol-bufferswithautoconf/automake?【发布时间】:2012-12-1819:16:09【问题描述】:正在寻找用于构建使用协议缓冲区的项目的autoconf和automake规则的良好示例,以及将protoc... 查看详情

使用新版本的协议在 PHP 中发送 iOS 推送通知

...:2014-12-0322:12:56【问题描述】:我一直在拼命尝试让我的PhoneGap应用程序与iOS推送通知一起使用,并且我正在使用来自该站点(http://www.raywenderlich.com/32960/apple-push-n 查看详情

在 ZeroMQ 中使用协议缓冲区实现 RPC

】在ZeroMQ中使用协议缓冲区实现RPC【英文标题】:UsingProtocolBuffersforimplementingRPCinZeroMQ【发布时间】:2017-12-3022:43:35【问题描述】:我有一个客户端和一个服务器的简单设置。客户端希望使用ZeroMQ在服务器中执行一个方法进行通... 查看详情

如何在 iOS 中使用 Phonegap 配置键盘?

】如何在iOS中使用Phonegap配置键盘?【英文标题】:HowtoconfigurekeyboardusingPhonegapiniOS?【发布时间】:2014-06-2513:34:10【问题描述】:是否可以隐藏这条线,并使用Phonegap触摸外部以关闭键盘?【问题讨论】:Thispost可能对这种情况有... 查看详情

针对 iOS 的 Unity3D 中的协议缓冲区

】针对iOS的Unity3D中的协议缓冲区【英文标题】:ProtocolBufferinsideUnity3DtargetingiOS【发布时间】:2012-12-0514:22:17【问题描述】:我正在尝试在针对iOS设备的Unity3D项目中使用MarcGravell的protobuf-netC#协议缓冲区实现。我设法使用protogen从... 查看详情

如何在 iOS 中使用自定义 phonegap 3.3 插件

】如何在iOS中使用自定义phonegap3.3插件【英文标题】:Howtousecustomphonegap3.3plugininiOS【发布时间】:2014-01-2705:33:00【问题描述】:我已经在phonegap2.9中使用了phonegap插件(SQLitePlugin),但现在我想将我的项目转换为phonegap3.3,我已经按... 查看详情

在 iOS 中使用 PhoneGap Cleaver 覆盖方法

】在iOS中使用PhoneGapCleaver覆盖方法【英文标题】:UsingPhoneGapCleaveriniOStooverridemethod【发布时间】:2013-10-0706:27:12【问题描述】:我正在使用PhoneGap2.3-CleaverforiOS。如何覆盖shouldStartLoadWithRequest、webViewDidStartLoad、webViewDidFinishLoad函数... 查看详情

无法使用xcode phonegap在ios中隐藏状态栏

】无法使用xcodephonegap在ios中隐藏状态栏【英文标题】:canthidestatusbariniosusingxcodephonegap【发布时间】:2013-03-0911:02:40【问题描述】:我正在尝试删除我的xcodeiOS项目中的状态栏。phonegap2.5版。我试过以下。1)通过在config.xml中添加以... 查看详情

在 C# 中解析原始协议缓冲区字节流

】在C#中解析原始协议缓冲区字节流【英文标题】:ParsingarawProtocolBufferbytestreaminC#【发布时间】:2013-10-2900:08:56【问题描述】:给定一个编码为Stream或byte[]的协议缓冲区,但不知道对象类型本身,我们如何打印消息的骨架?该用... 查看详情

如何在 iOS 中使用 Admob Phonegap 插件

】如何在iOS中使用AdmobPhonegap插件【英文标题】:HowtouseAdmobPhonegappluginwithiOS【发布时间】:2012-05-2018:23:29【问题描述】:我正在使用thisAdmobpluginforPhonegap在iOS上运行,如下所示:window.plugins.AdMob.createBanner("siteId":"my-site-id");window.plug... 查看详情

在协议缓冲区中定义字典

】在协议缓冲区中定义字典【英文标题】:Definedictionaryinprotocolbuffer【发布时间】:2012-07-1316:20:45【问题描述】:我对协议缓冲区和C++都很陌生,所以这可能是一个基本问题,但我没有任何运气找到答案。基本上,我想要在我的.... 查看详情

使用 AngularJS 在 iOS 的 PhoneGap 3.3 中登录 XCODE

】使用AngularJS在iOS的PhoneGap3.3中登录XCODE【英文标题】:LoggingtoXCODEinPhoneGap3.3foriOSwithAngularJS【发布时间】:2014-01-2500:32:29【问题描述】:已经有几个关于在phonegap项目中登录XCode的问题(例如console.lognotworkinginaniOSPhoneGap3.0app),但... 查看详情

在 PhoneGap 中使用 JavaScript 创建和使用 iOS settings.bundle 值

】在PhoneGap中使用JavaScript创建和使用iOSsettings.bundle值【英文标题】:CreatingandusingiOSsettings.bundlevalueswithJavaScriptinPhoneGap【发布时间】:2012-03-1613:49:48【问题描述】:是否可以在iPhone设置应用程序中使用PhoneGap(v1.4.1)创建一个部分?... 查看详情

在 iOS 中使用 Phonegap Canvas 自定义字体

】在iOS中使用PhonegapCanvas自定义字体【英文标题】:CustomfontsiniOSwithPhonegapCanvas【发布时间】:2013-03-2202:38:46【问题描述】:我正在尝试在iOS下的Phonegap中制作自定义字体。我遵循了几个教程并阅读了有关StackOverflow的所有相关问题... 查看详情

使用 phonegap 在 IOS 的图库中查看使用 FileWriter 写入文件系统的图像文件

】使用phonegap在IOS的图库中查看使用FileWriter写入文件系统的图像文件【英文标题】:ViewimagefilewrittentofilesystemusingFileWriteringalleryinIOSusingphonegap【发布时间】:2014-02-0622:33:27【问题描述】:我正在使用phonegapFileAPI(FileWriter)将图像文... 查看详情

Phonegap 在 iOS 中使用 File-Transfer 下载文件并在设备中访问它

】Phonegap在iOS中使用File-Transfer下载文件并在设备中访问它【英文标题】:PhonegapDownloadfileiniOSwithFile-Transferandaccesstoitinthedevice【发布时间】:2015-07-2114:48:48【问题描述】:我使用Phonegap和jQueryMobile创建了一个应用程序,它在iPadmini... 查看详情

在 iOS Phonegap 应用程序中禁用“想使用您当前的位置”警报

】在iOSPhonegap应用程序中禁用“想使用您当前的位置”警报【英文标题】:Disable"WouldLiketoUseYourCurrentLocation"alertiniOSPhonegapapp【发布时间】:2014-02-0614:19:15【问题描述】:我正在开发一个phonegap应用程序,我删除了所有使用G... 查看详情

在 iOS 中使用 PhoneGap 检测 SIM 卡更改

】在iOS中使用PhoneGap检测SIM卡更改【英文标题】:DetectSIMchangeusingPhoneGapiniOS【发布时间】:2015-12-0914:28:38【问题描述】:我正在开发一个PhoneGapiOS应用程序,该应用程序需要使用SIM或MSISDN来实现某些功能。我想知道是否有任何方... 查看详情