混合开发之DSBridge(同时支持Android和iOS)
什么是 Javascript bridge
随着h5的不断普及及优化,以及移动端对动态化的需求越来越大,开发者经常需要在app中嵌入一些网页,然后会在web和native之间进行交互,如传递数据,调用函数,而连接web与native需要一个桥梁,通常称为javascript bridge,项目中选择一个好的javascript bridge也非常重要。
Javascript bridge现状
目前github上也有一些开源的,其中使用最广的非WebViewJavascriptBridge、JsBridge莫属,然而,最近刚开源了一个新项目DSBridge,号称最好用的javascript bridge。笔者仔细对比了一下,DSBridge分分钟秒杀所有啊。
下面是一篇DSBridge与WebViewJavascriptBridge的对比文章:DSBridge VS WebViewJavascriptBridge, 文章中各方面对比已经很详细了,在此,简单总结一下,以作记录。
DSBridge 和 WebViewJavascriptBridge相比的主要特点:
- DSBridge真正跨平台!原版WebViewJavascriptBridge只支持ios,只不过有人在android上也实现了和WebViewJavascriptBridge相同的前端调用协议,所以可以在ios/android上使用同一套js调用协议,但本身来讲,WebViewJavascriptBridge ios和android平台并非一家之作,所以也并没有官方提供跨平台的技术支持,而DSBridge官方同时支持ios和android。
- DSBridge支持同步调用!这一点秒杀其它所有,可谓一骑绝尘。同步在复杂一点的应用中有多重要,相信使用过node的都应该深有感触。原文中有仔细说明,请移步http://www.jianshu.com/p/d967b0d85b97。
- 三端友好; 无论是在ios、android或者 web,使用起来都非常简单优雅,这一点和WebViewJavascriptBridge相比,简直就是艺术。
- DSBridge为国人项目,有详细中文文档和问题反馈渠道。
其它
DSBridge虽刚刚开源,比较年轻,不像WebViewJavascriptBridge和javascript bridge那样有着多年以来积累的用户,目前知名度也并不高,但就github和作者博客来看,目前已有一批用户在使用,反馈都很不错,作者对于反馈都能及时回应,最近github上 android版的英文文档也已经补上,DSBridge需要一个宣传和用户积累的过程。DSBridge的测试覆盖非常全,根据github上的最新更新记录,增加了压力测试,在异步连续调用1万次的情况下DSBridge依然坚挺!ios上支持ios7以上,同时允许自由选择WKWebView和UIWebview,而Android端相对来说要简单一些,相信你完全可以看懂其源码。
DSBridge Github地址:
iOS: https://github.com/wendux/DSBridge-IOS
Android: https://github.com/wendux/DSBridge-Android
混合开发之DSBridge(同时支持Android和iOS)的更多相关文章
- Android混合开发之WebView与Javascript交互
前言: 最近公司的App为了加快开发效率选择了一部分功能采用H5开发,从目前市面的大部分App来讲,大致分成Native App.Web App.Hybrid App三种方式,个人觉得目前以Hybri ...
- Android混合开发之WebView使用总结
前言: 今天修改项目中一个有关WebView使用的bug,激起了我总结WebView的动机,今天抽空做个总结. 混合开发相关博客: Android混合开发之WebView使用总结 Android混合开 ...
- Android混合开发之WebViewJavascriptBridge实现JS与java安全交互
前言: 为了加快开发效率,目前公司一些功能使用H5开发,这里难免会用到Js与Java函数互相调用的问题,这个Android是提供了原生支持的,不过存在安全隐患,今天我们来学习一种安全方式来满足Js与j ...
- .NET 开源了,Visual Studio 开始支持 Android 和 iOS 程序编写并自带 Android 模拟器
.NET 开源了,Visual Studio 开始支持 Android 和 iOS 程序编写并自带 Android 模拟器 北京时间今天凌晨的 Connect(); 大会上,多少程序员的假想成为现实. ...
- IOS JPush 集成步骤(极光远程推送解决方案,支持android和iOS两个平台)
● 什么是JPush ● 一套远程推送解决方案,支持android和iOS两个平台 ● 它能够快捷地为iOS App增加推送功能,减少集成APNs需要的工作量.开发复杂 度 ● 更多的信息,可 ...
- [RN] React Native 图片保存到相册(支持 Android 和 ios)
React Native 图片保存到相册(支持 Android 和 ios) 原理: IOS用 RN自带的 CameraRoll, Android 使用 不成功,需要 react-native-fs ...
- 同时支持Android 和 ios 投屏到电脑的软件,Support Android and ios screen shrare to PC - 希沃授课助手
最近学校由粉笔黑板更换了智慧电子黑板,然后发现了一个好玩的软件. 感谢希沃公司的开发: 希沃授课助手,这是一款同时支持Android 和 ios 投屏和远程控制的. 效果很流畅,非常赞
- Android开发之旅3:android架构
引言 通过前面两篇: Android 开发之旅:环境搭建及HelloWorld Android 开发之旅:HelloWorld项目的目录结构 我们对android有了个大致的了解,知道如何搭建andr ...
- iOS 混合开发之 Cordova 实践
在15年时,之前公司使用 Cordova 做混合开发使用,后来公司没有用到了,现在重新记录下. Cordova (官网:http://cordova.apache.org/)简介: Apache Co ...
随机推荐
- HDU 1264 Counting Squares (线段树-扫描线-矩形面积并)
版权声明:欢迎关注我的博客.本文为博主[炒饭君]原创文章,未经博主同意不得转载 https://blog.csdn.net/a1061747415/article/details/25471349 P ...
- SQL 中nvarchar和varchar到底能存多少汉字和英文
实践出真知,在SQL中,nvarchar(50)表示汉字和英文都是50,varchar(50)汉字25,英文50
- linux主次设备号【转载】
一个字符设备或者块设备都有一个主设备号和次设备号.主设备号和次设备号统称为设 备号.主设备号用来表示一个特定的驱动程序.次设备号用来表示使用该驱动程序的各 设备.例如一个嵌入式系统,有两个LED指示灯 ...
- 【转】Jmeter之短板以及建议解决方案
随着JMeter的应用,发现JMeter的局限性越来越多,急需进一步扩展改进. 一.几百兆的sample 日志解析出现OutOfMemory 最近的几个项目都是Java sample 日志,应用都是高 ...
- mysql索引之一:索引基础(B-Tree索引、哈希索引、聚簇索引、全文(Full-text)索引区别)(唯一索引、最左前缀索引、前缀索引、多列索引)
没有索引时mysql是如何查询到数据的 索引对查询的速度有着至关重要的影响,理解索引也是进行数据库性能调优的起点.考虑如下情况,假设数据库中一个表有10^6条记录,DBMS的页面大小为4K,并存储10 ...
- Java-Runoob:Java 数组
ylbtech-Java-Runoob:Java 数组 1.返回顶部 1. Java 数组 数组对于每一门编程语言来说都是重要的数据结构之一,当然不同语言对数组的实现及处理也不尽相同. Java 语言 ...
- 安装nagios检测hadoop
Nagios是常用的系统监控工具,提供了很多基本服务的监控脚本,如HTTP,MYSQL等,同时具有不错的可扩展性,自己可定制针对特定参数的监控脚本以及报警的方式. 我现在有三台机器:192.168.0 ...
- 第一章 安装ubuntu
最近正在研究hadoop,hbase,准备自己写一套研究的感研,下面先讲下安装ubuntu,我这个是在虚拟机下安装,先用 文件转换的方式安装. 1:选择语言:最好选择英文,以免出错的时候乱码 2:选择 ...
- Ajax显示隐藏
$(function(){ $('#search').click(function(){ if($(".search_div").is(":visible")) ...
- .NET中使用unity实现aop
Unity是一款知名的依赖注入容器,其支持通过自定义扩展来扩充功能.在Unity软件包内默认包含了一个对象拦截(Interception)扩展定义.本篇文章将介绍如何使用对象拦截功能来帮助你分离横切关 ...