EkzoMan

Пикабушник
283 рейтинг 91 подписчик 37 подписок 12 постов 0 в горячем
Награды:
10 лет на Пикабу
2

О веб-разработке для самых маленьких. Перезагрузка

Доброго времени суток, дорогие друзья и подписчики.

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

Текучку закрыл, собрался с мыслями и вернулся к вам. Итак, для начала объясню смысл слова "Перезагрузка" в названии.

У меня было достаточно времени чтобы обдумать всё. И я пришел к выводу, что неправильно подошел к вопросу.


В предыдущих постах было много претензий со стороны читателей. Некоторые были конструктивными и я учту из. Другие, уж простите, немного бредовые. Учитывая изначально обозначенный круг аудитории (а именно уже практикующие программисты), просьба описать установку локального веб-сервера выходит за рамки статьи. Те, кто собирается выполнять проекты с популярных фриланс платформ, должны знать как выполнять такие простые действия. А также всё зависит от ОС, которой пользуетесь вы. Нет, ну честно, всем ли будет интересно, если я вам напишу 5 команд, которые необходимо ввести в терминале Linux? Особенно если вы пользуетесь MacOS.

С другой стороны, покажу и расскажу как настроить инструменты разработки. Данная тема, действительно, поможет быстрому старту.

И на сладкое. Я решил перезагрузить идею цикла. Вместо создания скучного сайта-визитки, мы возьмём макет реального задания с фриланс-сайта и сделаем проект на его основе.


Представляю вам макет главной страницы взятого проекта.

Небольшие допущения, которые будут в работе:

1. Некоторые изображения будут заменены, так как исходников у нас нет. А пихать картинки с нарисованными кнопками и текстом - не наш выбор.

2. Шрифты будем подбирать максимально похожие, но расхождения всё равно могут быть.

3. В шаблоне есть варианты для мобильной версии. Мне не всё в них нравится, поэтому их тоже немного переделаем.


Что ждёт вас дальше? Мы пройдём следующий путь:

1. Установим и настроим редактор для дальнейшей работы.

2. Создадим каркасный дизайн (wireframe) из представленного шаблона.

3. Разрежем и подготовим макет. Создадим необходимые заготовки для верстки (less файлы).

4. Создадим базовый шаблон для Wordpress с базовым дизайном.

5. Добавим шаблоны нестандартных страниц.

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

7. Установим плагины для работы с формами обратной связи и заказов.

Вот такая перезагрузка у нас получается.

Показать полностью 1

Вместо нового поста

Уважаемые пикабушники, добрый день.

К сожалению в ближайшие пару дней я не смогу дописать очередной пост так как готовлюсь к отпуску.

Но зачем терять время? Давайте устроим голосование/обсуждение пока мы не ушли слишком далеко.

Поступают запросы на более широкое освещение темы разработки сайтов. Начиная с настройки локального веб-сервера, выбора инструментов для разработки и создания макетов. Честно скажу, что не вижу смысла расписывать настолько глубоко, так как туториалов по этой теме в сети очень много. Да и тема изначально была заявлена немного в другой плоскости. А именно - помощь молодым сайтостроителям, которые уже изучили базовые вещи (html,css,javascript) и инструменты (wamp,brackets,sublime etc.), сделать первый шаг в прикладную разработку.

Если большинство моих читателей решит, что нужно писать посты в расширенном варианте с остановкой на каждом инструменте и шаге, я готов пойти на встречу.

Так что до понедельника буду ждать ваши отзывы.


Всем бобра!

Вместо нового поста

P.S. баянометр ругается на картинку

Показать полностью 1
10

О веб-разработке для самых маленьких (часть 1). От идеи до макета

Доброго времени, уважаемые пикабушники.


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

Но хороший программист тратит только 30% времени на написание кода. Остальное время будет потрачено на подготовку. Такой подход позволяет избежать большого количества проблем на завершающем этапе разработки.


Не буду долго томить вас, и начнём нашу работу.


Для начала давайте создадим папку для рабочего проекта. Назовём её first_template (оригинальность зашкаливает). И внутри создадим следующую структуру

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

Не имеет большого значения, делаете ли вы заказ или разрабатываете сайт "для себя". Первым и самым важным этапом, по моему скромному мнению, является создание прототипа на wireframe'ах (далее визуальных моделях). Уже предчувствую огромное количество критики в свою сторону, но я готов объяснить почему именно так стоит делать.


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

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

Написание html и css удобнее делать иерархически. Это позволит вам структурировать конечный код и сохранять его чистоту.

Для создания визуальной модели можно воспользоваться любым удобным редактором. Для примера можете воспользоваться сервисом wireframe.cc (не реклама. выдаётся первым в поисковиках и, как бонус, можно рисовать без регистрации).


Давайте набросаем простую модель с следующими блоками:

1. Горизонтальное меню

2. Графический блок с нашим суровым красноглазым лицом нашей фотографией

3. Блок с последними выполненными работами

4. Блок с списком наших услуг

5. Форма заказа разработки


И получается примерно такая картинка

Описывать принцип работы с wireframe редактором не имеет смысла, так как всё сводится к перетаскиванию блоков на рабочее поле.

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

Результат сохраняем в first_template\temp\images\wireframe.jpg

Наша визуальная модель готова. Как только вы получите удовлетворительный результат, настаёт время переноса этой модели в графику (если нет готового дизайна).

Для начала мы создадим следующий уровень абстракции в который добавим только цвета и графические изображения.


Не заостряйте внимание на нарисованном макете. Во-первых, у меня извращённое чувство прекрасного. Во-вторых, всё сделано на коленке за 15 минут свободного времени. Да и не имеет значения данный дизайн, так как он сделан исключительно для демонстрации.

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

Фиксируем завершенный этап работы и положим его в first_template\temp\images\design_clean.jpg


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

Для ускорения наполнения шаблона лучше всего текстовые блоки заполнять стандартной рыбой lorem ipsum. Я же для наглядности написал более-менее осмысленный текст.

Наш макет начал походить на сайт. На текущий момент мы сделали всё, что нам необходимо для того, чтобы приступить к созданию наших шаблонов (не путать с шаблоном для wordpress. до него ещё не дошло). Сохраняем последний макет в first_template\temp\images\design.jpg

И также сохраняем исходник в формате редактора, которым вы создавали этот макет (Photoshop,GIMP, etc.). Он нам понадобится для быстрого внесения изменений или доработок, если в них будет необходимость.

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

Вопрос к аудитории.

Уважаемый подписчик @zlobak сделал ряд замечаний. Основное замечание, что посты получаются не совсем познавательными. В них не хватает таких вещей, как:

1. Установка и настройка локального сервера

2. Установка и настройка рабочего окружения

3. Посты не для новичков, которые ничего не понимают в разработке (хотя я писал, что на них и не рассчитано)


Буду признателен если вы выскажите своё мнение о том, стоит ли настолько глубоко расписывать? Потому что для этого мне придётся или на работе ставить весь стандартный набор WAMP и т.д. Или поднимать виртуальную машину с windows так как дома сижу на linux.

Показать полностью 3
2

О веб-разработке для самых маленьких (часть 0.1). Подготовка

Доброго времени суток, уважаемые пикабушники.


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


Второй задачей, которую я поставил перед собой, является демонстрация того, что отсутствие опыта работы с другими языками программирования не является сдерживающим фактором. Как я уже написал, моим основных языком программирования является C# (до этого был pascal и vb). С PHP я практически не сталкивался, поэтому на своём примере покажу с какой стороны подойти к новому для себя языку.


Также считаю необходимым сказать следующее. В комментариях было предложение начать с поднятия локального сервера и его настройки. Так как я обозначил аудиторию (разработчики, владеющие базовыми навыками и знаниями), то подразумевается, что читатель знаком с WAMP, Brackets, Sublime Text, VSCode и другими сопутствующими инструментами. Да и на просторах интернета туториалов по их установке и настройке слишком много, чтобы добавлять ещё один фантик в мусорную кучу.

Данный пост немного опишет основные моменты дальнейшей работы. Он практически не несёт в себе полезной информации с точки зрения разработки, а является вступлением.

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


В реальной жизни на этом этапе разработчик получает ТЗ от заказчика, проводятся обсуждения и совещания для согласования деталей и особенностей проекта. После чего мы как разработчики переходим к этапу подготовки и планирования. Почему не надо сразу бросаться в пучины графических редакторов и написания кода? Как показывает практика, такой подход чреват огромным количеством переделок на ходу и тратой лишнего времени на внесение изменений в уже сделанный проект.

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


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

Разберемся в происходящем.

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

Давайте приступим к самому важному этапу - подготовке.


Самое важное, что нужно решить сейчас - структура сайта. Вы можете сказать "что там думать? нужен крутой, красочный лендинг и поехали!". Но если останавливаться только на лендинге, то создание сайта на CMS не имеет смысла, так как такую работу можно сделать быстрее и намного проще в любом конструкторе. Да и сайты с "бесконечной прокруткой" не очень информативны.

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


Давайте набросаем список страниц, которые должны присутствовать на нашем будущем сайте.

1. Лендинг (без него никуда)

2. О нас (здесь мы напишем кто мы и что умеем)

3. "Стек" (назовём пока так. здесь напишем те технологии и языки программирования с которыми работаем)

4. Портфолио

5. Форма обратной связи/заказа

Теперь можно выбрать концепцию дизайна. Что я имею в виду? Как ни странно, нужно определиться с выбором цветовой гаммы для сайта, общими блоками, которые будут присутствовать на каждой странице (например, заголовок и подвал), типографией. Данный этап очень важен, так как он определит внешний вид будущего сайта и удобство для посетителей.


Давайте сделаем сайт белым, а функциональные блоки будут синими (у меня этот цвет является любимым. вы можете выбрать на свой вкус).


На главной странице сайта мы разместим следующие блоки:

1. Наша опухшая рожа самую красивая фотография с небольшим текстом, описывающим нас

2. Последние N выполненных работ с комментариями заказчиков

3. Расценки на работу

4. Форма заказа/обратной связи

Больше блоков делать не будем (я уже писал о лендингах с "бесконечной прокруткой"). Остальная информация отправится на свои страницы.


Вот мы и определились с "скелетом" для нашего проекта. Также на данном этапе необходимо выбрать CMS на основе которой будет выполняться разработка. В вступительной статье я уже назвал её, так что мы будем работать с wordpress.

Что дальше?

Следующим этапом будет прототипирование нашего будущего сайта. Под прототипированием я подразумеваю создание визуальной модели (Wireframe) наших страниц. Этот этап важен для общего понимания строения наших страниц. Также данный метод позволит быстро внести изменения в структуру, если что-то нам не понравится. И на основе таких моделей гораздо проще разрабатывать макеты в графических редакторах.

Показать полностью
9

О веб-разработке для самых маленьких (часть 0)

О веб-разработке для самых маленьких (часть 0)

Доброго времени суток, уважаемые пикабушники.

Матёрым и написавшим 100500 строк кода программистам сразу могу посоветовать не тратить время на чтение. Этот материал будет для вас скучен.

Этим постом я начинаю серию, в которой постараюсь рассказать начинающим веб-разработчикам (и просто интересующимся) о процессе создания сайтов. Очень часто на форумах и специализированных порталах появляется один и тот же вопрос от новичков в мире программирования и сайтостроения о том как начать. Именно это я и постараюсь рассказать.
Сразу договоримся, что рассказывать азы html, css, javascript и сопутствующих технологий я не буду. Этой информации в сети и книгах дох... очень много.
За основу возьмём CMS Wordpress как самую популярную систему управления сайтами. Объясню почему.
Во-первых, большая популярность системы означает, что в сети полно информации и документации.
Во-вторых, огромное количество плагинов, позволяющих получить 80% функционала не тратя время на самостоятельную разработку.
В-третьих, мне просто самому интересно с ней разобраться.
В-четвёртых, самостоятельная разработка даже простейшей CMS займет неоправданно много времени.

Ах, да! Забыл сказать, что я практически не владею PHP. Зачем же я ввязываюсь во всё это не имея опыта разработки на PHP? Хочу показать новичкам, что знание одного языка программирования (в моём случае С#) не является преградой в работе с другими языками. Так что я вместе с вами изучу этот популярный язык программирования.

Цикл будет состоять из следующих больших тем:
1. Идея. От задачи до макета.
2. Погружение. От макета до прототипа.
3. Внедрение. От прототипа до шаблона.
4. Развертывание. Структурирование и наполнение.
5. Развитие. Разработка собственных дополнений.
6. Заключение.

Также, будут небольшие отступления от основной идеи, если понадобится немного порассуждать о тех или иных шагах и решениях.

Если вам интересно, ждите новые посты. Постараюсь не затягивать с публикациями.

Показать полностью
Отличная работа, все прочитано!

Темы

Политика

Теги

Популярные авторы

Сообщества

18+

Теги

Популярные авторы

Сообщества

Игры

Теги

Популярные авторы

Сообщества

Юмор

Теги

Популярные авторы

Сообщества

Отношения

Теги

Популярные авторы

Сообщества

Здоровье

Теги

Популярные авторы

Сообщества

Путешествия

Теги

Популярные авторы

Сообщества

Спорт

Теги

Популярные авторы

Сообщества

Хобби

Теги

Популярные авторы

Сообщества

Сервис

Теги

Популярные авторы

Сообщества

Природа

Теги

Популярные авторы

Сообщества

Бизнес

Теги

Популярные авторы

Сообщества

Транспорт

Теги

Популярные авторы

Сообщества

Общение

Теги

Популярные авторы

Сообщества

Юриспруденция

Теги

Популярные авторы

Сообщества

Наука

Теги

Популярные авторы

Сообщества

IT

Теги

Популярные авторы

Сообщества

Животные

Теги

Популярные авторы

Сообщества

Кино и сериалы

Теги

Популярные авторы

Сообщества

Экономика

Теги

Популярные авторы

Сообщества

Кулинария

Теги

Популярные авторы

Сообщества

История

Теги

Популярные авторы

Сообщества