我正在开发针对iOS和Android平台的移动应用.该应用程序将包括:
一个相对简单的"用户登录/注册和数据库项目列表"类型的界面,由已经构建的Web服务和现有Web应用程序提供支持.
使用本机插件的视频捕获和上传功能.
我上周对PhoneGap进行了广泛的研究,并且已经确定即使考虑到有充分记录的问题和PhoneGap的限制,它也非常适合我的应用程序的第一部分.
但是,鉴于PhoneGap Capture API(org.apache.cordova.media-capture)的局限性,它不适合捕获视频以进行上传,主要是由于缺乏对视频规范的控制.(在大多数设备上,视频捕获将是巨大的高清文件,即使在Wifi上也不适合上传,当然也不会超过3g/4g.)
鉴于我的资源和时间表,我已经确定在Java和ObjC中构建本机应用程序是不切实际的,至少目前是这样.我的ObjC和Java经验很少,但如果需要,我相当自信并渴望学习这些语言.
那就是说,我正在考虑两种选择:
第一个,也可能是最合理的,是我选择了具有我现有用户群(iOS)更大市场份额的平台,吸收它并且本地化.
第二个也许是崇高的选择是,我在PhoneGap中开发了一个混合应用程序,针对两个平台,并通过使用PhoneGap的插件API为Java和ObjC构建本机插件来规避我的视频捕获能力的限制,从而缩短了开发时间.应用程序的其余部分,并仅在需要的地方使用本机代码.
我的视频捕获插件的要求如下:
完全控制录制视频的规格,最重要的是分辨率和比特率.(据推测,在Adroid SDK中使用AVFoundation等).
控制视频捕获功能的用户界面.
显然,我知道在本地api中进行开发时,这两个平台上的这些任务都是非常可能的,正如市场上现有的应用程序所显示的那样.(藤等).
我真正的问题是,有什么限制,以及通过PhoneGap的插件API扩展本机功能的问题? 在PhoneGap中几乎没有完成这种级别的本机视频捕获实现的工作示例.我发现的一个例子就是这个插件,VideoCapturePlus,尽管我还没有上班,但看起来很有希望.
我特别感兴趣的是要知道是否有人在PhoneGap中成功实现了具有这种复杂程度的本机插件,或者如果它是一个兔子洞,我希望我没有失望.
我有一个与性能相关的问题,关于PHP如何在条件中评估OR运算符.
我有一个条件,调用2个函数,都返回布尔值:
第一个是简单,快速的功能 - simpleFunction()
第二个是更密集的函数,查询DB - intensiveFunction()
我可以像这样编写条件,这样如果第一个简单函数返回TRUE,则不会执行第二个更强的函数:
if ( simpleFunction() ) {
// Do Stuff
} elseif ( intensiveFunction() ) {
// Do the same stuff (redundant code)
}
Run Code Online (Sandbox Code Playgroud)
我的问题是,当在PHP条件中使用和OR运算符时,如果第一个条件(在运算符的左侧)为TRUE,第二个函数(在运算符的右侧)是否会被执行?
if ( simpleFunction() || intensiveFunction() ) {
//Do Stuff
}
Run Code Online (Sandbox Code Playgroud)
这个条件将在循环内运行,所以我想避免在每次迭代时运行intensiveFunction().