Понятно, что за последние годы JavaScript превратился из «крутого дополнения к HTML» в мощный инструмент разработки веб-приложений.
И превратился в него не технологически, а идеологически.
То есть он был там всегда, как бы особо не меняясь за время своего существования, но по каким-то причинам его начали использовать в полной мере относительно недавно.
Как будто все вдруг поняли, что сеть тоже может быть интерактивной, а сайты — это как бы вовсе не сайты, а программы со своей логикой.
Эта тенденция оказала сильное влияние на требования к веб-сайтам в целом.
Не совсем понятно, оказали ли возможности Javascript такое влияние на сеть, или же сеть сама стала требовать интерактивности, и на помощь пришел JS. Я лично склоняюсь к первому варианту.
В результате этого произошло то, что случалось уже не раз.
Стали появляться полуфабрикаты для разработки интерактивных сайтов; мы знаем их как фреймворки.
Как мы все понимаем, концепции фреймворков уже сто лет. Например, C можно рассматривать как основу для ассемблера.
И изначально фреймворк был хороший.
Это позволяло программисту сконцентрироваться на прикладных задачах, не отвлекаясь на сопутствующие.
Например, реализуя передачу данных через Интернет, пользователю не нужно думать о формате TCP/IP-пакетов, поскольку система сделает это сама.
Ну, или более близкий нам пример — ORM: работать с данными можно, даже не имея никакого представления о СУБД.
(Что касается JS, то и здесь со временем был формализован круг типовых задач, решаемых с его помощью, и они плавно локализовались в JS-фреймворках.
) Но при всей пользе, которую принесли фреймворки, у них была одна большая проблема.
Появилась каста прикладных программистов, которые, кроме любимого фреймворка, ничего не смыслили в программировании.
На ум сразу приходит травля ВБеров и дельфистов на различных профильных форумах.
И в этом есть доля правды, так как я лично знаю человека, который хранил значения переменных в экземплярах класса TLabel (Delphi), фактически для каждой переменной он ставил на форму элемент управления, давал ей имя в качестве переменной и установите для параметра Visible значение False. Это, конечно, клиника, но в большинстве своем апологеты фреймворка имеют слабое представление о процессах, связанных с использованием оперативной памяти, оптимизацией загрузки и выполнения программ и многим другим.
Потому что фреймворк делает это за них.
И для них становится открытием, что если закинуть в приложение полсотни форм, все автосоздать, то оно в лучшем случае будет загружаться 5 минут, а в худшем вылетит с ошибкой «Я ни хрена не могу это сделать.
» Вторая проблема с фреймворками связана с тем, что они исповедуют определенный стиль написания кода.
(Кстати, в JS это очень хорошо видно), собственно, поэтому и появляются такие странные специализации, как «Программист 1С», «Программист Битрикс», а в будущем программист jQuery или программист mootools. Используя какую-то технологию (фреймворк), компания становится ее заложником.
Так как это во многом зависит от возможностей этой технологии.
Это заставляет вас либо осваивать его внутренности, чтобы приспособить его к своим потребностям, либо делать только то, что разрешено.
Очень часто встречаются темы «Я использую… фреймворк, но его не хватает… поэтому пришлось писать свою реализацию…».
Вдумчивый читатель спросит: «Ведь у любой технологии есть ограничения, почему вы пишете это в минус только для фреймворковЭ» Согласен, проблема с отсутствием специалистов по Фортрану это хорошо показывает. Но все же, если компания пишет хороший код, то круг специалистов JS, которые могут его поддерживать, шире, чем круг специалистов jQuery. Зачем я все это написал? С популяризацией JS, как и все технологии, переживет ту же классическую историю, но сейчас находится посередине.
И хотелось бы, чтобы при всем обилии надстроек над ним (фреймворками) мы не забывали, что где-то в их недрах сидит чистый Javascript, на котором можно делать потрясающие вещи, о которых аддонам и не снилось.
P.S. Я прекрасно знаю плюсы и минусы использования фреймворков, так как работал в Разработчик Экспресс .
И я ни в коей мере не против их использования, я против замены ими продуманного подхода к разработке.
Типа: «Я здесь наведу беспорядок, и пусть фреймворк сам с этим разбирается».
Теги: #JavaScript #framework #разработка веб-сайтов
-
Видеообзор Вектор Тд 2
19 Oct, 24 -
Вы Храните Данные На Диске C:?
19 Oct, 24 -
Еще Руткиты – «Хорошие» И Разные. Часть I
19 Oct, 24