kvisaz (kvisaz) wrote,
kvisaz
kvisaz

Categories:

no country for old men

Верстка всегда геморрой. Я когда-то был дизайнером в далеком мезозое, и верстальщиком, помню. В верстке темная орда контента вступает в битву со светлыми идеями дизайнера. По тылам наносят удары орды технических багов конкретной среды, верхом на волколаках. К ним присоединяются партизанские отряды технических особенностей. Любимая поза верстальщика - поза полутрупа, сползающего с кресла почти под стол, чтобы пули пролетали над головой и меньше была вероятность случайного ранения.

Потом я ушел писать тексты и это было такое счастье, такое счастье, что просто никаким словом нельзя описать. Никаких тебе условностей, знания блуждающих и вечных багов, поисков случайно забытых черных прямоугольников 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 все-таки лучше. Но технические проблемы есть везде, и везде есть борьба чистой идеи, чистого дизайна с конкретными условиями конкретного средства.
Tags: программирование
Subscribe

  • Два секрета успеха для стартапа или почему ЖЖ такой жестокий?

    Читаю такую книжку. Обложка у неё, конечно, оформлена так, что отпугивает. Но автор говорит дельные вещи. Пэт Дорси пишет, что хороший инвестор…

  • Число, которое невозможно представить

    Прошлой ночью приснился типичный для меня кошмар - число, которое не укладывается в голове. Его невозможно представить, оно занимает все ресурсы, и…

  • need proof

    По телевизору в зарубежной научно-познавательной передаче сказали, что недавние расчёты показали, что все наши радиоволны, которые раньше считались…

  • Post a new comment

    Error

    default userpic
    When you submit the form an invisible reCAPTCHA check will be performed.
    You must follow the Privacy Policy and Google Terms of use.
  • 20 comments

  • Два секрета успеха для стартапа или почему ЖЖ такой жестокий?

    Читаю такую книжку. Обложка у неё, конечно, оформлена так, что отпугивает. Но автор говорит дельные вещи. Пэт Дорси пишет, что хороший инвестор…

  • Число, которое невозможно представить

    Прошлой ночью приснился типичный для меня кошмар - число, которое не укладывается в голове. Его невозможно представить, оно занимает все ресурсы, и…

  • need proof

    По телевизору в зарубежной научно-познавательной передаче сказали, что недавние расчёты показали, что все наши радиоволны, которые раньше считались…