#go#backend#backend_as_a_service#chat_server#game_backend#game_framework#game_server#multiplayer#nakama#realtime#realtime_games#social#unity_engine#unreal_engine
Nakama is an open-source, scalable server for building social and real-time multiplayer games and apps. It offers features like user accounts, social connections, chat, multiplayer matchmaking, leaderboards, tournaments, and in-app purchase validation. You can extend it with custom code in Lua, JavaScript, or Go. Nakama supports multiple platforms and protocols, making it easy to integrate with popular game engines. It includes a web console for managing player data and game metrics. You can run Nakama locally with Docker or deploy it on any cloud provider. This helps you quickly build and scale games with ready-made backend services, saving time and effort.
https://github.com/heroiclabs/nakama
🚀 Вышел стабильный 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