0: Че, погнали, как говорится, с Богом я даже, наверное, вступление записывать не буду, потому что я тебя просто представлю, ребят, с нами Николай готти софтвер инженер, но теперь уже, как он сам сказал, руководитель маленькой скромной группы разработчиков на 50 человек. Приблизительно. Правильно я сказал? Ну да, ну.
1: Учитывая специфику, так сказать, проекта людей и компании 50 человек действительно мало. Ну, давай я, ну, все, мы знаем, зачем мы сегодня собрались тут, как говорится, и вы тоже знаете, вы привью, уже видели.
2: Прежде чем мы перейдём вот непосредственно huawei к arc и так далее, давай чуть чуть про тебя вот поговорим, мне очень интересно узнать, потому что последний раз, когда мы с тобой общались, видео сейчас появится, мы разговаривали про композ мультиплатформ, и ты работал, соответственно, в jetbrains.
3: Скажи, вот когда ты, ну, в каком году ты, получается, ушёл из джет брейнса? Ну, это не я ушёл от джетбрейнса. Джетбрейнс ушёл от меня. То есть, ну, год, понятно. 22 месяц, наверное, вы тоже все не без труда угадаете. Ну, понятно.
4: Вот, поэтому, да, в какой-то момент бренс решил прекратить операции в России. Я решил не прекращать свои операции в России. Вот. Поэтому, соответственно, с большей, надеюсь, лучшей частью команды композ мультиплатформ мы пришли в
5: И поначалу, я так понимаю, они толком не понимали, зачем они нас взяли. Вот поэтому мы 1 год в режиме свободного такого ресерча делали.
6: Фреймворк, так сказать, нашей мечты. Слушай, то есть вот это сейчас для меня неожиданно было. То есть, получается, вы сами, ну, там, в составе группы прям пришли. Да, да, да, я привёл группу, да, нифига себе, я думал, ты почему-то, что ты 1 ушёл, то есть там, получается ещё куча других.
7: Нет, там как бы от компост платформ более чем уполовинился, как бы, в, ну, собственно, в соответствующий момент времени. А вот чисто технически мне интересен процесс. То есть вот тут приходишь, да, пишешь им письмо, там, уважаемые дорогие хуавеи, там, во
8: Давайте мы с вами как-нибудь поработаем. А дальше как это собеседование было или как это происходило? Ну просто не часто встретишь, когда прям группа разработчиков реально вот так переходит с 1 места в другое. Ну, в моём случае это было достаточно просто потому что, опять же, я, кроме композ,
9: Платформы, ещё kotlin native делал, и как бы Котлин нейтив к тому моменту уже как технология достиг достаточного, как бы, достаточной инерции. Вот, чтобы, ну, люди в huawei понимали, что я в принципе способен там.
10: Сделать нечто, ну, жизнеспособное большое и, видимо, ну, вот как как-то, ну, короче, это лучшее портфолио было по репутационным причинам, да, ну и как бы, компот мультиплат к тому времени тоже уже, в общем, достаточно хорошо существовал, чтобы опять же было понятно.
11: Что, ну, как бы, какие-то такого рода вещи я сделать способен. Ну, я и команда, естественно. То есть, как это обычно бывает, я всегда предпочитаю, да, как бы, ну, по честному описывать ситуацию, а ситуация, что, ну,
12: Все большие проекты на самом деле делают команды. То есть сейчас, сейчас уже то время, когда люди, ну, 1 человек не делает большой проект. Окей. Но изначально они, получается, не брали, как бы, вот команду на ui фреймворк. То есть они просто взяли, как вот, ну, типа, вот.
13: Просто толковых нет, они взяли команду на ui фреймворк, но как бы не на продуктовый юай фреймворк, а на технически вот организация, в которой я работаю, она называется ресерч инститьюшен.
14: То есть, то есть, формально это нии, и, соответственно, как нии, в принципе, цель любого нии все-таки, прежде всего, делать передовые исследования и некоторые такие решения, которые потом, потом продуктирую ся. Вот, и поэтому у нас, в принцип,
15: Взяли на то, что мы достаточно хорошо понимали как бы такую вот нечасто понимаемую связку юая языка, языка, программирования, рантайма и как
16: Стоящих за это некоторых таких математических вычислительных концепций. Окей, а такое не жалко было оставлять композ мультиформ. Все-таки столько усилий вложено. Ну, как сказать, в моей жизни было много проектов.
17: И, как, как обычно, как обычно бывает, ну, переход к чему-то следующему, в общем, уже не вызывает уж такого такого особого, особо драматических чувств, тем более когда кругом происходили гораздо более драматические.
18: События это точно, да, перед тем как перейдём дальше к видео, у меня вышел авторский курс, я не буду, наверное, прям вот супер его рекламировать. Просто знаете, что если вы, если у вас были проблемы с тем, что вы сидели такие, блин, как
19: Стать сеньором. Че делать, че учить, куда идти и так далее. То я саккумулировал все знания, которые есть у меня за всю жизнь разработчика, да, там 13 лет буквально. И поместил их, собственно, в этот курс, который как раз-таки направлен на то, чтобы апнуть вас от там джуниор плюс.
20: Да, middle тире до сеньора. То есть как раз-таки вот все необходимые знания, все, что мне понадобилось в работе, все, что обычно у меня задают на консультациях и так далее. Все собрано в этом курсе. Сам курс остаётся с вами раз и навсегда. То есть вы его покупаете, он остаётся с вами, то есть я не закры.
21: Доступов ещё чего-то там суммарно больше, чем 30 часов материала. То есть это лекции, это практики, это самопроверки, тесты, да, ссылки на документации, причём ссылки на исходники, в том числе, которые сложно найти
22: То есть, которые прям надо вот выковыривать, да, то есть все это собрано в 1 материале, который вместе и практики, и теории, чтобы вам было удобно и с моей подачей. Соответственно, там 5 глав суммарно. В этом курсе. 1 глава посвящена собственно, структуре самого андроид.
23: Да, то есть платформе, как все устроено внутри, как работает отрисовка графики, там, операционная система, компиляция и так далее. Такие вот супер хордовые навыки 2 главе. Соответственно, у меня все, что по архитектуре, то есть весь мой опыт сектора за, там
24: Последние лет 6, наверное, я туда поместил. 3 глава посвящена гредл. То есть градл вообще в андроиде это самая главная проблема, с моей точки зрения. Поэтому там вот как раз по гредл у меня все материалы, да, там, и как делать, и сиайсиди настраивать свои, писать бом, артефакты, все это
25: Есть 4 глава, посвящена в основном компоузу, но там есть ещё немножко смеля. То есть это юайный. И как performance за перфомансом, следить всякие фишки лайфхаки, как это работает внутри, как сделать производительные приложения анимации. Ну, в общем,
26: Все, что нужно. И 5 глава это как расти в компании, как ставить свои требования, как управлять другими людьми, как вами люди управляют, да, то есть это все тоже внутри. Есть сам по себе курс можно купить из России, из за рубежа. То есть это вообще никаких проблем. Есть дв.
27: Версии с чатом и без чата. Соответственно, в чате вы можете задавать дополнительные вопросы по курсу без чата. Ну просто вот все материалы, которые остаются с вами, плюс к этому курсу ещё выйдет там несколько бесплатных дополнений можно купить компанию. То есть у нас для организации есть специальный блок.
28: Пожалуйста, оформляйте. У нас есть типовой договор, мы можем все сделать и провести через организацию. Можно даже закупки рассмотреть, то есть массово, допустим, на отдел. Это может быть, соответственно, со скидкой проходите по ссылке, соответственно, покупайте, если вдруг вы смотрите это
29: Вот, не знаю, очень близко к апрелю 2025 года, то можете заходить на бусти, там, как правило, есть скидки и промокоды, которые делают этот курс ещё дешевле. Ну и с моей точки зрения, вот это все, это весь огромный материал, который я делал больше года. То есть это, ну, реально огромный
30: Материал получаете всего за 85000. То есть, с моей точки зрения, это адекватная цена, потому что, ну, материала реально много. Во первых, и мне просто жалко было бы его отдавать дешевле. И, во вторых, люди, как правило, которые работают там на медле, они получают гораздо
31: Больше вы эту зарплату отобьёте, там вы эти расходы отобьёте буквально с 1 же зарплаты от повышения которое у вас, я думаю состоится достаточно скоро после его прохождения вот собственно проходите по ссылочке либо вот вы видите QR-код на экране, ну а мы возвращаем.
32: К видео. Ну окей, давай тогда я про джетбрейнс ещё поспрашиваю попозже, но давай перейдём к huawei. Начну вот с самого волнующего то, что меня вообще все спросили, почему, типа?
33: Не, Котлин, то есть почему, учитывая, что там же вот сама хармани эс, да, для справки хармани, харман, эс некст, это, ну, разные операционные системы, я правильно, да, говорю? То есть прям, прям принципиально разные имею ввиду, вот
34: Kharma ньюс, она такая, джим была Бейс и harman. Н. Кстати, честно говоря, не знаю там, на каких она сделана основах. Вот почему не Котлин был взят. То есть он же опенсорсный, его можно было там, не знаю, форкнуть как-то использовать и так далее. Тем более опыт есть. Ну.
35: В этом смысле я достаточно хорошо понимаю позицию huawei позиция, в общем, состоит в том, что называется технологический суверенитет, вот, и она состоит в том, что, в принципе чаще всего
36: Форки, они, ну, слабо развиваемы, они как бы, могут только, ну, в каком смысле расти на, в тени, так сказать, форкаем. Вот, а при наличии ситуации, когда
37: Опять же, в геополитике, то есть сейчас странным образом, ну вот мир системного по достаточно тесно привязан к геополитической ситуации. То есть это, ну, это такие вещи, это как фундаментальные исследования, по сути. И вот такая смесь фундаментальных исследований к чему-то, что чем
38: Миллиарды людей каждый день пользуются, поэтому, поэтому, в принципе, наличие здесь полного стека компетенции это вещь достаточно достаточно критическая. И я поэтому достаточно хорошо понимаю желание и разделяю, и
39: И, собственно, соучаствую в понимании, что необходимо создавать в достаточной мере суверенный стек, начиная от микросхем, микросхемы, ядро графические.
40: Соответственно, исполняющее окружение, то есть виртуальная машина, язык программирования, вот ui фреймворк. Угу. Соответственно. Ну вот, ну, вот это все вместе. Ну, у меня тогда, здесь у меня вопрос. То есть, я, я не имел ввиду, что Котлин прям сразу надо порхать, я к тому
41: Ну, в случае чего, ну просто джаваскрипт же это тоже, ну, как сказать, не хуавеевская, да, не хуавейские, изобретение, в вот, собственно, в хармоне с next не используется яваскрипт это, собственно, 1 из основных действий, которые мы сейчас совершаем.
42: Так, давай тогда углубляться, потому что я был в абсолютной уверенности, что типа ну, ark ттс это какая-то там специфическая версия тайпскрипта, которая, в свою очередь, специфическая версия java я открою великую тайну на самом деле арк ттс это Котлин.
43: Ну, в том смысле, что это сильно типизированный, это современный, сильно типизированный язык приложений, исполняемый на статической виртуальной машине Джима, подобной, кстати, разработанной тоже в России, правда.
44: Не в петербурге, а в Москве. И командой, в общем, с нами очень тесно сотрудничающей. Вся эта история, она на самом деле по идеям, в определённом смысле с котлином не так уж и далеко ушла. То есть, то есть действительно язык
45: Синтаксический, имея тарк тест 1 2. Действительно, он имеет много сходства с степ скриптом, но я считаю, это вполне заслуженно. То есть вот я, как человек, долго работавший над котлином, хочу сказать, что
46: Ну, считаю, что считаю тайпскрипт в принципе, языком гениальным по, по многим причинам, даже не только как бы, как язык, но и вот как, например, по своему инструментарию. То есть, то есть, например, компилятор языка, тайпскрипт, это в определённом смысле шедевр. То есть, ну, это
47: По крайней мере, гораздо лучше компилятор, чем, например, комплятор на мой вкус. Ну просто если это отличается я, почему у меня такое ощущение возникло, потому что я пописал, я подготовился, там промисы, там вот лямбды также пишутся, там нету интеджер, там есть number.
48: Ну, как в java скрипте, собственно, и ещё много, много, много элементов, которые вот, ну, джаваскрипт есть уже у меня, почему-то я описал, мне, говорит, сейчас происходит очень интересное свойство, это, ну, вот это грубо.
49: Говоря, под домом меняется, меняется фундамент, то есть сейчас в принципе происходит изменение стыка как бы с gs машины тайп скриптового компилятора компилирующего.
50: Джс и соответствующего фреймворка сейчас с сохранением примерно тех же внешних интерфейсов под, ну, под капотом там происходят, ну, грандиознейшие изменения. Ну то есть, вот этот, в 8, по моему, да, он движок называется google.
51: Которая обработка в 8 там не используется, в 8 армани не используется, в 8 использовался некоторое время. Сейчас там используется то, что называется ханжоу вим. То есть, ну, это тоже такая некоторая
52: Виртуальная виртуальная машина java script, не очень высокопроизводительная, интерпретируемая вот и в целом не слишком не слишком блестящая в смысле производительности вот и то, что сейчас мы, собственно, меняем, мы меняем это на
53: На высокопроизводительную виртуальную машину с конкарренси моделью, как у явы. Вот, но немножко с другим инстракшн сетом. Угу. Угу. Ну, давай тогда немножечко в ui вот эту всю историю углубимся. Тоже очень мне интересно.
54: Потому что, ну вот насколько я ковырялся в исходниках, там в том числе композ мультиплатформа, да, там есть типа канвас, который экша экспект, он, типа, там есть андроид, канвас, нейтив, канвас, ещё какие-то канвасы, насколько я помню. И если я правильно помню, то суть композ мультиплатформ, что ты как бы
55: Доступ к канвасу. У тебя есть возможность рисовать примитивы, да, языком, там, ну, либо металл, если мы говорим про ios, либо там, ну, сейчас уже везде вулкан, тогда ещё опен джиэль, в принципе, был, но в целом, то есть, вот эта часть подкапотная, она вот, ну, используется платформенная.
56: Правильно понимаю? Так, да? Ну, смотри, это, ну, не совсем Канус технически. Это андроид графикс, если говорить про андроид, вот, который, по сути, является, ну, таким, такой завёрткой библиотеки ски, в принципе,
57: Вот, и для компоуза было достаточно критично. Ну, из за специфики того, как разрабатывался андроид, не иметь нативной части. То есть ему нужно было, чтобы, грубо говоря, программы на компоузе исполнялись на любом андроидном.
58: Вот. Угу. Это было не так для, уже для композ, мультиплатформ, потому что там мы сами шипили рантайм, и там, там была нативная часть, собственно, ну, кастомизированная с kia. Угу. Ну, в принципе, сама модель, что
59: Work находится в менедж коде и в принципе общается с платформой через библиотеку высокопроизводительной 2 д графики с аппаратным ускорением. Эта модель мне в принципе нравится, и я её
60: Пытаюсь воплощать в жизнь сейчас. Ну, я имел ввиду даже, наверное, не сам композ меня скорее интересует, а вот именно мультиплатформенная часть, то есть, за счёт чего мультиплатформенность обеспечивается, и как я дальше понял. Ну, то есть, была скика, да, это такие обёртки, которые мультиплатформенные, там, ну, я
61: Тоже как-то доклад делал, там работа с клавиатурой, работа с примитивами, работа с платформой и так далее. И вот уже через кика, соответственно, прокидываются конкретные композной, там вызовы, там, не знаю, нарисуй кнопку, условно говоря, не нарисуй кнопку, нарисуй прямоугольничек, нарисуй прямоугольничек. Да, да.
62: Вот, а как это работает в арке на данный момент в арке? Это на данный момент работает радикально другим образом. То есть, то есть это вот часть той эволюции.
63: Достаточно большой, которые мы делаем. То есть там существует нечто по устройству, ну, похожее немножко на, скажем, на браузерный движок. То есть это достаточно большая плюсовая библиотека, из которой торчит набор.
64: Набор примитивов. Вот, и из менедж мира мы общаемся с ней через, ну, грубо говоря, через интероп. То есть, то есть здесь интерфейс, который экспользуюсь внешним, ну, менедж мир, он
65: Действительно нарисуй кнопку вот как ты сказал и это 1 из вещей, которую мы сейчас в рамках вот большого большого архитектурного рефакторинга хотим немножко подкорректировать в какую сторону типа вот подкорректировать в сторону модели, похожей на compose.
66: Когда из из натива торчит ускоренная 2 д графика, а фреймворк находится в целом менедж мире. Угу. Просто вот если бы ситуация у нас была вот как, как она была до этого, когда была достаточно медленная, интерпретирующая джиэс машин,
67: То nu ней бы не хотелось, согласись, гонять фреймворк, вот это вот все просто по причине того, что это было все адски медленно. Ну, в авроре похожая история. То есть на данный момент там нет, ну, там уже портировали флаттер туда. Вот, наверное, когда это видео выйдет уже
68: Всем все равно будет известно, туда портировали композ с котлином. Вот. Но изначально по первости, как вот, ну, хорошая идея была, как запустить Котлин, хотя бы кмп, да, на авроре, когда там вообще ещё
69: Ничего не было, кроме кютта. Поднимали движок вебвью, который, ну, не имеется ввиду, не прям окно, да, а просто, типа движок. И в него просто передавали джис, сделанный через Котлин джис, и он там его уже обрабатывал и рисовал там, ну, ui.
70: Понятно все равно на q эмеле, который тоже это насколько понимаю, тоже джес какой-то версии, вот и получался такой джиэс бандл, который в view закидывался и он соответственно отображался по большому счёту да.
71: Хотелось бы сделать ещё 1 небольшое объявление ребят, у меня есть 2 канал, я его достаточно давно завёл, уже скоро, наверное, даже год будет, мы тут все время разговариваем с вами про рынок it, про технологии я решил исследовать, так сказать, откуда вообще появился этот рынок it.
72: Историю разных компаний, разных технологий, различных всяких конфликтов, различных, всяких удивительных, героических даже историй, он на очень широкую аудиторию. То есть вы можете показать его маме, папе, бабушке, дедушке, детям, я не знаю, друзьям, братьям, сёстрам любым
73: Людям, которым не имеют отношения к it, и они все поймут, и они, возможно станут лучше вас понимать и лучше с вами разговаривать на 1 языке. То есть они станут больше узнавать и врубаться вот в те термины, которые вы им говорите, там биткоины всякие, нфти валю.
74: Да, там эштитипиэс и прочие, прочие вещи, которые вы, скорее всего, ну, трудно объяснить маме. Да, вот, пожалуйста, можете скидывать этот канал и посмотрите тоже сами. Я очень надеюсь, что вам понравится. Мы действительно много работаем над тем, чтобы сделать там
75: Очень крутой материал, поэтому вот QR-код вот смотрите какие видео на экране, видите там разные интересные темы, переходите по ссылочке либо по QR-коду, либо по ссылке в описании, подписывайтесь на мой 2 канал информатика, буду ждать вас там.
76: Давай тогда вернёмся к мультиплатформенности то есть у нас есть вот эта история да, с нарисуй кнопку грубо говоря и как сейчас обеспечивается ну то есть я же правильно понимаю, что на арке можно и для android собрать приложение для ios ну по крайней мере я читал, что вроде такое есть.
77: Скажем так, мультиплатформенность, арка это вещь на текущий момент вещь в себе. То есть мы сейчас, у нас сейчас основной, ну то есть, на мой вкус, это не совсем пока мультиплатформа.
78: То есть, ну, технически она есть в какой-то форме, в форме того, что, грубо говоря, вот эта вот плюсовая библиотека, её с некоторыми ограничениями можно скомпилировать под, под ios и под андроид. Ну и, соответственно, ну, примерно тоже самое сделать, использовав
79: Jazz машину, либо, ну либо в 8 для исполнения, опять же, gs кода, либо, соответственно, там, jazz, кор для для эпла. Вот, но опять же, в том прекрасном
80: Новом мире, который мы строим. Соответственно, там, там будет использоваться, ну, своя виртуальная машина и история про мультиплатформенность, там, возможно, будет вообще сформулирована в других терминах, возможно, более близких к Котлин нейти, то есть
81: Из за того, что у этой виртуальной машины есть сильная типизация и есть хофтайм компилятор. Вот, то есть вполне возможный сценарий, что по крайней, ну, фреймворк, а возможные приложения будут, будут просто нативно компилироваться.
82: По целевую архитектуру сейчас, по моему, реак нейтив, кстати, похоже, каким-то таким путём идёт со своим. Это в принципе путь вполне естественный. И, ну, как бы я, как, видимо человек ещё в определённом смысле травмированный или, наоборот, нейтивом.
83: Вижу в этом определённые преимущества. То есть я, в принципе, очень люблю виртуальные машины, у них есть очень много преимуществ, но, но для, для системы дистрибуции приложений в некотором смысле приложение с полностью замкнутым миром.
84: Компилирована, ну, имеет свои большие преимущества, то есть время запуска, понятно, понятные, как бы, понятный граф зависимости. Вот. Ну, в общем, там есть свои преимущества, а как работают. Ну, то есть, в ios,
85: Довольно специфическая сборка мусора, да, она, по сути, там путём расставления точек, там, где собрал, где скопировал, да, вот эти все идёт во время компиляции, как приём, ну, как или планируется, может быть, приземлять. Вот вообще, кстати, я даже не знаю, какая сейчас Варк сборка.
86: Если честно, вот там трейсинг или там трассирующий коллектор, там, ну то есть и в джис машине трассирующий коллектор, а в новой виртуальной машине, собственно, она называется панда, в ней используется даже конкурентный сборщик мусора.
87: С алгоритмом Гарбач фест. Вот если ты сталкивался когда-то в дживах, это был такой популярный алгоритм сборщика, основанный на регионах, вот, вот там используется, там используется Гарбач фест на регионах, в смысле на поколениях имеется на реги.
88: То есть, смотри, ну типичный сборщик поколениям, это когда весь хип делится вот на, на части, на, там, ну, на 2 части янге и олден. Вот, а регион это ситуация, когда у тебя хип делится на несколько, как бы, ну, на несколько фрагментов и
89: И roll, как бы того, кто, кто из них сейчас играет роль. Ян, Гена или old Гена. Это, в общем, вариативно. Вот, и определяется, и определяется коллектором. Может, ну, v андроиде сейчас просто говорится про Бакет, вот эти
90: Которые складываются типа каждый из которых по моему к потоку привязан и вот может быть вот это имеется не не бакеты это это то что на языке джим называется тлап то есть thread local локейшн бафер скорее а это это регион.
91: Сути, ну как бы это просто, ну, как бы, идея с поколениями посмотрена чуть чуть чуть с другой стороны, но сейчас мы, мне кажется, если мы сейчас углубимся в разговоры про виртуальные машины, мы будем долго разговаривать, но возможно то не то, что от нас хотят, услышат
92: Не слушай, на самом деле, нас же, ну, разработчики смотрят, я не хочу делать какое-то, знаешь, там, супер хайповое видео, чтобы там лишь бы просмотров набрать. Мне очень интересно, как это реально. Ну, типа, ну, работает внутри. Ну, я понял. То есть, это суть в том, что у нас, как бы, просто становится больше zone облас.
93: Да, и за счёт этого мы тоже ускоряем сборку мусора. Вот я на самом деле хотел бы, может быть, рассказать как раз, что мы вот наресерчил за этот год, да, потому что возможно, что ребятам будет это тоже интересно всем. То есть, то есть, по сути, вот, ну, если кто
94: Программировал на композе и задумывался над тем, что на чем он на самом деле программирует, то, в принципе, ну, по крайней мере, мы вот об этом много рефлексировали, чем, собственно, является композ. То есть композ, по сути, является такой парадигмой.
95: Добавление как бы идеи из чисто функционального программирования в язык, где который не является чисто функциональным языком, и, собственно, да, механизм добавления инкрементальных перевычислений и довычислить опять же.
96: В язык, изначально для этого не приспособленный. Вот. И в принципе мы вот эту вот идею как бы довели до некоторого логического конца. То есть мы создали изначально, мы создали инкрементальное расширение для
97: Тайпскрипта, то есть оно было практически, ну, синтаксически, это синтаксически был тот же самый тайпскрипт, просто местами были расставлены аннотации, грубо говоря, и аналогично. Ну, изначально они были достаточно аналогичные.
98: Композ. Вот, но потом мы сделали ещё несколько шажков вперёд по отношению по отношению к композу. В частности, полностью запретили операцию изменения состояния внутри композа, функции. Вот сделали другую
99: Модель пере, перевычисления, перевычисления, частичного перевычисления композабельностью. Вот, и в принципе получился весьма неплохой и абсолютно не связанный с юаем. Что интересно, фреймворк для
100: Частичного перевычисления. Вот это вот то, что мы, ну, так достаточно достаточно долго бились. И, в общем, получилось, получилось весьма интересно. Потом мы спортировали этот фреймворк как раз вот на новый язык арк тест 1 дв.
101: И сейчас мы, в принципе, вот, ну, ну и, собственно, достаточно быстро применили, мы это со развивали. То есть вот этот вот инкрементальный инкрементальный движок и ю фреймворк, имеющий некоторое
102: Как бы структурное сходство с композом, но написанные изначально на тайпскрипте, поэтому ориентированные на тайпскриптов её фичи, то есть, ну вот, например, в композе типичный паттерн это иметь функцию с 1000000 параметров.
103: Сейчас даже не совсем так, как сейчас начали, вот даже в Котлин 2 0 ввели специальную, там-то ли ключевое слово, то ли специальную структуру, которая позволяет вот, типа мэтчить вот эти вот бесконечные параметры там в 1 какую-то банку. Да, да, да, мы, мы сразу же, естественно использовал
104: Литералы, объектные литералы для описания, для описания стилизации, ну и конструкцию паршел языка программирования, тайпскрипт, которая позволяет частично описывать, ну то есть
105: По любой, любой структуре, грубо говоря, можно, можно создать её интерфейс, где указаны только некоторые, некоторые значений, что, в общем, типичная потребность фреймворк такого рода. Вот, и, в принципе, у нас получилась весьма изящная весьма
106: Изящный исследовательский фреймворк, в котором было собственно инкрементальное вычисление. И, ну и, собственно, был настоящий фреймворк, он рендерился, ну, рендерится, в общем, поверх скии и, в общем, тоже изначально.
107: Был очень мультиплатформенный, потому что, ну уж что-то мультиплатформы мы умеем. Вот, значит, а потом мы это, эту работу показали китайским товарищам показали, в частности, реализацию
108: Аркая, вот, вот того я фреймворка, который, с которым, собственно, сейчас Вон харман присутствует поверх этого, этого фреймворка. То есть мы просто показали, что вот мы, мы можем, то есть мы можем, мы можем взять и сделать вот тот же самый язык на
109: Абсолютно других, так сказать, технологических принципов. Это, ну, произвело, видимо, определённый эффект. Вот. И сейчас мы, в общем, соучаствуем в таком большом проекте по структурной переработке.
110: Как бы оснований юая и собственно языка и системы исполнения такого совместного. Ну вот, собственно, Ровно то, что, например, то есть в терминах Котлина, это, соответственно, компиля.
111: Компилятор Котлина джвм и compose вот вот примерно вот эти вот и стандартная библиотека Котлина вот собственно вот все вот эти вот 4 кусочка сейчас переписываются со разрабатываются как бы.
112: В согласии с нашим представлением о прекрасном, о том, о том, собственно, как это, как это могло быть с учётом опыта Котлина, с учётом опыта тайпскрипта, с учётом опыта других Языков. Вот, то есть, в принципе происходит весьма
113: Такая интересная, интересная движуха. Вот. Окей, я бы все-таки хотел ещё довести вот этот до конца момент насчёт того, что вас, ну, сборщик мусора другой, и вот как
114: Вот это вот будет мечиться, потому что я помню, что в композе это, ну, вызывает некоторые проблемы, потому что там все-таки, я так понимаю, инжектируется свой трейсинг тоже гарбадж коллектор, который собирает чисто котлиновские объекты, и это приводит к постоянным гарбаж коллекшенам, которые
115: Скажем так, в некотором смысле затормаживают работу юай, и они сейчас, да, там, типа, супер быстрые, по началу, там с этим была проблема, но все равно полностью, как я понял, от них избавиться невозможно. Вот здесь такой проблемы не будет. Ну, ну, смотри, в принципе, вот.
116: Это вот 1, 1 из таких вообще концептуальных соображений, 1 из концептуальных соображений, которое я вот часто апеллирую, разговаривая со своими коллегами по поводу созданию всего этого стека, что в ситу
117: Ситуации, когда ты владеешь одновременно ю фреймворком, виртуальной машиной, у тебя на самом деле появляются очень интересные измерения в смысле возможности оптимизации. Ну, то есть, к примеру, у любого
118: Есть естественные такты, это фреймы, вот, и логически, вот как бы, а локации в пределах 1 фрейма, это очень естественная такая арена, собственно. Ну вот apple даже пользуется этим несколько таким
119: Примитивным способом, но тем не менее, то есть, то есть там как раз в seven лупом ассоциирован некоторый пул, который, который релизится Ровно по завершению фрейма. То есть, ну, подразумевается, что горбыш коллектор в общее
120: Случае, он же ничего о программе не знает, он единственное событие, про которое он может знать. Ну вот у меня много налаивания в памяти и все, я больше ничего, ничего сделать не могу. А в случае, когда, ты же, ты живёшь в мире, когда ты понимаешь, как бы,
121: Реальный пульс, так сказать, приложения, в частности, вот частоту фреймов можно с этим можно делать, делать весьма интересные вещи, как раз в смысле ооптимизировать того там
122: Сейчас вот мы тут рассматриваем интересный проект по сооптимизировал Ниров Ика в ядре и штуки, которая контролирует тактовую частоту процессора с тоже
123: С информацией из ui фреймворк, потому что на самом деле фреймворк знает многое про, ну вот, например, особенно инкрементальный фреймворк вот того типа, который мы делаем. Угу. Он хорошо знает, насколько сильно изменилась сцена, поэтому, в принципе, ты, ты
124: Можешь быстро узнать, насколько сильно сцена изменилась, а потом, в соответствии с этим, например, выставить тактовую частоту, если сцена изменилась сильно, ну то есть или засидировать на быстрый процессор, или или поднять его тактовую частоту, и, соответственно, быстрее.
125: Сцену отрисовать. А если сцена простая, и ты, и ты, и так прекрасно укладываешься в бюджет фрейма, ну ты выполняешься на на медленном процессоре или с низкой тактовой частотой? Ну, соответственно, меньший расход, батарейки меньше, расход батареи, да, то есть, то есть, в принципе, здесь открываются весьма интересные возможности.
126: Когда у тебя я фреймворк, многое, многое может сказать другим частям системного софта. Интересный подход. Окей, а вот если мы говорим про андроид, да, то у нас, ну, сейчас
127: Вот недавно google объявила, что теперь все на вулкане будет ios, соответственно, это у нас металл, а вот что-то такое же ну какой ускоритель используется в хармоне, некст в хармоне, некст, видишь, наше как бы.
128: Абстракции отделены от конкретного 3 д фреймворка, через 2 д фреймворк, похожий на, ну, похожий на sky. Он называется тижи, по моему. Вот, но
129: Насколько, насколько я помню, там используется, по моему, там сейчас есть 2 режима работы легаси с глесов и, ну, как бы, новый с вулканом. Вот, возможно, что
130: В, ну, в релизе, скорее всего, будет уже только вулкан использоваться. Окей. А вот ты, кстати, сейчас сказал, упомянул как раз про релиз. То есть я вот, у меня это абсолютная путаница. Вот прежде чем к этому перейдём в 1 вопрос, то есть харман
131: Нет, у него в ядре linux пользуется или у него в ядре. Опять же тоже самое. Помнишь, я говорил про технологическую независимость? В принципе, изначально в ядре использовался linux теперь есть.
132: Возможность, либо использовать микроядро, разработанное хуавейм, а даже так, то есть вообще даже это переписали, да, потому что на самом деле в huawei очень много очень энергично работающих людей, то есть
133: Как бы американские техкомпании несколько подрасслабились. Вот, а huawei наоборот находится сейчас в режиме такого достаточно сильного напряжения сил и поэтому ну а микроядро написать то в общем дело нехитрое. Ходили даже слухи, что
134: Они там чуть ли там почти чуть не разорились, пока сделали свой процессор своё все. Вот, короче, вот пока не презентовали то, что у них есть. Ну то есть это реально напряжение сил было колоссальное для компании, оно продолжается, оно продолжается, и это, ну, как бы, с 1 стороны, очень требовательно.
135: Конкретному человеку там к командам, но, с другой стороны, позволяет делать вещи, которые, в общем, я бы, возможно, не смог сделать в рамках других компаний. Давай тогда
136: Перейдём к рабочему дню, мне на самом деле интересно тоже этот момент, потому что, ну, мало кто у нас на самом деле, мне кажется, с китайскими компаниями работал. Ты работаешь удалённо, правильно или нет в офисе полностью в офисе, то есть в huawei у них и тут офис свой.
137: Ты ходишь там, работаешь, вот эти знаменитые 9, 9, 6, они как-то вот, ну, ощущаются, слышал про ощущаются только они, на самом деле, не 9, 9, 6, а вот у, например, той организации, где мы работаем.
138: Например, с начала года это ближе к типа 24 на 7 типа 8, 8, 8, 12, 7. Угу. То есть.
139: То есть, в принципе, очень, очень плотно работают, особенно, особенно Китай. Ну, китайские товарищи, мы, как бы, я стараюсь своих людей просто до такого не доводить, потому что я, ну, мне кажется, что
140: Это достаточно неэффективный в долгую режим работы. То есть можно пооралить там, не знаю, день, 2, неделю, но когда ты авралишь месяцами, у тебя просто если ты программист, ты, ты перестаёшь уже понимать, что ты делаешь. А это, ну, критическое, мне кажется.
141: А как, ну, как ты себя мотивируешь сейчас же? Вот это просто повсеместно. Господи, я выгорел, мне дали 2 дополнительных задачи, там и так далее. Как ты себя мотивируешь? Так вот, ну, интенсивно работать. То есть, грубо говоря, чт.
142: Тебя заставляет это делать или что? Вот какая-то внутренняя потребность, может есть, я не знаю, ну это, во первых, очень интересно. То есть, ну, я всегда писал системный софт, но тут есть возможность написать не просто там, не знаю, виртуальную машину, не прост.
143: Язык программирования, а как-то вот это, ну как бы, в общем то, сделать это все вместе поучаствовать как бы во всех частях системного дизайна и фремворк, и вот, и как бы и при этом, ну как бы, чтобы это сразу же оказалось
144: В, ну, в реальном, в реальном продукте, то есть не какой-то ресерч, положенный на полку, это, это очень мотивирует. То есть, когда, когда ты делаешь что-то, что нужно, ну и чисто из таких, как бы
145: Как практически политических соображений. Ну, в определённом смысле эта ситуация, похожая на ситуацию с атомным проектом. То есть, то есть, в принципе, Советский атомный проект, во многом обеспечил мир, там послевоенный мир.
146: Может там он, он до сих пор безопасность обеспечивает и до сих пор обеспечивает безопасность. То есть, то есть, в принципе, наличие, наличие баланса, наличие технологического баланса, оно, ну, мне кажется, достаточно важное свойство поддержания стабильности.
147: Вот, и я предпочитаю, ну, все-таки стабильный мир. Я думаю, что часть этой стабильности обеспечивается, ну, наличием стеков, полных стеков, технологий в районе мобильных устройств, в частности, не только у штатов. Окей, но вот мне интересно.
148: Ещё вот буквально 1 момент, да, про режим работы. Вот у меня есть концепция, что я, ну, отрицаю существование ворклайф баланс. Я считаю, что work life, balance это как раз вот 1 концепция умозрительная, которая тебя ведёт вот в то самое выгорание, отсутствие мотивации, так далее. То есть, ты, когда рассказы
149: У тебя не ощущается какого-то work, life. Balance у тебя есть просто life и live достаточно интересная. Ну, для тебя самое главное, да. Вот. И, ну да, там за неё платят деньги, да, но очевидно, что деньги здесь не являются, наверное. Ну, там, какой-то решающей, да, мотивации.
150: Прям основной. Вот и основная мотивация как раз то, что ты построил свою вот эту live, так называемую в том режиме, в котором тебе интересно вот ты как вот к этому относишься скорее согласен или нет или все-таки work life, balance должен быть такая полезная концепция?
151: Понимаешь, как, как любую концепцию можно это как, как молоток. Можно, в принципе, им гвоздь забить, а можно, можно по пальцу стукнуть, а можно человека убить. Да? Ну в этом смысле эта концепция ничем не отличается.
152: Других, то есть, то есть некоторые люди, ну, мне кажется, действительно оправдывают какие-то, ну, достаточно нелепые, ну, нелепые поступки, раздолбайство, неспособность доделать работу, ну, как бы
153: Ну вот, вот, вот это вот все. То есть я выгорел, я не могу, у меня лапки. Вот, но, с другой стороны, я считаю, что
154: Ты видишь, я уже, как бы, как сказать, далеко не юный. Вот. Поэтому, наверное, я какому-то work life, бэлансу, разумному для себя, конкретно научился. То есть я, может быть, это не всегда так называю, но суть примерно такая же. То есть я знаю, когда сказать себе стоп, перестань.
155: Перестань программировать, иди Погуляй. Даже если ты хочешь продолжить программировать, но при этом, как бы все равно это может там произойти условно, если там ничего не горит, конечно, там и в рабочее время. Ну то есть я это к чему? Это к тому, что вот на мой взгляд, это некий такой ключ как раз
156: Отсутствие выгорания, когда ты, ну прям вот максимально вовлечён в то, что ты делаешь, потому что мозг не способен разграничить, как сейчас сериал модный есть на тёпл тв, да, где ты часть, у тебя работа, личность работает, и она ничего не знает про обычную жизнь, а есть обычная жизнь, котора
157: Ничего не знает про работу. В нашей то голове не так. Это 1 черепушка, и мы в неё накладываем так с избытком. Если ты ненавидишь то, чем ты занимаешься, ты можешь себе там хоть 20 раз сказать, что это work, life, balance. Но ты все равно рано или поздно придёшь к тому, что мозг скажет. Нет, мы этим заниматься не
158: Будем больше никогда не, ну, конечно, вот с той работы, где я сейчас работаю, уйти достаточно тяжело. Ну, в смысле, что даже если ты уходишь, у тебя, естественно, все равно остаётся. Ну вот.
159: Какие-то и мысли о том, что ты делаешь, и желание, ну, довести, довести что-то до точки, ну, ну, не знаю, то есть вот для себя я, наверное, научился на самом деле делать ворклайф бэланс метод.
160: Разумного планирования, то есть, если как бы, если я доведу, довожу какую-то задачу до точки, вот, то я, в принципе, после этого могу, ну, могу заняться чем-то другим, могу заняться, ну, своей, так сказать, жизнью, не связанной с работой. Вот.
161: А вот если задача осталась недоделанная, то вот этот незакрытый гештальт, конечно, тревожит и мешает. Да, понимаю. А вот если говорить про отпуска и все остальное, мы просто были тут как раз в Китае, там была девочка, которая сказала, что в Китае отпуск себе могут позволить, и то не очен.
162: Длинный, только те, кто владеют своим рестораном. Ну, мы в ресторане встретили, вот это на российский офис отражается. То есть, ну там нормально все с отпусками люди типа ходят? Нет, ну российский офис huawei работает по кзоту, частью кзота являетс.
163: Количество дней отпуска. Вот. Но, ну, я, я здесь, наверное, имею ввиду, понятно, что с юридической точки зрения тут, ну, не придраться, я уверен, что все сделано очень хорошо и так далее. Я скорее имею ввиду про то, что, ну, вот, допустим,
164: Там, в южной корее, в Японии распространённая история, да что ты там не уходишь, опять же, не потому, что тебе по закону это запрещено. Это традиция, да, ты не уходишь, пока не уйдёт твой начальник. И вот они там сидят, типа, там до 12 ночи. Все, вот, вот этот вот, ну, что ли, дух.
165: Какой-то вот такой вот работоспособности азиатской, он проникает в российский офис. Ну скажем так, я стараюсь такого рода вещей не пропагандировать, опять же, по причине того, что считаю их бесполезными и даже вредными, то
166: Ну, мне кажется, хороший программист. В общем, опять же, он часто достаточно сильно замотивирован сам по себе. Я периодически скорее выгоняю людей с работы вечером себя.
167: Гоняю с работы вечером, потому что считаю, что, ну, должно быть разумное отношение как бы, к тому, что ты делаешь, и чёткое осознание, что ты делаешь. И человек не может оставаться в фокусе. Ну, реально, там, вот.
168: 12 часов, по крайней мере, если, если это все время, ну, все время длится. Ну, а китайские коллеги, они, кстати, с вами работают в российском офисе? Или вы, скорее, вот так удалённо общаетесь? Ну, китайские коллеги иногда приезжают, да, работают, у них, действительно, у них они в целом в офисе находятся дольше, чем
169: Вот, и, видимо, наши рабочие практики вызывают у них определённое саркастическое недоумение. А как ты думаешь, вот, вот твоё мнение мне лично интересно. Вот, ну, ты сам сказал, что считаешь это
170: Неэффективным, да? А вот у них это эффективно, или вот, ну или если эффективно, вот, что им тогда позволяет быть такими эффективными, то есть они же, ну, реально, там трудоголики практически, ну, это как сказать.
171: Алкоголизм, социальное явление, трудоголизм тоже социальное явление. И, ну, вот общество конкретно китайское же, оно, ну, очень сильно рвануло за последние, за последние годы, ну, за последние много лет уже и, собственно,
172: Есть вот поколение трудоголиков, а есть поколение помоложе, которое, ну, в принципе, не то чтобы особо счастливо вот с этим вот повальным трудоголизмом. Угу. Я, по крайней мере, ну, вот нередко в Китае разговаривал с людьми, которые, которые считают, что это какая-то, ну, неразу,
173: Умные вещи, они бы предпочли, чтобы так не было, но при этом они все равно продолжают придерживаться. Ну, кто-то продолжает, кто-то, видимо, не продолжает, там просто, видишь, очень высококонкурентное общество. И к тому же сейчас экономика, ну, по крайней мере, по их
174: В не лучшем состоянии. То есть там много увольнений, много компаний закрываются, там в принципе не так. Ну не так легко найти работу и так далее, особенно хорошую работу. Конкретно huawei считается так достаточн.
175: Топовым работодателем, поэтому люди, люди держатся за эту работу. Угу. Давай теперь немножко вернёмся к языку. Мы ещё вернёмся к трудовому расписанию. Вот этому всему. Давай немножко про язык я посмотрел.
176: У меня не возникло ощущения, что это похоже на композ. У меня больше возникло ощущение, что это похоже на swift you're, естественно, да, вот структура аннотации, стейт, вот эти всякие и так далее. Почему так похоже на swift? Ui? Вопрос не ко мне.
177: Не значит это некоторый такое вот, ну, некоторая система, которая была создана до нас, на которую мы уже пришли, на готовую, вот, и целью, которую мы сейчас преследуем, является как раз
178: Внесение элементов компоуза и вообще элементов, ну такого функционального программирования. Вот, вот, во всю эту систему без, без нарушения обратной совместимости. Это, это на самом деле очень сложная
179: Задача, опять же, ну вот я решал в своей жизни много сложных инженерных задач. Вот объективно то, что сейчас мы как, как команда решаем, наверное, это, ну вот, по, как бы, по сумме самое сложное, что я делал в своей жизни, и в частности,
180: Это вот 1 из, ну, 1, 1 из причин, что нам нужно сохранить, сохранить совместимость, сильно поменяв принципы. Угу. А чем тогда, в свою очередь, ну, не устраивают текущие принципы, то есть
181: Тебе лично вообще, как ты относишься, кстати, к swift юаю? Как он? Можешь его там покритиковать или, наоборот, похвалить? Ну, видишь, на мой вкус, свифт, юай. Ну, как бы такая вещь в себе, видишь, скажем так, мне, наверное,
182: Не очень понятны его философские принципы. Мне вот, ну, после работы над компоузом, после написания своего фреймворка, развивающего эти идеи, я достаточно хорошо понимаю философские принципы, ю фреймворка, которые мне нравятся. И они таковы, собственно, что
183: You're это функция состояния, вот, и и что как бы пользователь, когда пишет свою программу, в принципе, он пишет 2 программы, он пишет программу, как он визуализирует состояние и пишет, как он меняет состояние, то есть как-то есть
184: То есть, то есть, и 1, собственно, ну вот, вот, то есть ui код это вот, вот эта вот та самая функция, то есть функция, которая сама по себе именно функция. То есть это, это чистое вычисление, это не, это не что-то там, не знаю, ну, не какие-то виджиты, не что-то ещё это.
185: Это просто чистое вычисление, которое трансформируется в, ну, в определённые поведения. И, собственно, в результате всегда, когда ты хочешь что-то, ну, что-то изменить, ты просто меняешь состояние, а дальше некий некий, некая механиз.
186: Система максимально эффективно перевычисляется визуальное представление. Вот, вот этот вот концепт мне понятен, он мне близок, не знаю, как бы как человеку с математическим образованием. Вот мне он кажется, весьма эффективен.
187: В деле написания пользовательских интерфейсов.
188: Насколько я понимаю, свифт юай не совсем такими принципами руководствуется в нём, ну, на мой вкус, например, не очень в результате удобная анимация, потому что, ну вот анимация это, по сути, типичный пример динамического, то есть как
189: Вот, вот, в системах такого рода, например, очень, очень легко писать любые анимации юай, потому что на самом деле никаких анимаций, юай, не пишешь, ты просто пишешь по кадровое изменение состояния правил, нет, правила, изменения состояния, да, а дальше тебя уже, ну, движок автоматически пересчитывает.
190: Все. Вот, ну, все изменения, которые с этим ассоциированы. Вот. И это, в принципе, для меня, ну, удобный принцип. То есть, ну, ну, при этом, ну, как я, как продукт, наверное, вполне нормально, ну, все-таки, к нему приложил руку, по крайней мере,
191: Свифту приложил руку такой гений, как крис Латнер. Тут понятно, что, наверное, он и в свифта что-то подизайним. Я точно не знаю, но предполагаю вот, но никаких особо особо.
192: Восхищённых чувств я, я к нему, наверное, не испытываю ну а вот я понимаю, что дизайнер не ты, но, может быть, ты знаешь, а почему вообще изначально такое? Такая схожесть со swift юаем была выбрана просто странный выбор типа ну почему?
193: Именно эпловская, эпловская история. А вот тут я могу тебе ответить следующим образом. Вот послушай, как наши оппозиционеры, оо многих, как бы, многие разговоры там, как это этические, они заканчивают вопросом, а ты видел?
194: Капитализацию apple. Ну, то есть, то есть, в принципе, есть просто способ, ну, свернуть, как бы, любой, любой технологический разговор, как бы, к, ну, понятно, к простой
195: Измеримые метрики капитализации эпла. Вот, и я думаю, что, ну, тут тут был простой принцип, что apple был, очевидно, очевидный, как бы, ну, очевидно, успешный игрок на рынке мобильных устройств, значит,
196: Для создания своего фреймворка, но скопировать его решение в какой-то мере было, является безопасной стратегией. Ну, кстати, справедливости ради, наверное, в подтверждение этой теории я бы, наверное, сказал, что вот в Пекине, там же вот, вот эта центральная улица туристическая, возле
197: Площади тяньаньмынь, там этот прям вот 2 магазина стоят, там стоит apple store и вот прям точно такой же напротив него huawei store, он сделан по тому же дизайну, он там только разница в том, что там яблоко большое висит, а тут huawei написано, там также 2.
198: 3 этажа, я не помню. Ну то есть он сделан почти вообще вот прям копейка в копейку, и они находятся вот чисто прям друг напротив друга. Поэтому, наверное, да, есть что-то в этом. Ну, это вообще китайская традиция, что как бы скопировать незазорно.
199: Копирование, так сказать, ключ к копированию успешных Образцов. Это ключ как бы к собственному успеху. Вот в этом смысле это, наверное, ещё и культурная такая история. А как бы ты
200: Оценил, наверное, китайских инженеров. Не совсем правильно будет сказать. Они наверняка очень разные, там есть разный уровень и так далее. Но вот я скорее бы поговорил, может быть, не про вообще. Типа, оценку в среднем, понятно, невозможно дать, а про некоторые тоже
201: Культурные особенности, что, ну вот ходят такие слухи про то, что типа вот китайские инженеры, они не могут или очень редко делают что-то прям новое. То есть они очень классно могут сделать то, что уже существует, да, но, типа выйти за рамки им как
202: Будто, типа, трудновато. Вот насколько это правда. Ну или, может быть, не знаю, ты не замечал такого вообще, понимаешь, это, в принципе, верно. Ну, с любым человеком. То есть человеку вообще очень тяжело выйти за
203: Того, что он видел того, что он знает. Угу. А плюс, ну, в случае Китая это ещё усугубляется, ну, как бы, сильной конкуренцией и образовательной системой, которая, ну, скорее, прививает.
204: Ну вот, опять же, навыки, так сказать, такого отличника, то есть правильно, правильно сделать поставленную задачу в соответствии с указанным учителем образцом. Поэтому, наверное, что-то такое есть, но при этом я знаю, ну,
205: Вот в huawei очень много сильных инженеров, особенно среди молодых, то есть то есть видно, что там сейчас достаточно пристойное образование, а местами даже очень хорошее. Вот, и когда это накладывается, ну на
206: На мотивированного человека с хорошими мозгами, в принципе, получается неплохо. И вот мы, ну, в частности, часть работы, которую мы делаем, это мы пытаемся донести до них новые идеи. Ну вот то, что я говорил, там, например,
207: Инкрементальные вычисления про и к счастью, это ложится, в общем, на достаточно благодатную почву. Другой тогда стереотип, который тоже есть, то, что из за вот как раз этой высококонкурентной среды, да, там ну, по моему
208: Китая, там че то больше всего чемпионов в мире, по математике, по спортивному программированию. То есть они там все время первые места занимают, вот мы и они там по очереди, типа вот так вот чередуются и за счёт этого у них тоже, ну какая-то вот
209: Получается, как будто стереотип 1, наоборот, там, типа, блестящие идеи, умы. То есть вообще там, ну, типа, среднестатистический китаец невероятно в этом плане образован, подтянут и так далее. Это тоже скорее, как сказать, ну, типа, ближе к правде или просто, ну, как вот у нас инже,
210: Скорее, там есть просто хорошие инженеры, есть, не очень хорошие. Ну, видишь, это вообще очень интересный, мне кажется, такой даже культурологический вопрос. То есть, то есть
211: Россия, она вообще про то, как бы, как, как малым количеством народа, как бы защитить и содержать большую страну. Поэтому, ну да, поэтому наши, ну, не знаю, как это традиции, они во многом основаны, на, как ни странно, на достаточно высокой личной эффективности прост.
212: Потому что народу мало, а делать много, и как бы, ну, это, ну, просто так. Есть китайцев немножко другая ситуация. У них очень много традиционно трудового ресурса, и при этом часто
213: Делать меньше, поэтому для них скорее, ну вот как бы блестящий русский инженер и блестящий китайский инженер это достаточно разные люди. Вот, то есть, то есть блестящий китайский инженер будет
214: Тебе очень, очень много работать. Напишет тебе очень много кода. Возможно, блестящий русский инженер как бы посидит, почешет в затылке и напишет в 10 раз меньше кода, который, в принципе, решает ту же задачу. Вот, ну и кто из них как бы более эффективный, ну,
215: Егор, по моему, говорил Бугаенко, вот тоже, если что, ссылочка, что, типа, ну, условно, русский инженер, он, скорее всего, там 1, да, там окажется эффективнее китайского, но, типа, там, если брать 10 китайских инженеров, то они
216: Не, там, типа, невероятно, там преимуществом заборят 10 российских типа. То есть, потому что у нас достаточно много, ну вот такого вот Ровно неумения, ну, как бы сотрудничать и работать.
217: Как единый, как единый коллектив. То есть, действительно, ну, не думаю, что 10 китайских инженеров заборят 10 русских инженеров, но, безусловно, как бы коллективная работа. Ну вот это вообще 1 из
218: Проблем, мне кажется, русского русского it, что, ну вот какая-то такая повышенная, огромные транзакционные издержки. Ну, ну не то что токсичность, но, знаешь, ну какая-то вот
219: Такая вот, я нередко, по крайней мере, встречал коллективы, где, где люди в целом скорее работают, как бы, ну, не знаю, против друг друга, чем, чем вместе друг с другом. А есть че то вот такое, что чему-то научился у Китай.
220: Инженеров за вот работу с ними за время, конечно, научился очень странной вещи. Знаешь, научился мысли, что на самом деле, как это нет ничего невозможного в том смысле, что, ну,
221: Ну вот мне как бы, и образование, и какое-то инженерная культура раньше некоторые вещи, я о них просто не думал. Ну вот, ну вот, к примеру, вот настраивать тактовую частоту в соответствии, например, с загрузкой от
222: Мне это, казалось бы, несколько, ну, странным таким протыканием, протыканием абстракции и построением, ну, какой-то такой невнятной немножко системы. Вот. А сейчас я понимаю, что это наоборот, это
223: Это на самом деле разумное понимание, что если что-то можно сделать, то его в принципе можно, по крайней мере, попробовать сделать вот, безусловно, вот этому, этому я, пожалуй, научился, ну и и такой некоторой бесстрашности. То есть, знаешь, так вот бесстрашно бросаться практически
224: Безнадёжное предприятие. Удивительно. Мне кажется, это вообще наша национальная черта. Бесстрашно бросаться в какое-то безнадёжное мероприятие. Ну, немножко, да, но все-таки все-таки не совсем, потому что мы обычно бросаемся как бы
225: Не с таким остервенением, скажем так. Ну то есть там ребята прям если взялись, да, то они там вот изо всех возможных сил вообще стараются. Окей, давай теперь поговорим по поводу вот окружения тулинга всего этого, то есть
226: Огромная часть вот компоуза, да, и вообще, ну, работы андроида, google и всего остального, это тулинг, инструменты и все остальное, как с этим дела обстоят сейчас, скажем так, вообще мысль о том, что development experience
227: Важен, важен, она не всегда очевидна, скажем так, по крайней мере, некоторым, некоторым китайским менеджерам. Вот я эту мысль достаточно долго и последовательно в голову вкладывал, что, соответственно,
228: Что всегда нужен хороший тулинг, всегда нужен хороший девелопмент, экспириенс. Что если вы сделаете фреймворк, на котором никто не захочет писать, потому что на нём неприятно, неудобно, некомфортно писать то-то никто на нём писать и не будет. То есть для китайской культуры это на самом деле,
229: Неожиданно, потому что в китайской культуре люди, ну, как бы, им, какую им работу дали, они ту работу и работают. Вот. И поэтому, если тебе дали задание написать на, на фреймворке икс, то ты напишешь на фреймворке икс, неважно, что как бы, как
230: Этот фреймворк, вот, но и каков туллинг вокруг этого фреймворка. Вот. Но, в принципе, я вижу значительные усилия в создании как бы, тулингов инфраструктуры. То есть, ну, понятно, что это очень сложно одновременно.
231: Создать сразу и саму экосистему, и тулинг для неё. Угу. Вот. То есть, ну вот, например, там, допустим, ситуация с профилировщиками, вот в новых виртуальных машинах, то есть они есть, они улучшаются.
232: Над ними интенсивно работают, в частности, тоже команды. Вот, например, в петербурге. Вот, но есть, есть куда улучшать. То есть, то есть ответ такой, что, в принципе, могло быть хуже, но могло быть и лучше.
233: Есть очень мощное преимущество. Ну, было, по крайней мере, ну, хотя, вроде и сейчас тоже остаётся. Это достаточно большая сеть девелов, деф, адвокатов, деф адвокатов. В основном. Это, кстати, вообще удивительно было то, что, по моему, так и остаётся по прежнему чуть ли не
234: Единственная компания, наверное наравне с гуглом, у которых есть death адвокаты, а на мой взгляд, они вообще у каждой компании должны быть, потому что, как ты правильно сказал, попробуй ещё этого разработчика убедить, что ему надо писать именно на вот этом, а не на чем-либо ещё и вот что-то так.
235: Какое, может быть планируется у huawei, там, не знаю, ну, смотри, я все-таки работаю в немножко не в той части huawei, то есть, то есть, в джетбрейнсе там было, ну, проще, это все-таки достаточно маленькая компания, ну, по сравнению
236: Вот я опять же.
237: Думаю, что это важная и полезная функция, но ничего не знаю про её воплощение. Я имею ввиду, ты не видел их, может быть, ты же все равно бываешь на каких-то внутренних конференциях, там, митапах, хуавеевские, там кто-то рассказывал. Нет, вообще хуавеевские конференции.
238: Выглядит, ну, немножко по другому. Расскажи. Кстати, это интересно. На самом деле, реально, как это все выглядит у них, потому что, ну, я то представляю себе 2 вида конференции. 1, это вот, ну, наши стандартные, да, там, мобиус обском, не знаю, там хайлод, не важно, любые
239: Конференции. И я ещё был вот на западных, но на западных, не крупных, типа, там дроид кона или вот Котлин конфа, да, ну, по крайней мере, я их видел, не лично присутствовал, видел, а я был на внутренних корпоративных, но тоже вот в европе они в целом, плюс минус между
240: Собой. Ну, мало чем отличаются. Там также, типа, кормят, есть стенды, есть че то-то игрушки, можно выиграть доклады примерно 1 за другим. Там идут сетка расписания. Все очень, ну, понятно. И примерно одинаково, да, только там, в европе, мне кажется, побольше.
241: Как раз вот на тот самый девелопер экспириенс, а как выглядит в Китае конференция для разработчиков? Ну, видишь, в Китае, ну вот я даже странным образом выступал на конференции и, по моему, 20 какого-то 23 или 24 года, не помню уже. Вот.
242: Но там, собственно, важная проблема, во первых, что значительная часть китайцев не говорит на английском. И, ну, а в свою очередь, я не говорю на китайском, поэтому, ну, эффекта, как бы, общения меньше, чем
243: Чем на на западных конференциях, где все-таки на английском все профессионалы более менее говорят.
244: Вот, плюс к тому, ну, наверное, вот связанное с 1 проблемой, что в результате очень мало обратной связи. То есть, ну, как бы, вот, вот у нас, ну, типичная ситуация, что ты, что
245: Конференции рассказал тебя там после доклада окружили люди, ты с ними разговариваешь, там о технологиях, о проблемах, вот об этом всем тут от силы, там не может. С тобой 1, 2 человека поговорит, которые как-то поняли твой доклад. Вот остальные
246: Либо стесняются, либо не знают английского, либо и то, и другое. Вот. Ну вот это вот, наверное, основное, а китайские спикеры же там выступают с ним, с китайскими спикерами. Похожая ситуация, как ни странно. Так что, видимо, то есть, ну, в целом, поменьше интерактива, то есть,
247: То есть больше вот такой отчётно выборный доклад на пленарной конференции. Почему, почему с китайцами такая же проблема? Они на английском тоже выступают? Нет, они выступают на китайском, но, видимо, просто в культуре не очень принято, как бы
248: Диалог больше принят монолог. Вообще это странно, потому что мы вот были, когда с нами сфоталось человек 40, наверное, каких-то Неизвестных, нам не сфотаться, пожалуйста. А сфоткаться это, да, запросто. И ещё 2 момент, знаешь, который бросился в глаза, либо
249: Вообще, ну, подавляющее большинство людей, при том, что Шанхай, Пекин, в общем, ну, такие достаточно туристические города. То есть, там иностранцев мы встречали, скажем так, вот, либо вообще не знают английского вообще, вот даже hello не знают, либо очень хорошо.
250: Знают. Ну то есть прям на таком, прям очень таком. И мы поняли уже, что если к нам подходит кто-то и начинает говорить с нами на английском, это какой-то непростой чувак. Ну потому что просто так он бы английский не знал. Скорее всего, например, 1 раз так с нами заговорил владелец отеля. Мы вообще, типа, мы стояли
251: В этой, в, ну, там, где стиральная машина, вот это лаундри, да, мы там, ну, белье запихиваем в отеле, как бы, и к нам подходит мужик, спрашивает, типа, а вы это, ну, она работает нормально, с ней все на английском. А мы тогда ещё не поняли этот момент, мы такие, ну, да, нормально, мы думали просто какой-то вот, ну, в отёл.
252: Тоже живёт. Вот. А он нам потом начал там свою страничку, типа, я владелец отеля, я вот тут живу, если че, напишите мне, короче, это настолько вообще удивительно было. Ну прям, ну реально, просто мужик какой-то подошёл ещё сфоткался с нами тоже.
253: Это они, они просто, ну, любят общаться с иностранцами. То есть, ну, вот если ты вспомнишь, опять же, советские времена, вот у нас же тоже в определённом смысле иностранец был такой редкий и полезный, полезный зверь. Вот. То есть, ну, вот тоже, не знаю.
254: Когда заходили в какие-то рестораны и там к нам как-то очень быстро с неизбежностью подходил владелец и начинал что то что-то рассказывать про свой ресторан, про себя, про про то, как, как он любит, любит Путина или не любит.
255: Америку. Ну, как бы все это было, в общем, достаточно одинаково, да, в этом плане, конечно, забавно. А вот если возвращаться ещё к языку, то есть, как вы тогда, ну, вообще, как вы ведёте?
256: Коммуникацию с коллегами, коллеги в huawei, они китайские, я имею ввиду, они знают английский. Да, конечно, конечно. То есть, ну, те, кто, по крайней мере, с нами коммуницируют, знают английский, есть люди, которые, а, помогают с переводом, если, если это нужно, вот
257: К счастью, у нас значительная часть коллег по, ну вот по важным направлениям, то есть по языковым, по паратам, они тоже русские находятся тоже либо в Москве, либо в петербурге. Вот. Поэтому, поэтому, в принципе, ну вот, по крайней мере,
258: Тот, как бы вот большой проект, который мы сейчас делаем, он в значительной части делается, делается русскими людьми, и многие коммуникации идут по-русски. Почему такой феномен? Вот вообще удивительно, почему вся вот эта вот, ну,
259: Огромная системная часть хармани некст, да, она делается в России, как так получилось? Ну, не вся, например, ядро делается. Ну, вот это вот микроядро делается не в России. То есть речь исключительно про уровень языка приложений виртуа.
260: Машину. И вот фремворк, ну, это все равно много, это много, да, ну, как-то по историческим причинам исторически сложилось просто, ну и объективно у нас много людей, которые, наверное, имеют склонность к
261: К написанию системного софта и как бы есть достаточно много экспертизы релевантной, если возвращаться вот к уже опять к самому фреймворку, да, сейчас происходит какой-то переход с компонент версии 1 на компоненты версии 2.
262: Это вот часть вот этой большой трансформации или вот от чего? Ну к чему это? Нет, смотри, это немножко разные, как бы это разные трансформации. То есть мы сейчас пытаемся заменить ядро, как бы
263: Языка, да, то есть как раз относительно сохраняя совместимость, то есть, то есть, в общем, изменения на следующей версии, то есть, по крайней мере, я стараюсь, ну, чтобы мы постепенно вводили инновации.
264: Сначала бы мы вводили инновации, как бы по
265: По языку рантайма, а потом уже поверх этого вводили новые новые звиз фичи. Ну а то есть вот, вот эти фичи, которые там, там, архитектурный компонент номер 2, это какая-то другая, да, команда занимается, да, это не мы делаем, а ты, ну, не знаешь.
266: Почему такой переход происходит? Понимаешь, у меня такое ощущение, что уже никто, никто целиком, мозгом не охватывает, что происходит согласованным образом, потому что
267: Происходит очень много всего. Вот. И это, ну, собственно, важная такая, ну, важный момент, что в большой, большой компании с большим количеством центров силы все-таки иногда
268: К сожалению, процессы не, ну, не всегда согласованы, не всегда идеально согласованы. Да, окей. Если говорить про перфоманс, составляющую вот ui фреймворка, в том числе и так далее. Вы с кем-то себя сравниваете? Ну, типа, есть какие-то перфоманс, тесты.
269: Который там, ну, условно, вот эту задачу композ, там, за столько миллисекунд выполнил, там, вот свифти вай, за столько мы вот за столько условно, ну, безусловно, есть, конечно, люди, занимающиеся перформанс анализом. Вот. Но, видишь, я всегда придерживаюсь и, в общем то, пропагандирую
270: Людям такую мысль, что все должно быть последовательно, что сначала тебе нужно систему нужно дизайнить, потом тебе систему нужно разработать, потом теперь систему нужно отладить. И потом, получив работоспособную систему, ты, а сможешь её замерить, профилировать и
271: В том смысле, что и сейчас вот, по крайней мере, вот та система, которую мы сейчас строим, она находится в фазе, как бы, ну, в финальной фазе создания. Вот, то есть, то есть она уже видно, что она работоспособная, видно, что ей можно
272: Пользоваться. Вот мы делаем какие-то performance, анализы какие-то по оптимизации но в основном на предмет поиска собственных боттлнеков. Вот ну и при этом мы конечно делали сравнение там вот например своего экспериментального там фреймворка там с компоузом
273: Когда-то, но это, как сказать, я как человек, проработавший полтора года своей жизни, перформанс инженером, это было в ранние двухтысячные в калифорнии. Я хочу заметить, что перформанс это очень, очень
274: Очень тонкая материя. Ну, я вот, у меня сейчас просто не премину воспользоваться возможностью проанонсировать, что у меня курс вышел по андроиду, между прочим, полноценный, и там есть блок про перфоманс. И я вот там все время говорю 1 и ту же мысль, чт.
275: В начале вы получаете проблему, потом вы выясняете место, где эта проблема возникла, и только потом вы че то оптимизируете. Обычно почему-то происходит наоборот. Типа, а давайте мы вот тут вот глазом это мозгом чую, вот здесь проблема, мне кажется это
276: Основная, простите за тавтологию, проблема перфоманса, собственно, да, что оптимизировать нужно, ну, наличные проблемы, приложения и их их сценарии. То есть, действительно, что-то можно, ну, например, предсказать, ну, там,
277: Допустим, понятно, что если у тебя есть интерпретируемая виртуальная машина, то если ты заменишь её на все-таки на виртуальную машину, которая компилирующая там с джитом или с hfm компилятором, то, естественно это будет быстрее. То есть тут, ну не надо к Папке ходить, но, ну вот дальше уже как бы
278: Оптимизация того или иного ю поведения того или иного апдейта ю здесь уже, да, здесь мы тратим даже сейчас, ну, значительные усилия на оптимизацию, на параллелизацию как 1 из способов собственно оптимизации.
279: Вот, и в принципе, ну, мы надеемся получить весьма пристойный результат. А вот, кстати, хорошую тему ты затронул насчёт виртуальной машины хэд оф тайм. В андроиде же, ну там какая-то фиксированная часть делается. Хэд оф тайм, какая-то часть за счёт этих
280: Облачных профайлеров делается хофтайм, а какая-то часть делается джит. Вот в этом плане есть отличия с хармани. Ну видишь, проблема вот той хармани, которая как бы вот до замены на
281: Машину в том, что java script очень сложно тайм компилировать угу. Потому что да и jid не очень просто ну собственно вот если говорить там про в 8 например в 8, это опять же инженерный шедевр, вот 1 из компью.
282: Гениев современности, собственно, ларса бака и компании, собственно, где они применили, ну вот, и продуктизвестны типизации. То есть, что ты назначаешь какому-то объекту, тип
283: Спекулятивно компилирует предположение, что тип у него именно такой, а если, соответственно, тип оказался не таким, то ты деоптимизации оо, в принципе, ну единственный примерно работоспособный способ.
284: Компиляции для систем с сильно, ну, достаточно сильно динамическими языками. Вот, поэтому, собственно, вот тот переход, который сейчас происходит на сильно типизированный язык, его целью как раз является именно
285: Уничтожение вот этой вот этой проблемы, чтобы, чтобы язык действительно можно было содержательно Ходов там компилировать, то есть яву или там, ну, вообще, я байкод, можно содержательные Ходов там компилировать, да, и то там, ну, собственно, иногда, иногда джиты дают лучшую лучшую оптимизации.
286: Чем, чем аото именно за счёт того, что ты можешь делать некоторые гипотезы по коду, которые вот из самого кода его типовой системы не видны. Вот. Ну и соответственно, если если ты сделал какую-то спекуляцию, где ошибся, то ты можешь
287: Но в целом, то есть движение идёт вот в сторону, ну примерно как в андроиде будет, то есть примерно как в java машинах, там и так далее. То есть компилируем большую часть хедов, тайм, что-то облачно профилируем да, профилируем, вернее, что-то justin time, соответственно, делаем.
288: Да, да, скорее всего, мы вот примерно примерно к такой модели и придём. И, в общем, она кажется достаточно здравой. Вот мы уже постепенно подходим к экосистеме вокруг всего этого. И у меня как раз вопрос на эту тему, а есть ли какая-то обратная
289: Связь. Ну то есть я поставил себе хармани, некст, зашёл в апгелари, там целая куча приложений. Причём, ну все самые известные в наличии там вичат алипэй, били, били ещё какие-то себе приложения поставил уже какие-то там от независимых инди разработчиков.
290: Ну, понятно, что все китайские, как бы, но, тем не менее, они есть, обратная связь от пользователей уже есть, ну, вот по использованию, по там, производительности и так далее. Вот как вы её обрабатываете, скажем так, все-таки наша
291: Команда, она в основном ресерч, подразделение. Вот. Поэтому, ну и естественно, естественно, мы бы порвались, если бы мы ещё и обрабатывали обратную связь от пользователей, не обработку, вот в сыром виде, да, где там накидали, там 1, 2 линия, но все равно же какие-то вот, ну, данны.
292: Там вот в собранном интегрированном виде, да, это же полезно для исследования, ну, понимать, вообще, туда, не туда ты движешься, все равно же какая-то обратная связь. Ну вот часть обратной связи, собственно, по предыдущим версиям. Аркая, собственно, и привела к тому, что чем
293: Мы сейчас занимаемся, то есть у людей были определённые вопросы, определённые неудобства с тем, как с тем, как все это работало, а какие, ну вот есть какой-то там топ 1, может, неудобства, с которым жаловались люди. Ну вот на мой
294: Вкус достаточно неудобный ui дсль, то есть там мало чего можно написать, его неудобно отлаживать, в нём есть много неожиданных поведений вот вот на мой вкус, вот это вот основная важная проблема.
295: Которую мы, в частности, пытаемся исправить. Ну вот, кстати, в композе же вот эта вот моя любимая тема с рекомпозиция. И когда эти google вышли в начале, и такие, можете вообще не думать про рекомпозиции, забудьте вообще, это не ваша проблема, это задача.
296: Чисто фреймворка прошёл год, они такие, все-таки, надо думать о рекомпозиция, как бы иногда не стоит там циклы крутить в ui. Че то приходится думать все-таки про, ну, обычным таким, как я, разработчикам прошёл ещё год, они такие, так вот.
297: Вам инструмент для слежения за рекомпозиция и их надо отслеживать, про них надо думать и так далее. Это очень прикольная трансформация была. Меня интересно, вот есть ли что-то, какая-то похожая сущность вот в текущем
298: Наверное, состоянии в том состоянии, в котором вы идёте, да, за который там надо или не надо будет отслеживать вот с этой точки зрения для Конечных разработчиков. Ну, смотри, текущая ситуация, мне кажется, там, там не очень хорошо с тулингом, действительно, вот.
299: Там тот фреймворк, который, который мы внедряем, он, ну, в общем то, он достаточно похож на композ с точки зрения вычислительной модели. То есть, что действительно происходит частичное перевычисление, то есть рекомпозиция это, собственно, частичное перевычисление ю, вот, ну, это же, ну, как сказать, не совсем
300: Так, то есть рекомпозиция это же переразмещение вот в этой слот таблицы гигантской типа, ну и как следствие, да, то есть так, а переразмещение, собственно в слот таблицы это результат, в свою очередь, вызова компози функции. Вот, то есть, то есть ты вызываешь
301: И пере, то есть, смотри, ну вот если там подумать о том, что делает компоуз, он, он, по сути, вот эту вот сложную функцию юая как раз тоже частично перевычисляется. Есть. То есть, опять же, вот, например, у нас дизайн комментально, а другой там нет.
302: Там нет slot тейбла, там вместо этого вместо этого дерево, вот но модель все равно похожая, что у тебя есть, грубо говоря ui функция, точнее набор функций, который строит юай и.
303: Дальше у тебя есть вот вычисление, что ты построил себе ui дальше у тебя что-то поменялось в состоянии и ты логически ты снова перевычисляется эту функцию, но при этом по факту ты перевычисляется, которые были затронуты измене.
304: Вот, и, собственно, ну вот весь наш, так сказать, бизнес это про то, как, как сделать вот это перевычисление маленьким, быстрым и по возможности параллельным с исполнением бизнес логики пользователя. Сейчас, кстати, в новой версии
305: Композ ного компилятора, они, по моему, отказались практически от групп. Ну то есть вот, вот эта аннотация, стейбл и все остальные, они, по моему, становятся там есть, там есть какой-то флаг, я забыл новый, но сейчас уже даже флага нет, он типа, по умолчанию включён, что
306: Ну, грубо говоря, у тебя весь код практически по умолчанию как будто бы считается. Ну, типа, как сказать, предварительно считается оптимизированным, как я правильно понял, это работает. То есть, грубо говоря, компиля.
307: Доверяет этому коду, если так можно выразиться. То есть он считает, что он его переставит максимально эффективным способом, что с тебя, в свою очередь, снимает необходимость там повсеместно писать вот эти стейблы и мьютабл, ну то есть прям руками помечать, да, где вот можно доверять этой области.
308: А вот это же тоже, ну, заняло сколько? 4 года, получается, от момента, когда у тебя все было помечено группами, да, и тебе нужно было прям вот руками прописывать, что все по умолчанию считалось потенциально изменяемым, да, а теперь, соответственно, это все по умолчанию считает.
309: Скорее, ну типа стабильным вот здесь получается, вы этот промежуток как бы проскочили и сразу перешли вот к такой модели. Ну да, видишь, мы как бы в каком-то смысле все-таки мы как-то стояли на плечах гигантов, то есть мы как бы понимали,
310: Достаточно хорошо, как работает композ. Вот поэтому и понимали, на самом деле, что нам не нравится, в частности, вот, что мне лично очень не нравилось в компузе это устройство его компилятора. То есть, ну вот, компилятором плагина котлину причём
311: Не нравилось и со стороны котлиновски компилятора. То есть он очень, очень, очень глубоко лез в котлиновский компилятор. Вот так и со стороны самого композовский оо, есть это, это очень сложная сущность. То есть вот мы умышленно 1 из задач
312: Которую мы решали это создать плагин, который будет хорошо интегрирован в компиляторы, тут нам очень повезло, что у type script очень хорошее плагиновые апи, которым мы воспользовались и с другой стороны, который будет
313: Реализовывать простую вычислительную модель. Угу. Трансформации кода для вот этих вот инкрементальных вычислений. Это у нас тоже, в общем, получилось. То есть мы там сделали это несколько операций. Вот, но то, что сейчас вот в конце получилось, оно относительно пристойно. Вот.
314: И мы ещё там стараемся дальше оптимизировать. То есть, наверное, важная цель того, что вот мы сделали, что мы отделили инкрементальные вычисления от юая. Это нам позволило на самом деле, о инкрементальных вычислениях думать проще и
315: И как бы вот эти сам пользовательский код вообще, ну, в целом проще. То есть, вот писать на в терминах того фреймворка, который вы написали, на мой вкус, проще, чем на композе, если говорить ещё про изменение стейта, про рекомпозицию, вот эти вычисления, там основная сущность, да, это
316: У нас мьютабл стейт, ну или просто стоит вот, которая неявную подписку создаёт, ну и там, как бы вот это, соответственно, все работает, и там есть такая сущность внутри, как снэпшот, которая как бы такими транзакциями, да, позволяет делать вот эти изменения.
317: И потенциально это давно ещё, по моему, ещё даже, кстати, в 1 интервью, когда мы с тобой снимали, мы про это говорили, потенциально позволяет делать многопоточные юай изменения, да, то есть вот в арке, я так понимаю, тоже эта возможность заложена, да, мы, собственно,
318: К этому как раз вот подводили с самого начала, вот, и, ну вот часть ренди работы, которую мы делали, например, в прошлом году, была Ровно сделать наш
319: Движок инкрементальных вычислений парализуем. Ну то есть, чтобы, грубо говоря, мутаторы и и как бы использователи, то есть те, кто рисует, чтобы они могли, в общем то, исполняться параллельно. Вот.
320: Нам для этого требовалось как раз вот этот вот новый язык с живаемо подобной моделью памяти, то есть до этого мы исполнялись на gs машине и просто, ну просто было очень неудобно разделять, разделять.
321: Состояние между между 2 потоками вот сейчас у нас, в общем, есть, есть дизайн, дизайн параллельного юая. Вот, и в принципе мы его надеемся достаточно скоро воплотить в жизнь. Когда-то давно я читал книжку java канкан практис.
322: Много кто читал, и там прям отдельно было написано, что типа многопоточный юай создать невозможно, потому что ты вечно, типа, ну там потонешь во взаимных блокировках и так далее. Это потому что люди неправильно думали о том, чем является юай. То есть они думали о ui.
323: В терминах, ну, как бы, реактивной машины, где состояния не отделены от репрезентации. Вот, а если ты, если у тебя есть понятная, как бы,
324: Понятная база для вычисления, то есть набор стейтов и функция частичного вычисления, то, в принципе, ты можешь просто применить, ну, классические подходы там, например, из баз данных, то есть, или из
325: Систем, ну как как бы журналируются ом, который позволяет тебе создать, создать журнал изменений, вот, и, и вычислять, грубо говоря, поверх состояния с неприменённые
326: Ну, с неё применённой транзакцией. Вот, а потом применить транзакцию в тот момент, когда тебе это, тебе это нужно. То есть, то есть, по сути, применение транзакции, операция Дешёвая, вычисление транзакции, то есть вычисление изменённых стейтов, это, вообще говоря, и называется business logic.
327: Программа. Угу. Вот. И, в принципе, эти 2 вещи, они на самом деле вполне себе параллелизуемым, т. И у нас, в принципе, даже какие-то, какие-то прототипы, скажем так, присутствуют. Это, ну, учитывая, какие сейчас смартфоны, с какими та
328: Количество ядер и так далее. Ещё учитывая вот эту историю, про которую ты до этого рассказал, что можно синхронизировать, да, как бы тики с там, частотой экрана и все остальное там с частотой процессора, в смысле, какие-то эксперименты были.
329: Ну, типа, там, условно сколько это прирост даёт, хотя бы в попугаях. Смотри, опять же, чтобы хорошо это померить, нужно это написать. Мало того, что написать. Хорошо. Угу. Мы мерили не совсем. Это мы мерили, собственно, возможность.
330: Ну, просто конкурентных инструментальных вычислений. Вот. Поэтому никаких Попугаев я здесь сказать не могу. Будем ждать, когда допишется. Мы будем, мы будем очень стараться. Окей, знаешь, какая, кстати, вещь меня в композе.
331: Вообще не нравится. Вот я все из ролика в ролик её критикую. Это, наверное, единственная вещь, которая меня всегда раздражала с самого начала. И я помню, кстати, как она эволюционировала, потому что я на композ начал писать ещё когда она там, в ранней, ранней, там, альфе или бете была, я уже не помню, это модификаторы, модификаторы.
332: Меня всегда очень раздражали, потому что в начале же там почти все было параметрами, потом это все улетело вообще целиком модификаторы. Потом в какой-то момент дали немножко заднюю, опять вернули в параметры и раздражает меня вот эта цепочечная структура. А ты, ты не 1 смотри.
333: Не 1. Вот про модификаторы мы, собственно, вот тоже, когда, ну, понятно, у нас внутри мы, мы же вот долго занимались именно формированием того, что мы считали как бы хорошим фреймворком. И там важная часть хорошего я фреймворка, это хороша.
334: Форма пиай шейпа. Угу. Вот. И тут нам как раз очень, очень помог, очень помогли как раз вот эти вот анонимные, объектные литералы, которых просто в котлине тупо нет или, по крайней мере, не было. Я сейчас, ну, не очень смотрю на эволюцию Котлина.
335: Но их не было на момент создания композа. Вот, а на самом деле анонимные, объектные литералы это идеальная комба модификаторов и 1000000 параметров. Ну, которые тебе, по сути, позволяет часть объекта, да, ты стилизуешь то, что ты хочеш.
336: То есть, как бы, ну, это потому что это типичная ситуация. В ui ты, ты стилизуешь то, что ты хочешь в параметрах, ты что-то достили, уешь внутри, например, там из тем, что-то ееще достили, ешь, там, не знаю, из каких-то, из каких-то других соображений, но в целом у тебя стиль вычислим, вычисляется из
337: Нескольких источников. То есть, то есть реальный стиль юай компоненты вычисляется из нескольких источников. Ну, в композе это обошли через вот эти статические функции, которые, ну, типа дефолт, там, text, size или что-то такое, где у тебя куча, куча дефолтных параметров, и ты типа,
338: Ну, там меняешь те, которые вот, нет, композовский Пашей меня тоже не устраивает. То есть, я считаю, что это, ну, как бы, там, частичная проблема, собственно, связана с котлином, как с языком программирования, что в нём, ну, просто не было в этом месте выразительных средств. Вот. И вот.
339: Здесь мы, собственно, ну, с самого начала, с ребятами, которые дизайнили язык, мы с ними говорили о вот этом мы им объясняли, как бы, ну, объясняли дизайнерские альтернативы в районе юай Деля и объясняли, ну, почему нам нужно это и
340: И, в принципе, ну, вроде оно как бы разумно достаточно сейчас получается. И у нас есть, в принципе, в этом смысле, в этом месте Разумный Разумный диалог, то есть диалог о том, собственно, как
341: Строить как бы хорошо, юзеро, читаемый, как бы api шейп. Угу. Как попасть в huawei. Вот такой вопрос меня интересует. Вот, допустим капец, как мне захотелось вот там вам
342: Помочь как-то, может там, не знаю, юай фреймвор, какую-то лепту внести, что-то поделать, какие вообще этапы, этапы абсолютно тривиальные подать, подать резюме и ждать, что позовут. Вот. Но сейчас
343: На текущий момент, ну, как-то моя команда особо активно не нанимает. Наверное, мы сейчас скорее сосредоточены на том, чтобы делать, делать то, что мы делаем. Ну, а есть алгоритмическая секция, там, не знаю,
344: Дизайн вообще, как это выглядит просто, ну, тут зависит от, наверное, от конкретной команды. Ну, в нашем случае это несколько технических собеседований, техническое задание какое-то, на, ну, что-то, что-то за
345: Программировать калче фит интервью. Вот. Ну в общем, какие-то такие абсолютно, абсолютно базовые вещи. То есть ничего экстраординарного, скажем так, нет. Давай, давай просимулирует.
346: Сказать буквально очень, очень коротко, по 1 вопросу из вот просто технического собеседования, как могло бы выглядеть задание? И 1 вопрос на culture фит. Просто у меня 1 человек приходил к тебе на собеседование, не буду говорить, кто он, говори.
347: Я выложил все, что я знаю, такой довольный. Сижу ты такой, а дальше и он такой, ну понятно, до свидания. Спасибо. Вот дальше он уже не знал, че говорить реально, какой вопрос. Ну вот какого уровня вопросы ты задаёшь на собеседовании вот на техническом
348: Не, ну понимаешь, как бы в определённом смысле абсолютно неважно, какие вопросы я задаю. Ну, в смысле, что мне гораздо интереснее? Ну, реакция человека на эти вопросы и вообще реакция
349: На неизвестное, возможно, это гораздо. То есть, то есть, мне достаточно не интересно, ну, например, там разговаривать, ну, например, на, как бы, на тривиальные алгоритмические темы с олимпиадниками, которые просто, ну, как бы, знают сразу ответы на алгоритмические вопросы и фазы подумать, у них просто
350: Не присутствуют они, они просто, ну, отвечают тебе то, что знают. То есть я стараюсь, наверное, спросить у человека то, что он с большой вероятностью не знает, но, как мне кажется, может, подумав, придумать.
351: Я, представь, к тебе пришёл. Че ты у меня спросил?
352: Я у тебя спросил, опиши вкратце, дизайн бил системы своей мечты, бил системы своей мечты. Ну, слушай, это я. Ну я сейчас не буду описывать. Наверное. Во первых, этот вопрос интересно.
353: Опишите в комментариях, вот, ну, это такой вопрос. Ну, типа, я бы на него ответил. Ну, то есть у меня есть несколько идей, которые мне, ну, вот я бы тебя, собственно, и послушал. То есть, я послушал просто, ну, соображения, например, которыми ты руководствовался при, правда.
354: Билл систему только с гредлом работал, но, как бы, да, ну, при данном, как бы, вот при данном раскладе, ну, я как бы, услышал бы, наверное, ну, что для тебя важно в, там, в дизайне технических систем, как бы, какие у тебя были примерно предыдущие.
355: В данном вопросе, вот, ну вот если вкратце, кстати сказать, такой вопрос, кстати, классный. Реально, вот в текущем гредле с его лип стомо, вот мне очень не нравится, вот в текущем гредле, то, что там все распихано по billie.
356: Миллиарду разных форматов. Там и у тебя и сам градл, и всякие томал файлы. И тебе надо в этом разбираться, в том разбираться в sam, разбираться. С моей точки зрения, билл, система не должна быть в идеале вообще отделима от всего остального твоего кода. Ну типа, то есть
357: Не, вот как сейчас в андроиде у тебя типа есть папочка с кодом и ещё 83 папочки непонятно с чем, типа вот знаешь там xml какой-то томол туда сюда в этом очень легко запутаться и сейчас это ещё стало попроще.
358: Ну, потому что томал появился ты хотя бы. А раньше, когда у тебя ещё был вот эта лютейшая комбинация груви и Котлина, у тебя тут ктс файлы, тут не ктс файлы, тут у тебя build срц папка, в ней ещё 1 билд срц, для того, чтобы.
359: Градл этот, ну, конвеншн, плагин, соответственно, сделать. Я в какой-то момент, кстати, по совету Кости схарило, отказался от конвеншн плагинов. Я очень счастлив этому. Да, я там часто руками дублирую где-то код, да и хрен с ним, это реально проще, чем
360: Вот у меня в convention плагине че то обновил, и у меня какие-то 3 вообще несвязанных модуля полетели. Я даже не понимаю почему. Вот. Ну, вопрос, конечно, такой многогранный, на него можно часа 3, мне кажется, разговаривать. А как калчер фит выглядел бы вопрос.
361: Ну, ну, такой 1, к примеру.
362: Ну, представь, приходит к тебе твой тимлид и даёт идиотское идиотское задание, которое, которое не соответствует твоему представлению о прекрасном. Вот что ты будешь делать, как ты задал?
363: Вопрос, который самый, самый тяжёлый для меня. Ну, потому что, ну, я буду возмущаться, ну, типа, я буду говорить, что оно идиотское. Ну, понятно, не такими словами я не буду там говорить, типа, ну вот, может быть, там чуть конкретнее, то есть в какую сторону, как бы ты
364: Говорил про идиотско. Я бы предложил решение, которое мне кажется правильным. Ну вот каким, потому что каким манером и объяснил бы, типа, почему оно мне кажется правильным, я бы сказал, что я вижу вот такие недостатки.
365: В твоём решении. И я предлагаю сделать вот так, потому что это будет лучше здесь, здесь, здесь, здесь, здесь, ну вот, ну и дальше там, понятно, это можно развивать на тему, как бы тебя услышали, тебя не услышали, как бы.
366: Там, почему тебя не услышали, как тебе кажется, и так далее. Ну, то есть, в принципе, здесь можно просто, ну, просто понять, как примерно человек, ну, решает сложные такие вот ситуации. Я просто помню, у меня был случай, очень похожая история, только та.
367: Был не тимлид, а дизайнер принёс мне какой-то дизайн очередной идиотский, вот и идиотскости его заключалась в том, что оно просто было скопировано с ios на android вообще без попытки осознать как устроена например система теней v андроиде ну вот это.
368: Вот по z индексу, там же прям слои элевейшен да, есть. То есть там вот эта картинка, материал, ну он как бы должен это знать, с моей точки зрения, он же, блин, дизайнер все-таки x. Вот. И я там устроил, у меня, наверное, из за этого YouTube канал.
369: Родился. То есть у меня способ объяснения, я начинаю объяснять, типа, вот всю механику, знаешь, типа, смотри, вот тут молоточек бьёт сюда, это потом выливается сюда, и поэтому твоё решение говно. Вот, а у тебя, типа, а у тебя не так
370: Ну, я ему там тоже, типа, там мы, я ему пришёл, сел рядом с ним, говорю, открывай, пиши там материал, не помню, че там моё, короче, какой-то сайт. Видишь, система теней. Видишь, тут карточки нарисованы у них. Теперь давай твой макет открываем. Видишь, вот.
371: Это v андроиде будет делать 3 недели, а если ты сейчас посидишь и 10 минут переделаешь тени на нормальные андроидовские, мы это тебе сделаем за 3 минуты, потому что, ну, типа, нам не надо будет эти вот кастомные тени как-то придумывать, как делать вот, ну, в целом тогда этот подход.
372: Сработал. Вот, но не всегда срабатывает. Честно говоря, я думаю, что можно заканчивать. Возможно, у тебя есть какая-то вещь, которую я забыл спросить, которую ты хотел бы сказать. Да нет, на самом деле очень интересно поговорили, я, знаешь,
373: Ещё у меня сейчас специфика, что я большую часть дня на самом деле провожу, говоря, поэтому, поэтому я уже сейчас, честно говоря, подохрительной могу только сказать, на самом деле тебе большое спасибо за то, что за то, что позвал поговорить. То есть, ну, было было интересно.
374: И как сказать, ну вот я, ну вот сейчас вот на самом деле, у того, что я делаю, в принципе, ну, меньше в определённом смысле публичности. И мне бы хотелось, может быть, да, это немного исправить, потому что, во первых, ну, интересные технологии.
375: Делаются и и как бы вообще интересное ну в интересное время живём, товарищи, говорится, да вот. И поэтому, конечно, я благодарен, что ты дал возможность немножко вот про это рассказать. Спасибо тебе большое за то, что рассказал. Это было
376: Прям очень интересно. Друзья, подписывайтесь на канал, ставьте лайки и вот это все обязательно. Это надо сказать, потому что без этого лайков не будет. Вот Коля.