npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

@netless/webview-bridge

v0.1.11

Published

bridge in web for webview react-native and future for native and flutter

Downloads

573

Readme

@netless/webview-bridge

不同平台的 webview 都会提供各种方式,使得 web 端的代码,可以与平台代码交互。iOS,Android,flutter,React-Native 都存在这种通信方式。两端通信,不仅仅需要 web 端做一些配置,还需要平台端做一些配置。这里只包含 web 端的配置。 由于 React-Native 的特性,所以这个库中的一些代码,逻辑,类型,可以提供给 React-Native 使用,达到一定程度的复用,同时提高维护性。

该库目前桥接的目标为 React-Native。
iOS,Android 的 web 桥接,可以通过 dsbridge 实现,该库在对应的 iOS 和 Android 端有对应的实现

install

# uuid 版本过多,所以只标识为 peer dependency
npm install @netless/webview-bridge uuid

TODO

  • [ ] 提供 flutter webview 中的桥接
  • [x] 提供 dsbridge webview 中的桥接替换

接口设计

  1. js 端调用 native 时,同步和异步的 api 应该分开,而不是像 dsbridge 那样,都是用同一个 call API,非常容易混淆。应该分为 callSync 和 callAsync 两种,而且由于同步的阻塞性,默认应该是 callAsync。
  2. js 注册 API 时,不应该是 register 和 registerAsync,实际上这两个 api 对于 native 而言,都是异步的,这个命名会让人非常困惑。两者的不同点在于后者的回调可以重复调用,也就是可以不断回调,通常作为进度回调使用。所以应该注册为 register 和 registerProgress