Комментарии 31
Очень притянуто за уши. На флаттере так никто в здравом уме писать не будет, все эти виджеты можно сделать гораздо компактнее. Вы в него либо не умеете, либо специально понаписали этой индусской лапши.
Например, тот же TopBar
можно переписать так:
class TopBar extends StatefulWidget {
@override
_TopBarState createState() => _TopBarState();
}
class _TopBarState extends State<TopBar> {
int _selectedPage = 0;
Widget _buildButton(IconData icon, int index) => TopBarButton(
icon: icon,
isActive: _selectedPage == index,
onTap: () => setState(() => _selectedPage = index),
);
@override
Widget build(BuildContext context) => Container(
color: Colors.white,
padding: const EdgeInsets.symmetric(horizontal: 30),
child: Row(
children: [
AppLogo(),
Expanded(
child: Row(
mainAxisAlignment: MainAxisAlignment.center,
children: [
_buildButton(FeatherIcons.home, 0),
_buildButton(FeatherIcons.youtube, 1),
_buildButton(FeatherIcons.grid, 2),
TopBarAvatar(),
_buildButton(FeatherIcons.users, 3),
_buildButton(FeatherIcons.zap, 4),
_buildButton(FeatherIcons.smile, 5),
],
),
),
IconButton(
color: Colors.grey.withOpacity(.6),
icon: Icon(FeatherIcons.settings),
onPressed: () {},
),
],
),
);
}
А, прошу прощения, не обратил внимания, что флаттеровский код – от автора редизайна. Да, тогда его проект – это прям анти-реклама флаттера какая-то.
Да, можно. Я за.
Мы, кстати, в комментариях к одной из статей собирались сделать showcase-приложения для различных архитектурных подходов на флаттере. Я даже под это дело репозиторий создал. Можем его адаптировать под подходы к мобильным приложениям в целом. Ну или что-нибудь другое придумать.
А если кто-нибудь еще и дизайн приличный нарисует, то вообще замечательно будет.
Я могу предложить простой РЕТ-проект для приложения мультиплатформенного по челленджу и даже некий "приз" :)
С Kivy не знаком.
Можно ли на Kivy (под Windows) сделать:
1. Часть окна прозрачным;
2. Скрыть верхнюю шапку;
3. Реализовать перемещение окна наподобие всплывающей подсказки?
нет вообще никаких путёвых видео-уроков
Видимо, плохо искали. На Youtube — вагон и маленькая тележка видео-туториалов по Kivy/KivyMD.
А какие примеры дизайна нам показывает сам kivy? Вот элементарно зайди на галерею примеров киви. Одна чернота. И ладно, если бы эти примеры показывали, какой был дизайн 30 лет назад. Но нет. Это они показывают сейчас.
А по поводу ютуба, ты сам зайди и посмотри, что за «красоту» ваяют создатели уроков по Kivy. Возьми и проматай код, и посмотри, что в итоге вышло. Это даже дизайном не назвать. На фоне таких дизайнов, даже Tkinter смотрится куда круче.
И опять же я не говорю, что движок плохой. Но раз уж мы пришли делать дизайн в 2021 году, так почему бы не сделать учебные материалы, где получиться дизайн действительно современный. А у Kivy этого нет. И пока не появиться, kivy так и останется в тени QT. Тем более вышел PyQT6.
p.s. не забываем, что речь идёт про Desktop
А какие примеры дизайна нам показывает сам kivy?
Нужно понимать философию Kivy для начала. Это просто база. Для того, чтобы вы могли сделать все, что угодно. Нужен iOS UI — пожалуйста, нужен Android UI — пожалуйста. Виджеты Kivy настолько кастомизируются, насколько позволяет фантазия. И никто из коробки не привязывает, например, класс Button, ни к одной платформе. Это сделано в целях кроссплатформы. Библиотека KivyMD — тому пример. Мы взяли «страшные» виджеты Kivy и сделали из них виджеты в стиле Material Design.
Если вам нужны примеры красивого Kivy UI:
А по поводу ютуба, ты сам зайди и посмотри, что за «красоту» ваяют создатели уроков по Kivy.
То есть, ты специалист широкого профиля, и тебе сразу нужно показывать туториалы крутого дизайна? Таких убогих уроков на Ютуб хватает и по PyQt и по любому другому фреймворку или библиотеки!
А философия это замечательно, но философия это рассуждения, а мне интересно делать красивые интерфейсы. Для этого и хочется посмотреть не рекламные видео по типу «ля, чё могу», а понятное пошаговое руководство, где будет с нуля и до результата. Пускай все они уложатся в час, но вот это будет толчок к понимаю и действию, а не рассуждение о философии :-)
Приложение на kivy в play market без проблем попадет?
Kivy выглядит классно, если честно, то никогда не понимал тягу к go, dart, flutter. На мой взгляд, сугубо мой личный взгляд, go, dart и flutter в их текущих состояниях это такая же халтура, как и AngularJS в свое время.
dart и flutter в их текущих состояниях это такая же халтура, как и AngularJS в свое время
Мой, тоже сугубо личный взгляд, как человека с 8 годами в нативной Android разработке, ~1 годом в нативной iOS разработке, и перепробовавшего большинство кросс-платформенных фреймворков: Flutter в текущем состоянии – это лучшее, что с этой самой кросс-платформенной разработкой произошло за последние годы.
Dart – далеко не самый мой любимый язык, но он потихоньку улучшается.
Трепещущий Kivy. Обзор возможностей фреймворка Kivy и библиотеки KivyMD