Тимур Арифулин
август 2016.
8487

Хочу заняться веб-дизайном и программированием сайтов. С чего стоит начать? Какие языки выучить?

Ответить
Ответить
Комментировать
0
Подписаться
53
6 ответов
Поделиться

Полюбите веб. Большая часть разработчиков любит свою технологию, интернет и компьютеры больше, чем что-либо другое. Ваш вопрос только на 50% про веб-дизайн, ведь программирование сайтов - несколько иная область. Лэт ми эксплейн...

Удостоверьтесь, что обладаете техническим складом ума, любите потреблять объемную структурированную информацию. Это очень важные качества, без которых не бывает никакого программирования. Если вы очень любите смотреть ролики на ютубе и читать посты вконтакте, то процесс обучения может оказаться для вас сложным или невозможным, если не полюбите текстовую информацию (программист, напоминаю, пишет, а не рисует и не поет).

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

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

Постепенно подмешивайте в список изучаемого синтаксис CSS и язык программирования JavaScript в связке с jQuery. Эти технологии так же используются непосредственно в браузере устройств, и неразрывно связаны с содержимым и внешним видом страниц, которые вы программируете. В отличие от всеобщего заблуждения, в CSS нет ничего сложного, если вы разберетесь что такое selector, и какие свойства бывают у HTML-тегов, программируемые с помощью атрибута style. Смысл CSS-файлов исключительно в установке этих свойств и их изменении при возникновении определенных событий, что возможно, благодаря JavaScript (JS) и популярной для него библиотеки jQuery (написанной на том же JS, которая позволяет очень просто манипулировать уже сформированной страницой из скрипта, по необходимости).

JavaScript - язык программирования, который обладает широкими возможностями на высоком уровне и используется за пределами веба. Для кого-то JS будет даже проще, чем язык Python, который не связан с вебом напрямую, но так же имеет неограниченную сферу применения. При знакомстве с JavaScript вам следует в первую очередь понять, чем язык программирования (programming language) отличается от языка разметки (markup language), что такое function, что такое operator/token, и, собственно, переменная (variable).

У некоторых людей, кем я приходился ментором по обучению, была проблема именно от непонимания того, что такие базовые понятия и их восприятие - ключевое в си-подобных языках, к которым относится и JavaScript. Еще ключ в понимании того, как взаимодействуют HTML, CSS-файлы и JS-скрипты в рамках реальной конкретной страницы. Каждая HTML-страница содержит в себе ссылку (тэги <rel> и <script>), которые "включают" внешние файлы в текущую страницу. Благодаря кэшированию, эти файлы не скачиваются браузерами каждый раз, что снижает нагрузку на сервер и, конечно, делает странички быстрыми и удобными.

Где искать литературу? Какие задачи ставить в целях обучения? Конкретные советы за пределами данного ответа - вы можете задавать более конкретные вопросы. Но нужно помнить, что существуют такие замечательные сайты как Amazon.com, Google.com, и всевозможные форумы, вроде StackOverflow.com (есть русскоязычный раздел), где вы найдете именно то, что вам нужно для самообучения, или можете спросить конкретный вопрос, который вас интересует. Если сможете сформировать его правильно. Учите английский язык, без него у вас вообще ничего не получится. А если ваш уровень Pre-Intermediate, то вы уже можете осваивать англоязычные ресурсы и форумы, если захотите. Так как IT в основном развивается за пределами РФ, делайте выводы, о том, с какими источниками вы познаете и не потеряете дзен. О покупках в интернете Что самое дорогое и необычное продавали на eBay?Какие есть лайфхаки, чтобы выгодно совершать покупки в интернете?Можно ли на AliExpress купить не поддельные iPhone или другие известные бренды?Спросите эксперта

Если вы хотите освоить веб-дизайн как таковой, то есть делать полноценные и оригинальные дизайны для страниц, то вам придется дополнительно занятся изучением таких программ, как Adobe Photoshop, Adobe Illustrator. Неплохо бы ставить себе конкретные задачки и решать их, например, делать сайты для портфолио, которые никому не нужны, но зато, принесут опыт. Видите дизайн? Делаете плагиат, учитесь, как это устроено, позже вы сможете делать свое, и спокойно сможете продавать это - я не занимаюсь веб-дизайном вообще, но охотно покупаю дизайны в разных местах, когда мне нужно разработать тот или иной сайт. И плачу я, в первую очердь, за аккуратность, атмосферу и оригинальность.

Кстати, старайтесь никогда не писать много кода. Это почти талант, и многим его сложно выработать. Как это не странно, но если вы научитесь слушать и искать, то почти все, что вам придет в голову, уже изобретено, будьте уверены. Поэтому приучите себя к бизнес-логике, где ваш роль в запуске и управлению проектами, а не просто кропотливой работы, которая съедает время. Тот же пример с jQuery - лишь пример того, как наиболее нужные большинству потребности удовлетворены в виде стороннего js-скрипта, подключенного на милионы сайтов.

Это конечно хорошо, изучать Html+JS+CSS, но рано или поздно встанет вопрос о конкретном веб-сайте, который вы захотите видеть в интернете. Для этого вам понадобится веб-сервер, основная задача которого - раздавать веб-страницы клиентам. Серверное программирование, или, правильнее говорить, back-end программирование - это совершенно другая сфера. Сервер может включать базу данных, какую захотите вы, выполнять любые функции, какие захотите вы, но здесь вас ждут несколько иные требования и задачи. Я бы рекомендовал посмотреть в сторону Django(Python); или Node.js, что не потребует изучения других языков, кроме того же JS - как сделали разработчики TheQuestion, если вам интересно. Однако серверное программирование вещь более тонкая, и постороннего придется изучать очень много. Например, несмотря на всевозможные фреймворки и ORM-обертки, вы не станете back-end программистом без знания Linux/bash, языка SQL, HTTP/TCP, фаерволлов и тому подобного. Хотя для освоения веб-дизайна можно обойтись значительное время обычными html-файлами, без сервера вообще. В конце концов, помните что у вас очень большой выбор хостинга в современном мире, и размещать свои файлы и даже программировать веб-сервер на арендованном VPS это очень дешево. Но это понадобиться только на том уровне, когда вы будете четко понимать что и как.

Я начинал изучать все вышеуказанное, управляя сайтами магазинов на Joomla и Wordpress, на освоение основ php/html/css/js ушло не более 7 месяцев, если не учитывать книги по HTML, C++, C#, photoshop и php, которые я прочитал много ранее до начала обучения. Моя позиция заключается в том, что вам надо избегать PHP, из-за его отвратительного вида, излишней простоты, фундаментальных дырах в безопасности и ограниченной области применения. Так что, если хотите, смотрите сначала внутри, потом под капот различных CMS - готовых движков или фреймворков, но только на актуальных и современных технологиях. Или не идите по такому пути.

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

Dmitrij Igorevichотвечает на ваши вопросы в своейПрямой линии

Могу посоветовать отличный сайт самоучитель, в конце курса вы создадите свой сайт. Все очень доходчиво, интересные задания и тесты.
www.codecademy.com

Мой совет сначала определиться с тем, что Вам ближе: дизайн или программирование. Хороший дизайнер понимает принципы юзабилити (при этом всем у Вас есть миллион вариантов - комбинация UI+UX, " - Проектирование опыта взаимодействия (UX) - GUI - концепт и тд). С программированием уже иные стороны от разработчиков до верстальщиков и архитекторов ПО. О них ребята выше много хорошего сказали. Расставьте приоритеты по своим способностям и желаемым целям. Это огромное поле для действий и достижений.

Показать ещё 3 ответа
Ответить