Здравствуйте, Евгений Музыченко, Вы писали:
ЕМ>А насколько сложно обойти весь этот автоматизм? У меня периодически чешутся руки сделать что-нибудь для Android/iOS, но меня всю жизнь воротило от стиля "запускаем студию, жмакаем на создание проекта нужного типа, она сама генерит основной код, мышкой накидываем туда типовых обработчиков, потом чуток правим этот и этот...".
ЕМ>Хочется, чтобы программа начинала исполняться классически — с заданной мною самим точки входа (или нескольких точек различного типа, как в драйверах или службах), и чтобы простейшая программа могла реально состоять из одной строчки типа "вывод hello, world", а при нужде вызывала бы все необходимые системные средства. То есть, чтобы не фреймворк оборачивал программу и навязывал ей свою парадигму взаимодействия, а просто исполнение программы начиналось бы с известного места, и дальнейшее ее поведение определялось бы в первую очередь самой программой (ну и системными ограничениями, само собой).
Насколько я знаю нельзя. main инкапсулирован внутри Dalvik VM. Поэтому полагаться можно только на компоненты приложения: Application, Activity, Service и т.д.
В андроиде свой "особенный" подход к управлению процессами и элементами приложения: приостанавливание, кеширование, убивание (иногда без колбека).
Например, правильного способа завершения процесса изнутри самого этого процесса нет, это должна сделать система, и теоретически может это сделать в любой момент. И так далее.
ЕМ>Еще раздражает принятый в андроиде подход рисовать элементы управления в отдельном редакторе, под каждый набор разрешений экрана, и подключать их к приложению через файлы описания. В винде я могу на выбор использовать редактор ресурсов, или вручную создавать в программе шаблон диалога, или вовсе создавать каждый элемент по отдельности. А в андроиде это возможно? Или тамошний гуй умеет создавать элементы только по описаниям из файлов?
Можно создавать вьюшки в рантайме.
Если не нравится XML есть Kotlin ANKO, гугл еще делает какой то Jetpack Compose.
Кстати, некоторые прутся от Flutter'овского подхода описания UI:
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return Container(
decoration: BoxDecoration(color: Colors.white),
child: Center(
child: Text(
'Hello World',
textDirection: TextDirection.ltr,
style: TextStyle(
fontSize: 32,
color: Colors.black87,
),
),
),
);
}
}
Но лично мне хочется блевануть

Имхо, xml — норм
>под каждый набор разрешений экрана,
Можно обойтись одним XML с описанием интерфейса одного окна на все случаи жизни, никто ни кого не заставляет.
И разные макеты делают не под разрешения экрана, а под размеры (смартфон/планшет и портрет/лэндскейп) в случае если это действительно нужно.
Под разные разрешения нужны разные картинки (mdpi, hdpi, xhdpi, xxhdpi...), но это может решаться векторными форматами картинок.