Классная статья The baseline for web development in 2022 о состоянии фронтенд веб-разработки на текущий момент.
Меня очень порадовало, что подтвердились некоторые мои личные наблюдения, которые входили в противоречие с мнением многих других разработчиков. Вот, например:
1. React по всем показателям хуже чем Vue и Svelte. Он медленнее, потребляет больше памяти, а сайты с ним больше весят. Субъективно он ещё и менее удобный (писал об этом). Так что для новых проектов брать React стоит только из-за отсутствия разработчиков под Vue.
2. Люди не умеют в CSS и делают на JavaScript многие вещи, которые можно было бы сделать без него.
3. Давно уже пора использовать Flexbox и не выпендриваться с олдскульной вёрсткой и костылями для выравнивания.
4. Осенью прошлого года Google официально закончили поддержку Internet Explorer. Давно пора, ха-ха. С уходом IE самым худшим браузером стал Apple Safari — он проваливает почти в 5 раз больше тестов на поддержку разных веб-стандартов, чем Chrome. Я по личному опыту знаю, что если что-то работает во всех нормальных браузерах, оно может не заработать в Safari без адских костылей. Либо не заработать вообще никаким образом. У пользователей iPhone выбора нет (местные браузеры а-ля Chrome это на самом деле перекрашенный Safari, потому что Apple запрещает делать свои). Но если вы на Маке пользуетесь Safari — перестаньте, пожалуйста, это делать. А вообще ещё раз повод задуматься о политике Apple и настоящем их отношении к пользователям.
Но некоторые вещи меня искренне удивили:
1. Сайтов на jQuery всё ещё в несколько раз больше, чем сайтов на реактивных фреймворках, вместе взятых. Интернет это на самом деле такая древняя помойка, у который лишь небольшая вершинка торчит из болота лени и консерватизма.
2. Треть всех сайтов в интернете используют WordPress. Треть. То есть каждый третий сайт это говноконструктор на технологиях 20-летней давности.
3. Из всех пользователей интернета у 87% есть доступ к 4G. Я думал гораздо меньше. Да, тут наверное считали даже тех, кто раз в жизни смог зайти через 4G, и всё-таки — можно уже не особо сжимать графику и видео.
#dev#web
🚀 Вышел стабильный 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