WebDev

WebDev

19/4/2017
Когда-то я рассуждала, что опыт программирования не важен, важен общий уровень теоретической подготовки. Так вот, в отношении java-программиста это все было правомерно, а вот для web-программиста, гуру DOM и CSS, все несколько наооборот - опытом пренебречь нельзя. И вот почему:
JavaScipt - хороший язык. Очень похож на java, но элементами первого порядка в нем, кроме объектов могут быть также и функции, что, конечно, открывает новые горизонты. HTML - тоже неплохой язык структурной разметки документов. CSS - хороший способ украсить скромный внешний вид html-документа в браузере. А DOM, объектная модель документа, построенного браузером, вообще обещает привнести в статичную html-страничку всю динамику UI десктопного приложения.
Так вот, если JavaScript и HTML можно как-нибудь быстро выучить по их спецификациям и применять приобретенные знания везде, то с CSS, а тем более с DOM все далеко не так радужно. Спецификация может быть только отправным пунктом, далее надо осваивать и брать на заметку детали организации DOM каждого браузера, и детали восприятия CSS-стилей каждым. То есть, вести учет всех мелочей и частностей, которые в следующей версии браузера могут быть уже не актуальными. Продумать реализации какой-либо функциональности заранее, без наличия в активах базы особенностей каждой версии каждого браузера, почти невозможно, потому что написание кода превратится в лавирование всеми правдами и неправдами между непредвиденными подводными камнями и приделывание на лету костылей к найденым дефектам; в результате чего, на выходе будет нечто не подающееся стрктуризации, очень отличающеесе от задуманного. Поэтому вопрос, а стоит ли так долго вникать в такое множество по сути бесполезных деталей, только чтобы потом хоть как-то суметь писать Ajax-подобные приложения по науке, если web-разработка не постоянный род занятий, а всего лишь эпизодический?