#typescript#animation#gesture#javascript#react_native
React Native Reanimated 4 lets you create smooth, high-performance animations in your mobile apps using a simple, web-like approach—now supporting CSS animations and transitions, so you can use familiar syntax and write less code for complex effects[1][2][4]. It only works with the latest React Native architecture, so you’ll need to update if you’re still on the old system, but this ensures better performance and future compatibility. Detailed docs and example apps help you get started quickly, and the library is well-supported by the community and major companies. This means you can build visually impressive, responsive apps faster and with less hassle, just like on the web[1][2][4].
https://github.com/software-mansion/react-native-reanimated
🚀 Вышел стабильный JavaScript движок от Google для Android
Новая стабильная библиотека Jetpack JavaScript Engine позволит разработчикам выполнять JS код в изолированной и ограниченной среде.
class MainActivity : ComponentActivity() {
// Теперь nullable, без lateinit
private var jsSandbox: JavaScriptSandbox? = null
private var jsIsolate: JavaScriptIsolate? = null
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
if (!JavaScriptSandbox.isSupported()) {
Log.e("JS", "JavaScriptSandbox не поддерживается")
return
}
lifecycleScope.launch {
// Создаём и сохраняем в nullable-поле
jsSandbox = JavaScriptSandbox
.createConnectedInstanceAsync(applicationContext)
.await()
jsIsolate = jsSandbox?.createIsolate()
// При выполнении гарантируем, что jsIsolate != null
val result: String = jsIsolate
?.evaluateJavaScriptAsync(JS_SCRIPT_SCRING)
?.await()
?: "Ошибка: isolate не инициализирован"
Log.d("JS", "Результат выполнения: $result")
}
}
override fun onDestroy() {
super.onDestroy()
// Закрываем только если не null
jsIsolate?.close()
jsSandbox?.close()
}
}
#jetpack#js