Приветствую Андрей! А что делать, если нужно отрисовать сложный рисунок асинхронно, в отдельном изоляте, чтобы к моменту, когда его надо будет показать, он уже был готов? Какие способы есть? А то и CustomPainter и Canvas только в главном изоляте работают.
Остался один вопрос, почему все это нельзя было построить на основе SVG. Тут производительность выше получается или какие плюсы? Почему в Гугле не захотели использовать SVG под капотом? Ведь намного удобнее иметь возможность рисовать какие-то элементы в графическом софте, а потом просто добавлять в приложение. Ну а при желании можно и вручную писать внутри приложения, как делается в вебе, хочешь руками рисуй, хочешь кодом. Но нет, надо обязательно надо впихнуть новую технологию, для которой надо придумывать новые велосипеды (приложения), хотя SVG уже поддерживают практически все векторные редакторы.
Смотрите, в данном докладе я касался только векторной графики, но ведь это далеко не все возможности Skia и не все сценарии использования в разработке UI. Если посмотрите fiddle.skia.org/named/, то убедитесь, что далеко не все можно реализовать при помощи svg (в особенности, когда дело касается растров шейдеров масок и пр.). Насчет софта - он появляется. Есть и скрипты для конвертации векторной графики из adobe illustrator, есть и инструменты типа flutter shape maker (совсем недавно был создан), который упрощает разработчику работу с переносом векторов в код.
Когда листаешь красивый интерфейс с кучей анимацией и прочими приблудами приходишь в уныние, что в век быстрых изменений и смен технологий этот красивый интерфейс, над которым работали пол года протянет максимум на 1-2 года. Смысла в этом не много, лучше придерживаться минимализма и не заморачиваться, весь дизайн должен идти из коробки(для Android - Material Design, а для iOS - Cupertino), важно лишь подчеркнуть фирменный стиль своеобразными цветами, не меняя общую методологию дизайна запускаемой платформы
Спасибо за комментарий. Да, согласен. Поэтому я в самом начале моего доклада попытался обозначить проблему в том, что мы ограничены нашими SDK, да и вообще просто сложностью алгоритмов таких вот анимаций. И действительно, вкладывать огромные ресурсы в такие сложные интерфейсы никто не хочет, потому по факту таких приложений мы и не видим. Но, на мой взгляд, flutter сильно развязывает нам руки тогда, когда дело касается кастомных интерфейсов - например, по сравнению с тем же самым RN (там такие вещи конечно же тоже решаются, просто цена немного другая).
BeeWay Inc вы забывете, что помимо каких-то простых приложений, призванных просто предоставлять доступ к бэкенду того или иного сервиса, есть еще более сложные приложения, которые строятся на визуальной составляющей. И не всегда стандартных возможностей хватает для этого. В этом случае можно извратиться и начать городить свой огород и придумывать какие-то костыли, но все-таки лучше иметь такую возможность из коробки. Во многих сферах представление информации в визуальном виде намного упрощает ее понимание. Это важно, например, для всяких обучающих приложений. Когда это все делается лишь для красоты интерфейса, да, сомнительный плюс, особенно если это всего-навсего клиент для какого-то интернет магазина.
Побольше бы таких докладов !)
Очень классно что много про низкоуровневые штуки. Про виджеты в сети инфа есть, а как что под капотом работает не особо. Спасибо.
Спасибо.
На очереди погружение в рендеринг пайплайн ).
Обьясняете супер понятно, не каждый так умеет )
Приветствую Андрей! А что делать, если нужно отрисовать сложный рисунок асинхронно, в отдельном изоляте, чтобы к моменту, когда его надо будет показать, он уже был готов? Какие способы есть? А то и CustomPainter и Canvas только в главном изоляте работают.
Нормальная тема
Остался один вопрос, почему все это нельзя было построить на основе SVG. Тут производительность выше получается или какие плюсы? Почему в Гугле не захотели использовать SVG под капотом? Ведь намного удобнее иметь возможность рисовать какие-то элементы в графическом софте, а потом просто добавлять в приложение. Ну а при желании можно и вручную писать внутри приложения, как делается в вебе, хочешь руками рисуй, хочешь кодом. Но нет, надо обязательно надо впихнуть новую технологию, для которой надо придумывать новые велосипеды (приложения), хотя SVG уже поддерживают практически все векторные редакторы.
Смотрите, в данном докладе я касался только векторной графики, но ведь это далеко не все возможности Skia и не все сценарии использования в разработке UI.
Если посмотрите fiddle.skia.org/named/, то убедитесь, что далеко не все можно реализовать при помощи svg (в особенности, когда дело касается растров шейдеров масок и пр.).
Насчет софта - он появляется. Есть и скрипты для конвертации векторной графики из adobe illustrator, есть и инструменты типа flutter shape maker (совсем недавно был создан), который упрощает разработчику работу с переносом векторов в код.
А есть ссылка на гит проекта 2:40
Виджет называется Liquid Swipe, 42:25
@@aydynbai спасибо
ишь ты что захотел, ему видать мало платят, бедняжка, открыл для себя Америку - Skia
Когда листаешь красивый интерфейс с кучей анимацией и прочими приблудами приходишь в уныние, что в век быстрых изменений и смен технологий этот красивый интерфейс, над которым работали пол года протянет максимум на 1-2 года. Смысла в этом не много, лучше придерживаться минимализма и не заморачиваться, весь дизайн должен идти из коробки(для Android - Material Design, а для iOS - Cupertino), важно лишь подчеркнуть фирменный стиль своеобразными цветами, не меняя общую методологию дизайна запускаемой платформы
Спасибо за комментарий.
Да, согласен.
Поэтому я в самом начале моего доклада попытался обозначить проблему в том, что мы ограничены нашими SDK, да и вообще просто сложностью алгоритмов таких вот анимаций.
И действительно, вкладывать огромные ресурсы в такие сложные интерфейсы никто не хочет, потому по факту таких приложений мы и не видим.
Но, на мой взгляд, flutter сильно развязывает нам руки тогда, когда дело касается кастомных интерфейсов - например, по сравнению с тем же самым RN (там такие вещи конечно же тоже решаются, просто цена немного другая).
BeeWay Inc вы забывете, что помимо каких-то простых приложений, призванных просто предоставлять доступ к бэкенду того или иного сервиса, есть еще более сложные приложения, которые строятся на визуальной составляющей. И не всегда стандартных возможностей хватает для этого. В этом случае можно извратиться и начать городить свой огород и придумывать какие-то костыли, но все-таки лучше иметь такую возможность из коробки. Во многих сферах представление информации в визуальном виде намного упрощает ее понимание. Это важно, например, для всяких обучающих приложений. Когда это все делается лишь для красоты интерфейса, да, сомнительный плюс, особенно если это всего-навсего клиент для какого-то интернет магазина.