Reg.ru: домены и хостинг

Крупнейший регистратор и хостинг-провайдер в России.

Более 2 миллионов доменных имен на обслуживании.

Продвижение, почта для домена, решения для бизнеса.

Более 700 тыс. клиентов по всему миру уже сделали свой выбор.

Перейти на сайт->

Бесплатный Курс "Практика HTML5 и CSS3"

Освойте бесплатно пошаговый видеокурс

по основам адаптивной верстки

на HTML5 и CSS3 с полного нуля.

Начать->

Фреймворк Bootstrap: быстрая адаптивная вёрстка

Пошаговый видеокурс по основам адаптивной верстки в фреймворке Bootstrap.

Научитесь верстать просто, быстро и качественно, используя мощный и практичный инструмент.

Верстайте на заказ и получайте деньги.

Получить в подарок->

Бесплатный курс "Сайт на WordPress"

Хотите освоить CMS WordPress?

Получите уроки по дизайну и верстке сайта на WordPress.

Научитесь работать с темами и нарезать макет.

Бесплатный видеокурс по рисованию дизайна сайта, его верстке и установке на CMS WordPress!

Получить в подарок->

*Наведите курсор мыши для приостановки прокрутки.


Эволюция веб-разработчика или Почему фреймворк - это хорошо?

Что такое хорошо, и что такое плохо? Вопросы в меру риторические, если нет критериев, по которым мы оцениваем эту самую "хорошесть" или "плохость".

Но, прежде всего, мини-вводная для тех, у кого слово "фреймворк" пока еще не входит в активный словарный запас)

Фреймворк - это программная платформа, определяющая структуру программной системы; программное обеспечение, облегчающее разработку и объединение разных компонентов большого программного проекта.

Сие определение красуется в Вики, но мы можем и должны его упростить, если речь идет о веб-разработке, а конкретно - о PHP-фреймворках.

PHP-фреймворк - это программный каркас, набор библиотек кода, призванных упростить разработку веб-приложения.

Так вот, возвращаясь к нашим хорошо-плохо, давайте посмотрим на возможный эволюционный путь веб-разработчика.

Для упрощения оставим в сторонке дизайн, верстку и js-прибамбасы (ибо темы очень обширные) и посмотрим на эволюцию в рамках работы с серверным кодом.

Нередко новички начинают с разного рода CMS-систем. Перечислять не буду - их великое множество, хотя по-настоящему популярных не так уж и много.

Человек приходит в тему и хочет создать для начала хоть какой-нибудь сайт, чтобы примерно "пощупать", что это из себя представляет. Как правило, CMS-ки для таких целей подходят как нельзя лучше. Буквально за один вечер можно смастерить что-то удобосмотрибельное с неким базовым функционалом.

Почему это возможно? Потому что писать код вообще не нужно. Установили CMS-ку себе на сервер, что-то понажимали в админке и, вуаля - готово! Наш первый сайт.

После того, как сайт сделан, приходит понимание, что ты ни черта не понимаешь в том, как и что там работает, потому что все коррективы в его работу ты вносишь только лишь расставляя галочки в чекбоксах или выбирая опции в дропдаунах. Да, иногда еще приходится прописать кусочек html-разметки или стилей CSS (но это уже к верстке - не наша тема).

Как вы думаете, что чувствует при этом человек, который хочет разобраться с кодом? Конечно, у него возникает желание покопаться внутри CMS-системы, чтобы хоть как-то в ней сориентироваться.

Он открывает PHP-файлики один за другим и начинает смотреть: "А что же, собственно, там прописано?" Удивительно, но на первый взгляд новичкам в этом не понятно практически ничего.

Оно и понятно - многие системы писались не один год и далеко не одним человеком, поэтому разобраться в этом нагромождении кода непросто. Особенно, если новичок от веб-разработки пока еще не добрался до толстых учебников по PHP...

Но учебники по PHP решают. Реально помогают. И если человек целеустремленный, то он методично пройдется по нескольким книгам и разберется-таки с "голым" PHP.

Надо сказать, что это, во многом, момент прозрения. Многие начинают понимать что-то вроде: "Ё-моё! Так я ж и сам, наверное, могу написать что-то подобное!"

Конечно, это сложно, конечно, это долго, но сама мысль приходит. Более того, где-то мы даже думаем, что смогли бы сделать и получше, точно?

И начинаем пробовать, изучать и переходить на очередной уровень - еще повыше. Результатом освоения этого уровня нередко является некая самописная CMS-система, из которой выкинуто все лишнее и добавлено только то, что нам нужно.

У нас есть сайт, у нас есть админка, у нас есть код. И, что еще важнее, мы сами его написали. Реально круто.

Порадовались, что дальше?

Дальше приходит осознание, что наша CMS-ка хоть и крута, однако не вполне универсальна. По сути, она настолько заточена под какой-то конкретный проект, что использовать ее под что-то другое очень неудобно - потребуется масса переделок, порой весьма трудоемких.

И дальше мы начинаем думать другими категориями - мышление выходит на более высокий уровень абстракции, и мы пытаемся создать нечто универсальное и почти идеальное (хотя бы в голове).

- Нечто, что можно было бы использовать повторно.

- Нечто, что работало бы на нас вне зависимости от того, какой проект мы создаем.

- Нечто стандартизированное - с одной стороны, и нечто гибкое - с другой.

И всё для того, чтобы обрабатывать "исключения", которые, безусловно возникнут в любом проекте, который создается не для поисковых роботов, а для живых людей.

Но здесь уже нужно решать задачи очень высокого уровня, а для этого требуются острый ум, масса времени, уйма опыта и адское терпение. Согласитесь, что не все обладают таким впечатляющим набором качеств одновременно.

Вот здесь многие и приходят к тому, чтобы начать-таки использовать фреймворки.

А почему бы и нет?

CMS-ки попробовали
Сами в PHP поковырялись
Свою CMS тоже слепили...

Теперь дело за малым - когда знания более или менее улеглись, можно подумать и об эффективности, об экономии своего времени и оптимизации процесса. И все это позволяет сделать нам фреймворк.

Возможно, вы уже думаете: "Вот блин, ну и путь нужно проделать для того, чтобы прийти к фреймворкам! Я же ничего из этого еще и не сделал. Ну только с WordPress немного разобрался..."

На самом деле, рассмотренный вариант - это лишь вариант, и у каждого свой путь развития. Кто-то, например, приходит к использованию PHP-фреймворков сразу после CMS-систем, а кто-то - сразу после освоения основ PHP.

Вариантов в действительности масса. Вопрос лишь в том, насколько солидным "багажом" хочет обладать человек, какой уровень он считает для себя достаточным для того, чтобы приступить к освоению нового для себя инструмента. А тут уже выбор за каждым вебмастером и веб-программистом.

Мое глубокое убеждение состоит в том, что фреймворк использовать нужно.

Да, использовать CMS-системы нередко удобно (но часто бывает и наоборот).

Да, писать код самому с нуля - это круто (но далеко не всегда целесообразно).

Но еще круче, когда у вас есть инструмент, дающий вам и множество встроенного функционала "из коробки" (формирование url-адресов, пагинация, отправка почты, авторизация, высокий уровень защиты и т.п.), и возможность поковыряться в коде и дописать что-то под себя, оставаясь в рамках хорошо формализованной структуры.

Именно такой подход оптимален, если мы говорим о профессиональном веб-разработчике или о тех, кто стремится ими стать. Работая над своими проектами таким образом, вы прокачиваете свой профессионализм и эффективность.

Единственное, на что следует обратить внимание - это "фактор однодневности". Не стоит выбирать для освоения недавно появившиеся фреймворки, судьба которых находится под большим вопросом.

Представьте себе: вы набросились на новомодный инструмент, вложили в его освоение 2-3 месяца плотной работы, а через полгода он благополучно загнулся: сообщество слабое, разработчики куда-то пропали, код не поддерживается в актуальном состоянии... Картина грустная.

Поэтому перед выбором осмотритесь по сторонам, сравните динамику развития разных PHP-фреймворков, их возраст, документацию, частоту обновлений, размеры и активность сообществ, и только после этого принимайте решение. Так вы почти наверняка обезопасите себя от пустой траты времени. А время в наше время драгоценно. Впрочем, как и всегда.

Если идея с PHP-фреймворком вас зацепила - велкам сюда.

На днях мои коллеги выпускают полный курс по работе с одним из популярнейших и мощных фреймворков - Yii2. Ну а пока еще есть несколько дней в запасе, посмотрите серию бесплатных уроков по Yii2, чтобы определиться, нравится вам это дело, или нет.

Бесплатные видео по Yii2.

Понравился материал и хотите отблагодарить?
Просто поделитесь с друзьями и коллегами!


Смотрите также:

PHP: Получение информации об объекте или классе, методах, свойствах и наследовании

PHP: Получение информации об объекте или классе, методах, свойствах и наследовании

CodeIgniter: жив или мертв?

CodeIgniter: жив или мертв?

Функции обратного вызова, анонимные функции и механизм замыканий

Функции обратного вызова, анонимные функции и механизм замыканий

Применение функции к каждому элементу массива

Применение функции к каждому элементу массива

Слияние массивов. Преобразование массива в строку

Слияние массивов. Преобразование массива в строку

Деструктор и копирование объектов с помощью метода __clone()

Деструктор и копирование объектов с помощью метода __clone()

Магические методы в PHP или методы-перехватчики (сеттеры, геттеры и др.)

Магические методы в PHP или методы-перехватчики (сеттеры, геттеры и др.)

PHP: Удаление элементов массива

PHP: Удаление элементов массива

Ключевое слово final (завершенные классы и методы в PHP)

Ключевое слово final (завершенные классы и методы в PHP)

50 классных сервисов, программ и сайтов для веб-разработчиков

50 классных сервисов, программ и сайтов для веб-разработчиков

Наверх