#typescript#design#docs#gatsby#handbook#posthog#tailwindcss
PostHog.com is the website and code repository for PostHog, an open-source product analytics platform that helps you track user behavior, test new features, and improve your product all in one place. You can run the website locally by installing Node and Yarn, cloning the repo, and starting the development server. The site includes product docs, blogs, tutorials, and tools like job listings and pricing calculators. This setup lets you customize and contribute to the site easily, making it useful if you want to understand or improve PostHog’s platform or help develop its content and features. It supports collaboration and learning for developers and product teams.
https://github.com/PostHog/posthog.com
🚀 Вышел стабильный 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