Потом я ушел писать тексты и это было такое счастье, такое счастье, что просто никаким словом нельзя описать. Никаких тебе условностей, знания блуждающих и вечных багов, поисков случайно забытых черных прямоугольников c0m0y100k100 на черной же плашке с0m0y0k100. Ну, кстати, сейчас бы я для ловли последних случаев мог бы написать даже скрипт, как минимум в Иллюстраторе (у Adobe мощный встроенный движок JavaScript, который позволяет писать скрипты, прочесывающие все объекты в документе).
Потом я ушел в программисты и снова повстречался с версткой. А ты, наверно, соскучился уже, сказала она, меланхолично ковыряя ятаганом в ногтях. На тебе классические проблемы верстальщиков - борьба контента с дизайном. На тебе старые добрые баги. Они новые, потому что среда воплощения верстки другая, но сам принцип старый - косячные официальные инструменты, интересные несочетающиеся комбинации, которые вроде должны сочетаться.
На тебе также баги, которые висят в багтрекере Гугля с 2013 года. На тебе анимации - совершенно новый классный вид источников багов и утечек в памяти. Тебе небось-то в учебниках для нубов это не рассказывали, что каждая анимация - это источник потенциально глубокой жопы, особо в Андроиде, где экраны поворачиваются с полным уничтожением и новым воссозданием себя заново (а в мрачных глубинах, куда сбрасывают ненужные объекты, вцепились друг в друга циклические ссылки, не желающие умирать, и кричат друг другу в лицо, а анимация все еще пытается отработать на невидимом экране, и память течет, течет - хули, нуб должен страдать).
О, ты заскучал. Хочешь убежать с Андроида на игровые движки? Ну ты лох. Вот тебе обязанность реализовывать верстку теперь вообще с нуля. Вот тебе скроллящийся список. Ты думал, скроллящиеся списки на Андроиде - это геморрой? Нет, там это удобный инструмент. Геморрой - это писать скроллящийся список самостоятельно, рисуя его из графических примитивов и самостоятельно улавливая все необходимые движения пользователя. Теперь ты понимаешь, почему вопрос "а писали ли вы кастомное View" на собеседованиях по Андроиду уверенно позволяет отделить желторотых нубов от элитных нубов-ветеранов с выжжеными болью висками и бутылкой виски за голенищем?
Куда, куда ты бежишь? На HTML, думаешь, мощные процессоры в современных мобильниках позволят писать приложения на JavaScript и классических, сто раз уже апробированных фреймворках? На тебе расползающиеся стандарты, интересные особенности Explorer, а главное - абсолютная неприспособленность HTML-верстки к абсолютному пропорциональному масштабированию.
Пошел верстать на SVG, воплощая безумные фантазии своего дизайнера и заодно сокращая путь от макета до экрана? Очень удобно, да - исходник из графического редактора можно сразу импортировать как экран, навесить на его элементы слушателей событий и анимации, как на обычные элементы HTML-страницы. Но ты забыл о базовом принципе страданий в верстке - борьбе контента с дизайном. И вот у тебя сотни разных текстов, они будут меняться, их длина будет ползти - а в SVG есть только абсолютное позиционирование и нет никаких flow - будешь рубить тексты и переводить их на другую строку вручную. А если дизайнер захочет встроить в текст плывущие по нему смайлики или иконки - тут-то ты и вспомнишь старым добрым словом HTML, а еще больше будешь мечтать о верстке под Android, о славных добрых RelativeLayout и его проапгрейженном потомке ConstraintLayout, который тебе будет сниться теперь, как недостижимый на других платформах Грааль удобства и комфорта.
пик релейтед - верстка экрана с помощью ConstraintLayout в редакторе Android Studio. Вспоминаю, как сказку
Короче, верстка - полный кубок боли. Но в нативных приложениях под Android она еще ничо. И HTML ничо. И SVG ничо. Да и Corel Draw, если подумать ничо, но Adobe Indesign все-таки лучше. Но технические проблемы есть везде, и везде есть борьба чистой идеи, чистого дизайна с конкретными условиями конкретного средства.