Какие технологии вы используете при разработке web?
Всем привет
Уже как пару месяцев пишу проект на PHP. При разработке, концепция была спроектирована поверхностно. Из-за чего потребность во многом функционале возникала в ходе разработки
Вследствие чего код получился дырявым, не оптимальным, плохо структурированным. Одним словом мусор. Плюс ко всему пришло осознание что многое можно было реализовать получше.
За основу брал один фреймворк с гитхаба и просто писал код.
И так как есть много свободного времени, принял решение начать разработку с нуля, заранее все-таки спроектировав структуру сайта. Запускать MVP не очень хочется, тем более с текущей реализацией.
Так вот, вопрос в следующем: какие технологии стоит использовать (какие технологии используете вы) при разработке веб проектов?
Это некий пет проект
Пока у меня список следующий:
1. Перейти на SASS/LESS. Сейчас пишу чисто спагетти код из стилей. Я бы и дальше продолжил это дело, но в вакансиях часто требуется данный навык. Да и если в данном проекте не пригодится, так в следующем пригодится
2. Использовать сборщики. В основном цепляет автоматическая минификация и обфускация кода, сборка всех скриптов, к примеру, в один файл. Ну и плюс в тех же вакансиях мелькают всякие gulp и тд
3. Использовать Git. Сейчас после каждого обновления кода, я просто обновлял скрипт на сервере, но это не есть хорошо, насколько я знаю
4. Использование БЭМ-разметки (под вопросом), Во-первых, он не сильно необходим проекту, а во вторых он не очень дружит с бутстрапом, насколько я знаю
5. Изучение и применение какого-либо стандарта кода (что можете посоветовать? какой сейчас более востребованный?)
6. Юнит тесты по ходу разработки. Пока не совсем понял, как именно проходят эти тесты php кода, но чувствую, что это важная часть разработки
P.S. сейчас используется Jquery, фреймворк построен на нем. Изучить react/angular хотелось бы, но не на этом проекте (а то еще больше проблем себе создам)
Меня смутили две вещи:
1. Вы говорите про php и фреймворк, но в конце ваш фреймворк оказался на jquery? (Сысле?)
2. Фраза «обновил скрипт». У вас все в одном файле, что ли?
1. Вы говорите про php и фреймворк, но в конце ваш фреймворк оказался на jquery? (Сысле?)
Там бек на пхп, и заодно уже подвязян фронт (базовые функции фреймворка). И эти функции на jq написаны
2. Фраза «обновил скрипт». У вас все в одном файле, что ли?
Та нет
Есть n-ое количество контроллеров, к примеру. Когда обновляю один из них, то просто выгружаю новую версию на сервер. Если были затронуты и другие файла (модели, виды, конфиги), то их так же загружаю на сервер
Я sass не использую — фронт не так много времени занимает.
Бэм прикольная штука. Избавляет от хаоса в стилях раз и навсегда.
Гит — бэз комментариев :)
Из кода — react/vue на фронте, node на сервере. Отличный стек для небольших проектов. Стандартный подход — общаюсь с беком только по api, никаких вьюшек и шаблонизаторов.
1. Переход на SASS/LESS не избавит вас от спагетти кода из стилей. В этом вам помогут всякие методологии ведения стилей.
2. Тут тоже надо с головой делать, а не кинуть всё в один файл. Попробуйте, почитайте, свяжите сборщик со своими SASS/LESS пусть компилируют в CSS, в общем: полезно для фронта. Но для вашего проекта - не жизненно необходимо, проблемы то (по вашим словам) в архитектуре, а сборщики это не решают
3, 4 - ...
5 - https://getjump.github.io/ru-php-the-right-way/ : читайте, читайте про PSR
6 - Так же как и других кодов. Тут недавно накидывали лит-ры про тестировании - погуглите в общем
Какие использую я: на данный момент нет пет-проектов, а описывать, что есть на работе не вижу смысла.
Мб другие подскажут. Можете просто погуглить вакансии, там, обычно, указывают стек технологий
1. удобно просто для себя: можно разбить весь код на отдельные файлы, которые при компиляции сольются в один; да и переменные рулят (можно ненапряжно тестить как при разных параметрах будет выглядеть результат; особенно вместе с лайврелоадом). время осиливания минимальное.
2. особого смысла не имеет, если фронт простенький. время осиливания минимальное.
3. мастхэв. подойдет вообще любая vcs, но гит - мэйнстрим. плюс осилить деплой.
4. не моя тема, сказать нечего.
5. любой, начать можете с psr. главное — придерживаться выбранного стиля. а современные средства автоматического форматирования кода вообще эту проблему закрыли.
1) Использую less. Хотя что less, что другие препроцессоры - все норм, дело вкуса и привычки. Это маст-хэв для фронтендера.
2) Webpack. Gulp ни разу не юзал, сразу начал с webpack. Но сборщик нужен уже для более-менее серьёзных проектов, где часто используются фреймворки по типу vue/react.
3) обязательно
4) Сам использую, для серьёзных проектов советую. Насчёт бутстрапа - для простого типового дизайна, админок или прототипов подходит. Но для вёрстки уникального дизайна не подходит, разве что сетку можно взять. Хотя чисто для сетки удобен smartgrid
5) psr
6) для средних и крупных проектов используют.
1. Препроцессоры - мастхэв для любого, кто занимается не только чистым бэкэндом. Изучаются недолго, облегчают жизнь в сотню раз.
2. Сборщики такой же мастхэв. Изучаются недолго, облегчают жизнь в сотню раз.
3. Снова мастхэв
4. Снова мастхэв. Очень удобно, очень помогает со структурированием кода и упрощает его восприятие. Вместо бутстрапа можно использовать SmartGrid. Ну и БЭМ не обязательно сувать везде, но порой очень помогает.
5,6 -