MCPcopy Index your code
hub / github.com/Tencent/VasSonic

github.com/Tencent/VasSonic @3.1.1 sqlite

repository ↗ · DeepWiki ↗ · release 3.1.1 ↗
637 symbols 1,794 edges 73 files 258 documented · 41%
README

VasSonic: A Lightweight And High-performance Hybrid Framework

license PRs Welcome wiki


logo

VasSonic is a lightweight and high-performance Hybrid framework developed by tencent VAS team, which is intended to speed up the first screen of websites working on Android and iOS platform. Not only does VasSonic supports the static or dynamic websites which are rendered by server, but it is also compatible with web offline resource perfectly.

VasSonic uses custom url connection instead of original network connection to request the index html, so it can request resource in advance or parallel to avoid waiting for the view initialization. In this parallel case, VasSonic can read and render partial data by WebKit or Blink kernel without spending too much time waiting for the end of data stream.

VasSonic can cache html cleverly according to VasSonic Specification obeyed by client and server. VasSonic Specification specify template and data by inserting different comment anchor, templates are bigger parts of html which stay the same or changed rarely , in contradiction data, which is the smaller and constantly change part of html. According to this, VasSonic request less data by incremental updating templates and data, the websites are faster and feel more like native application. In conclusion, VasSonic effectively enhance the user experience and increase click rate, retention rate and other indicators.

Sonic is called for short in project.

Before VS After Using VasSonic

Pic 1: Before Using VasSonic Pic 2: After Using VasSonic
default mode VasSonic mode

Getting started

Getting started with Android

Getting started with iOS

Getting started with Java

Getting started with Node.js

Getting started with PHP

Getting started with React

Demo Downloads

  1. Here are the latest sample demo for Android and iOS.

Support

Any problem?

  1. Learn more from the following sample.

Android sample

iOS sample

Java sample

Node.js sample

PHP sample

React sample

  1. Read the following source code

Android source code

iOS source code

Java source code Node.js source code

PHP source code

React source code

  1. Read the wiki for help.

  2. Contact us or scan QR code for help.

QR code

Contributing

For more information about contributing issues or pull requests, see our VasSonic Contributing Guide.

License

VasSonic is under the BSD license. See the LICENSE file for details.

The End

If you are interested in VasSonic, don't forget to STAR it.

VasSonic's mission is MAKING WEB MUCH BETTER!

Thank you for reading ~

Extension points exported contracts — how you extend this code

SonicDownloadCallback (Interface)
download callback. [3 implementers]
sonic-android/sdk/src/main/java/com/tencent/sonic/sdk/download/SonicDownloadCallback.java
ReplaceCallBack (Interface)
(no doc) [2 implementers]
sonic-java/src/main/java/com/github/tencent/ReplaceCallBack.java
SonicDiffDataCallback (Interface)
This interface is used to call the difference data between local and server data to the client. [2 implementers]
sonic-android/sdk/src/main/java/com/tencent/sonic/sdk/SonicDiffDataCallback.java
SonicSessionCallback (Interface)
The life circle callback of SonicSession [2 implementers]
sonic-android/sdk/src/main/java/com/tencent/sonic/sdk/SonicSessionCallback.java
Callback (Interface)
When SonicSessionStream close the stream will invoke the Callback
sonic-android/sdk/src/main/java/com/tencent/sonic/sdk/SonicSessionStream.java
Callback (Interface)
The interface is used to inform the listeners that the state of the session has changed.
sonic-android/sdk/src/main/java/com/tencent/sonic/sdk/SonicSession.java

Core symbols most depended-on inside this repo

log
called by 255
sonic-android/sdk/src/main/java/com/tencent/sonic/sdk/SonicUtils.java
getInstance
called by 64
sonic-android/sdk/src/main/java/com/tencent/sonic/sdk/SonicEngine.java
getRuntime
called by 41
sonic-android/sdk/src/main/java/com/tencent/sonic/sdk/SonicEngine.java
shouldLog
called by 40
sonic-android/sdk/src/main/java/com/tencent/sonic/sdk/SonicUtils.java
getResponseHeaderField
called by 35
sonic-android/sdk/src/main/java/com/tencent/sonic/sdk/SonicServer.java
getSHA1
called by 29
sonic-android/sdk/src/main/java/com/tencent/sonic/sdk/SonicUtils.java
equals
called by 28
sonic-android/sdk/src/main/java/com/tencent/sonic/sdk/SonicSessionConfig.java
replace
called by 25
sonic-java/src/main/java/com/github/tencent/ReplaceCallBack.java

Shape

Method 526
Class 65
Function 38
Interface 8

Languages

Java92%
TypeScript8%

Modules by API surface

sonic-android/sdk/src/main/java/com/tencent/sonic/sdk/SonicSession.java57 symbols
sonic-android/sdk/src/main/java/com/tencent/sonic/sdk/SonicUtils.java27 symbols
sonic-android/sdk/src/main/java/com/tencent/sonic/sdk/download/SonicDownloadClient.java26 symbols
sonic-android/sdk/src/main/java/com/tencent/sonic/sdk/SonicSessionConnection.java25 symbols
sonic-android/sdk/src/main/java/com/tencent/sonic/sdk/SonicSessionCallback.java24 symbols
sonic-android/sdk/src/main/java/com/tencent/sonic/sdk/SonicRuntime.java24 symbols
sonic-android/sdk/src/main/java/com/tencent/sonic/sdk/SonicSessionConfig.java22 symbols
sonic-android/sdk/src/main/java/com/tencent/sonic/sdk/SonicFileUtils.java21 symbols
sonic-android/sdk/src/main/java/com/tencent/sonic/sdk/SonicEngine.java19 symbols
sonic-android/sdk/src/main/java/com/tencent/sonic/sdk/QuickSonicSession.java19 symbols
sonic-android/sdk/src/main/java/com/tencent/sonic/sdk/SonicServer.java18 symbols
sonic-android/sample/src/main/java/com/tencent/sonic/demo/UrlListAdapter.java18 symbols

Dependencies from manifests, versioned

cheerio1.0.0-rc.2 · 1×
cross-env5.1.3 · 1×
gulp3.9.1 · 1×
gulp-ejs2js0.0.1 · 1×
gulp-sequence0.4.6 · 1×
gulp-util3.0.8 · 1×
koa2.2.0 · 1×
koa-is-json1.0.0 · 1×
koa-router7.1.0 · 1×
nextlatest · 1×
next-redux-wrapper1.3.5 · 1×
normalize.css7.0.0 · 1×

For agents

$ claude mcp add VasSonic \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact