Valdi - кроссплатформенный UI фреймворк от Snap
Valdi — это кроссплатформенный UI фреймворк, обеспечивающий нативную производительность без ущерба для скорости разработки. Один раз напишите свой пользовательский интерфейс на декларативном TypeScript, и он сразу же скомпилируется в нативные (Kotlin, Objective-C и Swift ) представления на iOS, Android и macOS — без веб-представлений и JavaScript-бриджей.
Пример:
import { Component } from 'valdi_core/src/Component';
class HelloWorld extends Component {
onRender() {
const message = 'Hello World! 👻';
;
}
}
Настоящая нативная производительность
В отличие от фреймворков, использующих веб-представления или JavaScript-мосты, Valdi компилирует декларативно отрисованные компоненты TypeScript в платформенно-зависимые представления. Valdi также обладает рядом других преимуществ в плане производительности:
• Автоматическое переиспользование представлений — глобальная система пула представлений повторно использует нативные представления на всех экранах, значительно сокращая задержки.
• Оптимизированный рендеринг компонентов — компоненты перерисовываются независимо, не запуская повторную визуализацию родительских элементов, что обеспечивает быстрые инкрементальные обновления.
• Оптимизированный движок компоновки — движок компоновки C++ работает в основном потоке с минимальными затратами на преобразование данных из одного представления в другое.
• Рендеринг с учётом области просмотра — он выполняется только видимых представлений, что делает бесконечную прокрутку производительной по умолчанию.
Valdi широко используется в приложениях Snap уже 8 лет. В компании называют это бета-версией, поскольку инструменты и документация требуют более тщательного тестирования в среде открытого исходного кода. Valdi выйдет из стадии бета-тестирования, когда в компании будут довольны опытом разработчиков.
Valdi на GitHub: https://github.com/Snapchat/Valdi
Платформа: кроссплатформа
⭐️: 4K
Valdi — это кроссплатформенный UI фреймворк, обеспечивающий нативную производительность без ущерба для скорости разработки. Один раз напишите свой пользовательский интерфейс на декларативном TypeScript, и он сразу же скомпилируется в нативные (Kotlin, Objective-C и Swift ) представления на iOS, Android и macOS — без веб-представлений и JavaScript-бриджей.
Пример:
import { Component } from 'valdi_core/src/Component';
class HelloWorld extends Component {
onRender() {
const message = 'Hello World! 👻';
;
}
}
Настоящая нативная производительность
В отличие от фреймворков, использующих веб-представления или JavaScript-мосты, Valdi компилирует декларативно отрисованные компоненты TypeScript в платформенно-зависимые представления. Valdi также обладает рядом других преимуществ в плане производительности:
• Автоматическое переиспользование представлений — глобальная система пула представлений повторно использует нативные представления на всех экранах, значительно сокращая задержки.
• Оптимизированный рендеринг компонентов — компоненты перерисовываются независимо, не запуская повторную визуализацию родительских элементов, что обеспечивает быстрые инкрементальные обновления.
• Оптимизированный движок компоновки — движок компоновки C++ работает в основном потоке с минимальными затратами на преобразование данных из одного представления в другое.
• Рендеринг с учётом области просмотра — он выполняется только видимых представлений, что делает бесконечную прокрутку производительной по умолчанию.
Valdi широко используется в приложениях Snap уже 8 лет. В компании называют это бета-версией, поскольку инструменты и документация требуют более тщательного тестирования в среде открытого исходного кода. Valdi выйдет из стадии бета-тестирования, когда в компании будут довольны опытом разработчиков.
Valdi на GitHub: https://github.com/Snapchat/Valdi
Платформа: кроссплатформа
⭐️: 4K