Re[4]: Как быстро войти в тему Android и iOS?
От: Евгений Музыченко Франция https://software.muzychenko.net/ru
Дата: 24.09.19 14:03
Оценка:
Здравствуйте, Quadri, Вы писали:

Q>main инкапсулирован внутри Dalvik VM. Поэтому полагаться можно только на компоненты приложения: Application, Activity, Service и т.д.


Как элемент приложения может быть инкапсулирован в среду исполнения? Другое дело, что "main" — это элемент не приложения вообще, а прежде всего традиционной программы на C/C++. Соответственно, в Android где-то указываются точки, с которых начинается исполнение кода для каждого типа компонент, способы передачи им параметров и т.п.

Q>В андроиде свой "особенный" подход к управлению процессами и элементами приложения: приостанавливание, кеширование, убивание (иногда без колбека).

Q>Например, правильного способа завершения процесса изнутри самого этого процесса нет, это должна сделать система, и теоретически может это сделать в любой момент.

Это я знаю, но все это означает всего лишь, что андроид рассматривает приложение, как набор процедур/функций, каждая из которых вызывается в определенных условиях, получает определенные параметры, и подчиняется определенным правилам. Примерно так же любая ОС взаимодействует с любым из своих драйверов.

ЕМ>>Еще раздражает принятый в андроиде подход рисовать элементы управления в отдельном редакторе, под каждый набор разрешений экрана, и подключать их к приложению через файлы описания. В винде я могу на выбор использовать редактор ресурсов, или вручную создавать в программе шаблон диалога, или вовсе создавать каждый элемент по отдельности. А в андроиде это возможно? Или тамошний гуй умеет создавать элементы только по описаниям из файлов?


Q>Можно создавать вьюшки в рантайме.


Это радует.

Q>Если не нравится XML есть Kotlin ANKO, гугл еще делает какой то Jetpack Compose.


Мне не нравится в первую очередь сама идея непременного использования какого-либо специнструмента, помимо языка программирования и транслятора с него. Другое дело, что использование внешних инструментов может быть или проще, или надежнее, но оно не должно быть обязательным. В идеале, реализация любого универсального ЯП в любой ОС должна позволять сделать на нем любое теоретически возможное приложение без привлечения дополнительных инструментов. Если это невозможно, то и реализация ущербна.

Q>Можно обойтись одним XML с описанием интерфейса одного окна на все случаи жизни, никто ни кого не заставляет.

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

Возможно, у меня устаревшие сведения. Все, что мне попадалось про GUI под андроид, в обязательном порядке требовало описывать отдельную форму под каждое из набора типовых разрешений экрана.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.