КОнтакты, предложения, отзывы

.rar или .zip
Вложение
Онлайн-чат
На этом сайте, вы найдёте полезную информацию, практические советы в области веб-программирования, веб-дизайна и веб-разработок в целом. Мы с удовольствием поделимся с вами реальными примерами и решениями задач, связанных с jQuery , JavaScript , PHP и MySQL , версткой сайтов , поможем разобраться новичкам с современными технологиями, такими как Ajax , HTML5 , CSS3 и многими другими.

фреймворки или Факультет Ненужных Вещей

Круче - это значит проще
<INCODE.PRO>

Костыль на костыле и костылём поганяет
или Дальнейшее ухудшение мира с целью улучшения

Всем большой привет! Сегодня в планах у меня донести до вашего ума и сообразительности факт абсолютной ненужности, бесполезности и горя которого вы обязательно хлебнёте если будете пользоваться чужими немецкими (я в этом просто уверен, что это немецкая диверсия))) так называемыми фреймворками. Их девиз - «зачем изобретать свой велосипед, мы сделали его лучше чем сможете вы, непрофессионалы. Мы работаем над ними, они Обновляются, что самое главное, добавляются новые фичи и плюшки, которые всего лишь надо тупо Выучить и сделать в точности так как написано в нашей громадной документации, в которой сам чёрт ногу сломит и рога затупит. И тогда ОНО ЗАРАБОТАЕТ, как вы не понимаете.. Берите, друзья, мы всё написали!»
Ну что же, давайте смотреть что они нам предлагают, может и в самом деле зачем самому думать если есть дяди умнее нас..

1 Первое с чем вам придётся столкнуться (я все их не смотрел, только лару и уии), почему индексный файл сайта находится не в корне сайта, а в какой-то **** (папке). То есть нам сразу дают костыль, который должен подпираться другим костылём - редиректами через .htaccess. Сразу становится непонятным взаимодействие между файлами и классами, но они же это всё подпёрли своими граблями, не переживайте, как-то оно там пляшет.. Уже на этом самом первом этапе у вас должны возникнуть неприятные предчувствия и недоумение, а ведь это только начало, погодите..

2 Чудовищная мешанина html и php кода в файлах шаблонов.. Просто жуть.. Cами гляньте если есть лишнее здоровье. Кругом применяются какие-то хелперы (??? сами ж мы не знаем как экранировать тэги, да ??? ). И ссылки по-человечески не комильфо прописывать, юзайте это, товарищи!
  <li class="active"><?= Html::a('Главная', '/web/') ?></li>
Видели? На /web/ ссылка ведёт, а не на корень. Но это всё поправимо, сами делайте, гениальная структура предоставляется.

3 Роуты не на регулярных выражениях. У себя я сделал так:
  /**
  * запросу соответствует строка, содержащая имя класса
  */
  return array(
    '^index\.php|index\.html$' => 'mainPage/index/0',
    '^(page=(\d+)?)?$' => 'mainPage/index/$2', // actionIndex в mainPageController с передачей параметра какая страница номер затребована
    '^\?search=(.*)$' => 'search/search/$1',
    '^[^\/]+$' => 'category/category/$0', 
    '^[^\/]*\/(.*)$' => 'article/article/$1'
  );
обошелся всего пятью контроллерами и четырьмя видами. И они лежат не бог знает где и добавление новых - дело пяти минут. Конечно, проявив адское терпение и выучив всю документацию, вы сможете и сами каким-то чудом на этой телеге такое же реализовать, но спросите себя, а зачем, если у меня то же самое, тот же паттерн MVC, только гибче и понятнее..

4 Ограничения на отправку AJAX-запросов. Генерируются CSRF токены для защиты от хакерських атак и не даёт возможности отправить POST аяксом, нужно отключить это (ройте документацию), и вуаля! Всё просто там у них, всё ж для людей. Ну неужели у нас не хватит мозгов самим написать защиту от CSRF? Это ведь всего пару строк кода. Зато как эта защита работает у них, насколько она продумана - это для вас загадка. Естественно, что её можно разгадать и проверить. Но что лучше: потрать несколько дней на разгребание тонны чужого кода или написать самому? Если знаний маловато, то это еще больший плюс, т.к. это опыт... "Опыт" - с большой буквы, который никакой фреймворк вам не даст. Ответьте не мне на вопросы выше, а самому себе.. И ещё непонятно, куда я должен отправлять запрос, выходить из папки web или может, как-то обойдётся малой кровью?

5 Даже самому файлы js и css вам не дадут подключить по-нормальному, их нужно объявлять в каждом шаблоне, регистрировать блоки кода если хотите на отдельной странице что-то изменить к примеру. Ну вот спрашивается, ну зачем передавать в php через heredoc кусочки js или css-кода? Это похоже на решения Доктора Хаоса И эти чудные html-хэлперы для недоумков которые сами не могут по-людски создать бутстраповскую форму:
  echo $form->field($model, 'email')->input('email');
  echo $form->field($model, 'text')->label('Текст сообщения')->textarea(['rows'=>7]);
Так ПРОЩЕ?

6 Всё равно вам нужно писать свои контроллеры, виды и свои модели, однозначно. Только лежать они должны в определённых местах, иначе.. И наследоваться должны чётко от чего-то там серого и неясного.

7 Миф об оптимизации сайтов на фреймворках под нагрузкой - просто миф. Если ваш код и структура БД будут качественными, разницы не будет никакой, разве что в вашу пользу, потому что не будут вызываться тучи ненужных функций. Тут больше от сервера зависит.

В общем, вас загоняют, вернее, вы сами себя обречёте если за это уцепитесь, в жесткие рамки, из которых вам придётся как-то выбираться.. Я понимаю разработчиков фреймворков, всё гениальное просто, на нём много не заработаешь и жизнь его развитию не посвятишь, но не понимаю людей, которые на это ведутся и берут на вооружение.. ЧТО У НИХ В ГОЛОВЕ? Ведь это не велосипед, не хорошая библиотека для решения какой-то задачи, это похоже на то, как если бы спрессовали в куб пару сотен велосипедов и там руль торчит, там - колесо.. Вам предоставляется (за)конченая структура сайта, полёт фантазии и свою гибкость ума спрячьте, поднимайте блоки и ставьте их точно на соответствующее им место, и попробуйте только ошибиться. Вместо того чтобы Один раз понять паттерны проектирования и гибко применять их в своих проектах, зная всё от А до Я в своём коде и спя спокойно, берут чужую немецкую разработку.. А вот если случайно что-то вы там в их файлах испортите, вы это потом найдёте, поправите, как вы думаете? А эта огромная документация, какой мозг её всю выучит? За это время тупого разбирательства можно стать профессиналом по нейронным сетям.

А вот пиша свою структуру сайта самостоятельно в зависимости от задач и используя нужные библиотеки, вы
  • Получаете замечтательную гибкость своего творения, возможность без проблем изменить или удалить всё что душа пожелает, ведь вы всё сами писали, всё вам известно в своём детище
  • Колоссальную экономию времени, раз поняв и воплотив в жизнь паттерн, его реализацию с соответствующими корректировками вы будете применять тем же методом копировать-вставить и заниматься творчеством дальше, а не офигевать от чтения томов документации
  • Уверенность в качестве своего движка (если он качественный конечно)))
  • Ну и наконец, просто радость от процесса решения задач самостоятельно, эта работа должна приносить удовольствие

Итоги дня

Есть те, кто ездит на машинах, а есть те, кто плюс ко всему, разбираются в её устройстве. Вы, как обычный водитель, поломавшись на дороге, будете ждать эвакуатор или того, кто будет проезжать мимо и поможет вам. Работая с фрейворками, без хороших знаний, вы превращаетесь в блондинку, у которой спустило колесо машины, а она не в состоянии что-то сама сделать. А вот когда знания у вас будут, "облегчения жизни разработчикам" вам не только не нужны будут, но будут только мешать. Я никак не пойму, откуда это зло ползёт в светлые умы..
Цитата из статьи на Хабре :
Пример из практики: как-то раз я проходил собеседование в одну фирму в Испании. Нужно было сделать тестовое задание, за час в режиме live-coding создать одностраничное приложение по документации, сколько успею. Я успел полностью, на JavaScript с одними лишь модульными библиотеками. Даже осталось немного времени написать тесты. Люди не понимали, как можно реализовать роутинг с переключением страниц, сложные интеактивные элементы и другое за такое время без фреймворков. Это ребята, которые, как и я, 10 лет в отрасли, но они изучали конкретные решения, а не принципы.
Когда вы изучаете фреймворки – вам нужно переучиваться переходя на новое решение, а они появляются постоянно, и большая часть вашего опыта стирается. Когда вы изучаете принципы – они остаются.

Короче, это не для меня, чужие бетонные структуры. Я люблю понимать и знать весь свой код, делать его гибким и простым, и учить сам язык, на нём можно сделать то же что и немецкие пети, даже лучше. Вы ж с форумов и с документации до конца своих дней не вылезете и в самом понимании процесса не продвинетесь ни на шаг.. Все огромные проекты написаны ручками - ВК, Facebook.. Я даже не представляю всех тех мучений бедных хомячков если бы они стояли на фреймворках. Это не программирование, лучше учите язык и паттерны проектирования, вы можете сами и можете лучше = моё мнение + мнение настоящего профессионала Из плюсов единственное - понравилась система отладки, но всё то же самое есть в консоли и если хочется, реализуется за день.

Кому интересно, посмотрите насколько всё по сути просто и не нужно усложнять себе жизнь и зря портить нервы.
2017.07.28 100
jpg

Войдите или Зарегистрируйтесь чтобы оставить комментарий

Комментарии


    Яндекс.Метрика Яндекс.Метрика