android混合开发视频,GitHub - yinleiCoder/Android-DSBridge-Video: Android混合开发DSBridge实现短视频通信...

Android混合开发DSBridge实现短视频通信📹

技术栈:

DS-bridge

Hybrid混合开发

短视频业务

需求点:

视频播放H5页面编写

客户端原生播放器的使用

基于DSBridge搭建数据通道

暴露视频播放能力提供给javascript

Demo业务分析:【JS通道搭建】

一. BridgeAPI设计

视频的基本操作:播放、暂停、恢复、Seek、结束

事件通知:视频所在页面的位置、视频的播放信息(url、标题、起播时间点等)

横屏/竖屏切换

二. 客户端接口的注入

编写客户端提供的API

以DSBridge的形式封装API

通过DWebView注册接口

当下混合开发技术简单对比:

Web开发

Hybrid

RN

Flutter

开发成本低、效率高、与客户端解耦、及时上线、纯WebView环境,体验较差

介于原生和Web之间,包含web开发的所有优点、部分功能接近原生APP体验、能够调用原生能力

摆脱WebView,体验可和原生媲美、支持热更新、页面加载较慢、控件不够完善

最佳运行体验、性能强、采用Dart开发、跨平台

Hybrid框架:

解决的问题:

web调用原生——JavaScript -> java

原生调用web——java -> javascript

数据通道的搭建——性能及易用性

框架的性能需要扎实的技术能力,易用性则更加侧重于架构设计能力

DSBridge:

国内推出的Javascript bridge跨平台混合开发框架

官方提供了android/ios,真正实现跨平台

支持同步和异步调用

无需iFrame,性能好

其作者是wendux,很牛的字节跳动大神,著有“Flutter中文网”

​A. 直接源码接入:下载DSBridge源码、作为独立Module接入工程、学习源码并做个性化修改

​B. Gradle依赖接入:配置Gradle脚本,Sync自动接入、简单方便

前端调用客户端:js -> java

​Android客户端提供js方法---> h5初始化dsbridge--->h5通过dsbridge.call直接调用

客户端调用前端:java -> js

​h5前端注册js方法--->android获取DWebView实例--->android通过callHandler调用,传入回调接口

同步调用和异步调用:

​A. 同步调用:

public object handler(Object msg)

B. 异步调用:

public void handler(Object arg, CompletionHandler handler)

同步调用是DSBridget的特色,考虑到兼容IOS,参数中的Object msg是必须的。

使用传统方式进行android端和js端混合开发请查阅我的博客:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值