Номер телефона

Последнее обновление:

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

Статья предназначена, в основном, для самых начинающих программистов

Любой программист когда-то был начинающим – без этого никуда. У каждого человека бывают вещи, которые он начинает изучать в первый раз и вебпрограммирование здесь – не исключение.

Так вот, как быть, на что обратить внимание в первую очередь?

У начинающего вебпрограммиста, в самом деле, глаза будут разбегаться. В самом деле, каких только технологий нынче нет. И совсем для новичков (конструкторы сайтов, позволяющие создать более-менее работающий сайт за пару часов), систему управления контентом (CMS), фреймворки, библиотеки… А еще – и масса различных языков программирования и для каждого из них, в свою очередь, свои библиотеки, фреймворки и технологии. Как же в этом всем разобраться, на что обратить внимание в первую очередь?

Здесь возможно несколько подходов

Постараемся кратко перечислить их, указав достоинства и недостатки:

  1. Тупо выбрать любой язык программирования, первую попавшуюся платформу, фреймворк и т.д. Это – самый легкий способ из серии «попасть пальцем в небо». Так как велика вероятность ошибки. И через пару лет вполне может обнаружиться, что следовало-то применить совсем другие технологии. Стало быть – придется (кардинально) переделывать сайт. А то и создавать новый, с нуля, уже на других технологиях.
  2. Последовать совету знакомого (или ближайшего собеседника в интернет-форуме), который уже опробовал ту или иную технологию или, как нынче принято говорить – стек (совокупность) технологий. Это путь тоже несложный, но эффективность его зависит, в первую очередь, от того, насколько квалифицированным является тот самый знакомый и от конкретно решаемых им задач. Например, он разрабатывает сайты-лендинги (простые одностраничные сайты), а Вы намереваетесь сделать интернет-магазин, который в будущем может превратиться в крупный портал. А вполне возможно, что Ваш знакомый попросту выбрал для себя технологию потому, чтобы, как говорится, не заморачиваться. От таких можно услышать: «зачем изучать чистые языки, когда можно легко делать сайты на готовых платформах и решениях». Понятно, что если серьезно заниматься разработкой – следовать подобным советам неприемлемо от слова совсем.
  3. Последовать совету Вашего работодателя. Например, вас приняли на работу в ту или иную компанию и там уже используется соответствующий стек технологий. И Вам предлагают освоить в первую очередь именно их. В общем-то, если Вы планируете начать заниматься вебразработкой не самостоятельно, а в качестве сотрудника той компании – этот вариант, пожалуй, близок к идеальному. С одной лишь оговоркой: Вы можете сосредоточиться на некоторых мелочах, которые, да, крайне необходимы Вам, как сотруднику компании, но при этом не освоите все остальные аспекты. тонкости и не получите общего понимания технологий. При этом велика вероятность, что Ваш профессиональный рост в скором будущем затормозится.
  4. Окончить курсы или ВУЗ по профильной специальности. Тоже, в принципе, неплохая идея. Однако, следует понимать, что на курсах Вы, скорее всего, не получите широты, масштабного образования, опять-таки, упретесь в частности. Например, изучите основы html-верстки. Или научитесь работать с фремворком laravel. Это замечательно, но без понимания базовых концепций языков html и РНР Вы, опять же, далеко не пойдете. Чуть потребуется сделать хоть что-то, что отличается от стандартного функционала этого фреймворка, Вам придется… учиться, осваивать языки. А это может быть достаточно сложным после того, как вы привыкнете к (ложно!) легким возможностям, которые дает фреймворк. Если же идти в ВУЗ, то там Вас, скорее всего, напротив, научат лишь базовым концепциям. И то далеко не факт, что они будут наиболее актуальными, востребованными и современными. Что же касается практических навыков – увы, как правило, в (российских) ВУЗах их не дают. Их придется приобретать уже после окончания учебы.
  5. Разобраться во всем самостоятельно. Т.е. хотя бы предварительно определить для себя общий стек, изначальную направленность, в рамках которой Вы будете потом заниматься вебразработкой, расширяя и углубляя свои познания. В таком случае придется серьезно и долго читать интернет, не полагаясь на чьи-либо частные рекомендации, а лишь принимая их к сведению.

Если Вы решили разобраться самостоятельно, сформировать свое субъективное мнение о возможных направлениях в вебразработке, то в первую очередь можно обратить внимание на сайты, где публикуется информация о наиболее востребованных веб-технологиях. Это, к примеру, сайт https://w3techs.com.

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

Для целей первичной ориентации в вебтехнологиях

1. Наиболее востребованной CMS на этот момент является WordPress. Надо понимать, что это ни хорошая, ни плохая, а именно – НАИБОЛЕЕ ВОСТРЕБОВАННАЯ CMS. И не более того. А вот - почему она стала наиболее востребованной – это уже совсем, совсем другой вопрос.

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

Однако, как только перед владельцем сайта встанет задача – добавить совсем другой функционал на сайт, что-то там кардинально поменять, то… скорее всего, придется переходить на более функциональную CMS, а то и на фреймворк. А то и делать сайт вообще вручную, с нуля… Но, повторимся, для так сказать «типичных» нужд эта CMS – очень даже хороша.

2. Наиболее востребованный серверный язык программирования – PHP. Да, как был лет 10…15 назад, так и есть. На дату написания статьи на РНР функционировало 79,1% сайтов. Т.е. – подавляющее большинство. Чем хорош данный язык? Тем, что он – С-подобный. Т.е. его идеология, синтаксис и концепция очень близки к языкам С/С++. А это означает, что многие старые программисты, скорее всего, предпочтут именно РНР, чем ряд других новомодных языков, даже если они и являются в чем-то действительно более удобными и эффективными. Собственно, PHP и создавался именно как язык для разработки сайтов и вебприложений.

PHP хорош тем, что на нем написано множество фреймворков, тот же laravel (который на дату написания статьи является. пожалуй, самым популярным). Он хорош тем, что с ним не будет проблем практически ни на каком хостинге: почти все хостинги предоставляют возможность использования РНР по умолчанию.

Кстати, это очень важно! Прежде, чем выбирать технологию для разработки сайта, вначале следует определить для себя – а на каком хостинге, собственно, этот сайт будет функционировать. Имеется ли там поддержка ВСЕХ технологий, которые Вы планируете использовать? Если имеется – то включены ли они в стек технологий по умолчанию, или же придется доплачивать за них?

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

Впрочем, у этого языка есть и недостатки. Например, далеко не все тонкости перечислены в справочной системе, в так называемых мануалах. Т.е. для корректного применения той или иной команды/технологии на языке РНР придется таки протестировать ее (впрочем, это – для продвинутых программистов, а не для «просто вебразработчиков»). Впрочем, справедливости ради, стоит сказать, что в ряде других языков ситуация с этим гораздо более хуже.

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

3. Наиболее востребованный клиентский язык программирования – это javascript. Да, на дату написания статьи его использовали 97,5% сайтов, т.е. практически все.

4. Однако, многие используют не чистый язык javascript, а библиотеки, «облегчающие» программирование на нем. Здесь, как видим, в лидерах  jQuery, которая используется на 78,1% сайтов. Почему? Еще раз, не потому, что она – хорошая или плохая. А потому, что видится наиболее удобной, оптимальной для использования большинству вебразработчиков (как и CMS WordPress, язык PHP).

Автор статьи ею не пользуется вообще (предпочитая чистый JS), однако многим она кажется библиотекой, упрощающей и ускоряющей разработку. Возможно, это и в самом деле так.

5. Наиболее часто употребляемой операционной системой для сервера является Unix (т.е. Linux) - 76.6%. Это, может, дома или в офисе люди почаще используют Windows или что-то подобное. А на серверах, в интернете – увы, как был лет 10…20 назад, так и остается Linux/Unix.

6. В качестве сервера, установленного на хостинге и взаимодействующего с клиентом, используются все те же старые-добрые Nginx и Apache (34.0% и 32.1% соответственно). Да, кому-то они не слишком нравятся по тем или иным причинам, но факт остается фактом – они остаются наиболее популярными. Одной из причин тому является, конечно, их бесплатность и открытость исходных кодов (OpenSource).

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

Что дальше?

А следующий шаг – это анализ выбранной Вами технологии на предмет достоинств и недостатков именно для целей Вашего проекта. Например, Вы увидели, что, вроде как, наиболее популярной является CMS под названием WordPress. Хорошо. Тогда задаем себе вопросы:

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

1. Какова надежность этой CMS? Часто ли в ней обнаруживаются уязвимости, оперативно ли устраняются?

2. Какова стоимость приобретения, эксплуатации (как базовой системы, так и ее дополнений)? Понадобятся ли Вам платные дополнения, насколько критична их стоимость?

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

4. Согласны ли Вы с тем, что раз она написана на языке РНР, то Вам придется так или иначе осваивать именно этот язык, хотя бы на уровне начинающего?

5. Легко ли подключать к ней какие-либо сторонние библиотеки, фреймворки? Каковы условия?

6. На какую операционную систему Вы планируете выбрать хостинг? Согласны ли Вы, чтобы потом уметь работать в этой системе хотя бы на уровне более-менее начинающего пользователя?

Ну, и т.д.

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

Впрочем, возможен и совершенно другой путь

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


Комментарии:
Всего комментариев:0
Пожалуйста, не забудьте ознакомиться с правилами оставления комментариев.



Подписаться на комментарии на этой странице

Мы можем выполнить

Другие услуги
Интересная и полезная
информация
НАПИШИТЕ НАМ
Яндекс.Метрика
Номер телефона
© Copyright Все права защищены 2013-2024 Научный консалтинг