Метод Javascript

Понятно, что за последние годы 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 #разработка веб-сайтов

Вместе с данным постом часто просматривают: