#typescript#editor#frontend#game_development#game_engine#gamedev#nodejs#playcanvas#typescript#ui
The PlayCanvas Editor is a powerful, browser-based tool for creating 3D WebGL, WebGPU, and WebXR apps with real-time collaboration, live editing, and no compile time, letting you build and test projects quickly on any device. It supports advanced graphics features like glTF 2.0, clustered lighting, and WebXR for AR/VR experiences. You can also set up a local development environment to customize or extend the editor using open-source libraries. This means you can develop interactive 3D content faster, collaborate easily, and test directly on mobile or desktop, improving your workflow and project quality[1][2][3][4].
https://github.com/playcanvas/editor
🚀 Вышел стабильный 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