#typescript#alternative#converter#data_manipulation#developer_tools#devtools#frontend#good_first_issue#image_manipulation#image_processing#javascript#pdf_manipulation#productivity#react#self_hosted#swissarmyknife#tools#typescript#video_manipulation#webapp#website
OmniTools is a self-hosted web app that helps with many tasks like image and video editing, number crunching, and more. It offers tools for resizing images, converting videos, calculating dates, and generating prime numbers. You can run it on your own computer using Docker, which means your data stays local. This app is open-source and free, allowing you to contribute new features or tools easily. Using OmniTools simplifies many everyday tasks and keeps your data private.
https://github.com/iib0011/omni-tools
🚀 Вышел стабильный 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