# tencent/vassonic

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/tencent-vassonic).**

11,860 stars · 1,613 forks · Java · NOASSERTION

## Links

- GitHub: https://github.com/Tencent/VasSonic
- awesome-repositories: https://awesome-repositories.com/repository/tencent-vassonic.md

## Topics

`android-sdk` `h5` `hybrid` `ios-sdk` `web` `webview`

## Description

VasSonic is a hybrid mobile app framework for Android and iOS designed to optimize the loading speed of web views. It functions as a web view performance optimizer and a mobile web resource cache, utilizing an HTML differential update engine to minimize remote network fetches and reduce first-screen load times.

The framework distinguishes itself by splitting HTML into static templates and dynamic data, calculating differences between server state and cached content to send only modified fragments. It employs a native-to-JavaScript bridge to sync these server-side data updates directly into the mobile web view and refresh specific DOM elements without a full page reload.

The system covers a broad capability surface including web view network interception, pre-emptive resource loading, and the management of local caches for static and dynamic web assets. It also provides tools for injecting custom request metadata and integrating native-web bridges to control page loading.

## Tags

### Web Development

- [Differential HTML Updating](https://awesome-repositories.com/f/web-development/differential-html-updating.md) — Provides an HTML differential update engine that sends only modified data blocks to minimize network fetches.
- [HTML Differential Update Engines](https://awesome-repositories.com/f/web-development/html-differential-update-engines.md) — Implements an engine that splits HTML into templates and dynamic data to send only modified fragments.
- [Incremental HTML Refreshing](https://awesome-repositories.com/f/web-development/api-management-tools/content-static-site-generation/incremental-content-updates/incremental-html-refreshing.md) — Splits HTML into templates and data to update only the changed content, minimizing data transfer. ([source](https://github.com/tencent/vassonic#readme))
- [Content Caching Accelerators](https://awesome-repositories.com/f/web-development/content-caching-accelerators.md) — Uses custom network requests and specialized caching to accelerate the loading speed of web views. ([source](https://github.com/Tencent/VasSonic/blob/master/sonic-iOS/README.md))
- [Web Caching](https://awesome-repositories.com/f/web-development/data-fetching-caching/web-caching.md) — Intercepts network requests within a web view to serve local cached data and minimize remote fetches. ([source](https://github.com/Tencent/VasSonic/blob/master/sonic-android/README.md))
- [HTTP Resource Caching](https://awesome-repositories.com/f/web-development/data-fetching-caching/web-caching/http-resource-caching.md) — Intercepts network requests within the web view to serve local cached HTTP resources and reduce remote fetches.
- [Differential Page Update Generation](https://awesome-repositories.com/f/web-development/differential-page-update-generation.md) — Produces a diff of the current server page state and delivers only changed content to reduce total load times. ([source](https://github.com/Tencent/VasSonic/blob/master/sonic-php/README.md))
- [Embedded Web Views](https://awesome-repositories.com/f/web-development/embedded-web-views.md) — Integrates embedded web views into native applications to manage page loading and network resource interception. ([source](https://github.com/Tencent/VasSonic/blob/master/sonic-android/README.md))
- [Web Asset Caching Frameworks](https://awesome-repositories.com/f/web-development/frontend-development-tools/web-asset-management-tools/web-asset-caching-frameworks.md) — Manages local storage and request strategies to ensure fast delivery of static and dynamic web assets.
- [HTML Difference Calculation](https://awesome-repositories.com/f/web-development/html-difference-calculation.md) — Tags data blocks on the server and compares them to cached versions to identify and send only modified content. ([source](https://github.com/Tencent/VasSonic/blob/master/sonic-nodejs/README.md))
- [Hybrid Mobile Frameworks](https://awesome-repositories.com/f/web-development/hybrid-mobile-frameworks.md) — Provides a cross-platform framework for optimizing web view performance in hybrid mobile applications.
- [Incremental Page Rendering](https://awesome-repositories.com/f/web-development/incremental-page-rendering.md) — Provides a mechanism to refresh specific page elements via differential updates, avoiding full page reloads.
- [Initial Page Load Optimizations](https://awesome-repositories.com/f/web-development/performance-optimizations/initial-page-load-optimizations.md) — Decreases time-to-first-screen by requesting resources in advance or in parallel with view initialization. ([source](https://github.com/tencent/vassonic#readme))
- [Template Data Binding](https://awesome-repositories.com/f/web-development/template-data-binding.md) — Splits HTML into static templates and dynamic data to minimize content transfer during updates.
- [Web-Native Integration Bridges](https://awesome-repositories.com/f/web-development/web-native-integration-bridges.md) — Provides an interface that allows web content to communicate with and be controlled by the native host environment.
- [Web Performance Optimization Tools](https://awesome-repositories.com/f/web-development/web-performance-optimization-tools.md) — Utilizes network interception and caching to reduce first-screen load times and improve web view speed.
- [WebView Interception](https://awesome-repositories.com/f/web-development/request-interception-middleware/webview-interception.md) — Intercepts web view network requests to serve cached assets and inject custom session metadata.
- [Web State Synchronization](https://awesome-repositories.com/f/web-development/web-state-synchronization.md) — Fetches differential data and passes the results back to the page using JavaScript callbacks to keep content current. ([source](https://github.com/Tencent/VasSonic/blob/master/sonic-iOS/README.md))

### Part of an Awesome List

- [Web & Hybrid](https://awesome-repositories.com/f/awesome-lists/media/web-hybrid.md) — Combines static, dynamic, and offline web resources to create a native-like user experience in a hybrid app. ([source](https://github.com/tencent/vassonic#readme))
- [Pre-emptive](https://awesome-repositories.com/f/awesome-lists/devtools/resource-loading/pre-emptive.md) — Requests web resources in parallel with view initialization to reduce the time until the first screen appears.

### Mobile Development

- [Native Bridge State Synchronization](https://awesome-repositories.com/f/mobile-development/native-bridge-state-synchronization.md) — Synchronizes state between the native mobile layer and the web view via JavaScript callbacks to refresh DOM elements.

### User Interface & Experience

- [Partial Page Refreshers](https://awesome-repositories.com/f/user-interface-experience/partial-page-refreshers.md) — Updates specific page elements using cached difference data without triggering a full browser reload. ([source](https://github.com/Tencent/VasSonic/blob/master/sonic-nodejs/README.md))
- [JavaScript Execution Bridges](https://awesome-repositories.com/f/user-interface-experience/javascript-execution-bridges.md) — Provides a bridge to execute JavaScript callbacks and sync server-side data directly into the web view.

### Data & Databases

- [Client-Side Incremental State Updates](https://awesome-repositories.com/f/data-databases/data-modification-apis/incremental-syncing/incremental-update-configurations/client-side-incremental-state-updates.md) — Receives incremental data updates and modifies the application state without reloading the entire page. ([source](https://github.com/Tencent/VasSonic/blob/master/sonic-react/README.md))

### Software Engineering & Architecture

- [Hybrid Web Resource Layers](https://awesome-repositories.com/f/software-engineering-architecture/network-layer-architectures/hybrid-web-resource-layers.md) — Implements a specialized network layer with request metadata injection to optimize the retrieval of hybrid web resources.
