VasSonic README

The project's README from github.com/Tencent/VasSonic. As one markdown file: README.md.

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

  2. Read the following source code
    Android source code
    iOS source code
    Java source code Node.js source code
    PHP source code
    React source code

  3. Read the wiki for help.

  4. 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 ~

VasSonic (Tencent/VasSonic)

Searching Database…

11.8K ·GitHub
Что это такое?VasSonic (короче — Sonic) — это лёгкий высокопроизводительный гибридный фреймворк от команды VAS в Tencent, который ускоряет первую загрузку экрана (first screen) сайтов, открываемых в гибридных приложениях на Android и iOS.
Это что-то, что я добавляю в своё приложение, или оно работает на сервере?И то и другое: это клиентский фреймворк для вашего WebView-приложения на Android или iOS, и он работает в связке с сервером, который следует спецификации VasSonic — руководства по началу работы есть для Android, iOS, Java, Node.js, PHP и React.
Как добавить его в своё приложение?Следуйте руководству по началу работы для своей платформы — Android или iOS на клиенте, Java, Node.js, PHP или React на стороне сервера — и попробуйте скачиваемые демо-приложения для Android и iOS.
Нужно ли менять мой сайт на стороне сервера, чтобы VasSonic работал?Да — ускорение основано на умном кэшировании, которое работает только тогда, когда и клиент, и сервер следуют спецификации VasSonic, так что существующему сайту потребуется некоторое взаимодействие на стороне сервера.
А с офлайн-ресурсами он тоже работает?Да — помимо статических и динамических сайтов, где страницу формирует сервер, VasSonic полностью совместим с офлайн-ресурсами веба.
За счёт чего VasSonic ускоряет первую загрузку экрана?Вместо обычного сетевого соединения используется собственное URL-соединение, поэтому запрос HTML запускается заранее или параллельно с инициализацией интерфейса, а не после неё. Затем ядро WebKit или Blink отрисовывает данные частями по мере их поступления, не дожидаясь полного ответа.
Как устроено кэширование?Страницы вставляют комментарии-якоря, которые разбивают HTML на шаблон — большую часть, которая остаётся неизменной или меняется редко, — и данные, небольшую часть, которая меняется постоянно. Клиент и сервер обновляют эти две части инкрементально, поэтому запрашивается заметно меньше данных, и страницы ощущаются ближе к нативному приложению.
Какого улучшения можно ожидать?В README утверждается, что пользовательский опыт становится заметно лучше, а кликабельность, удержание пользователей и другие показатели растут; там же есть картинки «до/после», сравнивающие обычный режим с режимом VasSonic.
Creator
Tencent
Size
15.8 MB
Stars
11.8K
Age
9y
Commits · 90 Days