что такое стек технологий в программировании

Что такое стек технологий. Объясняем простыми словами

Стек технологий (от англ. stack — «стопка») — это набор технологий, на основе которых разрабатывается сайт или приложение.

Стек включает в себя языки программирования, фреймворки (программная среда для разработки), системы управления базами данных, компиляторы (переводят текст, написанный на языке программирования, в набор машинных кодов) и так далее.

Выбор конкретного стека зависит от архитектуры проекта, сложности и функциональности сайта, системных требований — какую выбрать операционную систему и систему управления базами данных, какой использовать веб-сервер и язык программирования.

Например, для веб-разработки стек технологий может выглядеть так:

Примеры употребления на «Секрете»

«ИТ-специалисты должны чётко представлять, что ключевое в EdTech — открытость API, возможность интегрироваться с другими платформами, а также использование современного стека технологий».

(Основательница Smart School Pro Елена Игнатьева — о типичных ошибках образовательных стартапов.)

«Если применить подход в лоб и ориентироваться только на цену, то вы рискуете получить команду, которая не даст вам искомых показателей эффективности. К примеру, при выборе рекламного агентства следует обратить внимание на размер и опыт команды, стек используемых технологий, клиентский портфель и отзывы».

(CEO Realweb Partners Эмин Аветисян — об ошибках офлайновых компаний при выходе в онлайн.)

Нюансы

Любое веб-приложение состоит из двух частей — клиентской и серверной. Клиентская сторона охватывает всё, что пользователи могут видеть на экране.

Важнейшие элементы технологического стека в клиентской части:

Серверная часть приложения готовит данные для клиентской части. Здесь придётся выбрать:

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

Если клиент планирует продавать одежду через небольшой онлайн-магазин, ему не понадобятся параллельная обработка больших объёмов данных (noSQL) и механизм распределения нагрузки (load balancing), заточенный на одновременную поддержку 1 млн пользователей. В то же время клиенту, который планирует продавать тысячи товаров в день, не подойдёт решение на базе бесплатного движка сайта (CMS) с дешёвым хостингом.

Источник

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

Технический лид в компании Proxify

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

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

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

Что такое технологический стек

Технологический стек — это набор языков программирования, фреймворков и ПО, необходимых для разработки приложения.

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

Клиентская сторона — это видимая часть веб-приложения, с которой взаимодействуют пользователи. Есть 3 главных элемента разработки клиентской части любого веб-приложения:

Если говорить о фреймворках, чаще всего для разработки клиентской части любого веб-приложения используются Bootstrap и React.js.

Серверная часть веб-приложения — это то, что не видит пользователь, потому что она находится под клиентской частью. Для разработки серверной части используются:

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

Тут мы рассмотрим, что такое технологический стек клиентской части.

Сравнение Frontend-фреймворков

Наиболее распространенными фреймворками являются React Angular и Vue.js. Они способны управлять 3 главными элементами клиентской части веб-приложения.

Ниже мы рассмотрим React, Angular и Vue.js, выделим их сильные и слабые стороны и рассмотрим, для каких веб-приложений они лучше всего подходят.

React

React — это UI-библиотека, которая была создана компанией-гигантом Facebook и которая более чем за 7 лет существования собрала вокруг себя многомиллионное сообщество. В отличие от Angular, React не является фреймворком. Именно поэтому он используется при разработке простых веб-приложений. React удобен при разработке сложной логики клиентской части, особенно когда есть очень много повторно используемых компонентов веб-приложения.

Экосистема этой UI-библиотеки состоит из множества элементов. JSX, например, очень полезен при разработке. Кстати, если вам необходимо мобильное приложение, можно использовать React Native, созданный специально для мобильных приложений.

Низкая стоимость и быстрые сроки разработки по сравнению с разработкой веб-приложения на Angular являются главными преимуществами этой UI-библиотеки. Более того, поскольку это очень распространенная технология, трудности при поиске квалифицированного React-программиста не возникнут. Это очень популярная UI-библиотека, которая вряд ли перестанет пользоваться спросом в ближайшие 10 лет из-за того, что поддерживается Facebook и имеет многомиллионное сообщество.

Вам стоит остановить свой выбор на React если:

React не стоит выбирать, если вы хотите, чтобы ваше будущее веб-приложение имело расширенную логику или у вас нет возможности нанять опытного разработчика. Поскольку эта UI-библиотека не требует написания качественного кода, часто веб-приложения получаются с багами и другими недостатками. Именно поэтому вам необходим senior-разработчик, который позаботится о качестве кода.

Angular

Angular является самым главным конкурентом React. Это фреймворк, который идеально подходит для комплексных веб-приложений с расширенной логикой. Он поддерживается Google, поэтому явно будет пользоваться большой популярностью в течение следующих 10 лет.

У этого фреймворка логика, шаблон и стили разделены на 3 файла. Этот фреймворк также очень хорошо интегрируется с MVC.

Разработка веб-приложений на Angular более длительная и качественная, чем разработка на React, потому что этот фреймворк требует планировать разработку еще до ее начала.

Увеличение стоимости и времени разработки веб-приложения на Angular компенсируется высоким качеством конечного веб-приложения. Главным недостатком разработки веб-приложения на Angular является то, что очень тяжело найти программистов, которые знают этот фреймворк. Дело в том, что изучать Angular очень сложно.

Вам стоит остановить свой выбор на Angular если:

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

Vue.js

Можно сказать, что Vue.js собрал в себе все самое лучшее от двух вышеперечисленных технологий. Vue.js — не фреймворк, а UI-библиотека. По сравнению с React и Angular это очень молодая технология. У этой UI-библиотеки нет многомиллионного активного сообщества и нет поддержки компании-гиганта вроде Facebook. Из-за этого нет уверенности в том, что Vue.js будет таким же популярным, как React и Angular через 10 лет.

Vuex в Vue.js гораздо легче поддерживать, чем Redux в React. Готовых решений у этой UI-библиотеки также очень мало.

Как показывает практика, Vue.js является прекрасной малобюджетной технологией. Благодаря тому, что он проще, чем React и Angular, нет необходимости в опытном разработчике. Эта UI-библиотека прекрасно подходит, если вам необходимо разработать небольшое веб-приложение максимально быстро.

Вам стоит остановить свой выбор на Vue.js, если:

На данный момент Vue.js пользуется большой популярностью среди небольших компаний-разработчиков.

JavaScript или TypeScript?

При разработке клиентской части веб-приложения необходимо определиться с основным языком разработки. Есть два варианта — JavaScript и TypeScript, каждый из которых предпочтительнее использовать в разных случаях.

Например, если вы планируете разрабатывать веб-приложение на Angular, необходимо использовать TypeScript. В случае разработки веб-приложения на Vue.js и React необходимости в Typescript нет.

Использование TypeScript позволяет сэкономить время разработки веб-приложения благодаря уменьшению числа ошибок в коде. Он также имеет значительное влияние на процесс обслуживания приложения и упрощает его. Технология Typescript поддерживается всеми современными фреймворками. В случае, когда бэкенд веб-приложения не готов, однако вам известно, какие данные вы получите, TypeScript позволяет разработать пользовательский интерфейс заранее.

Тем не менее, у этой технологии есть один существенный недостаток. Её очень сложно настроить при разработке веб-приложения на React и Vue.js. Поэтому неопытные разработчики не используют ее в своей работе при создании веб-приложений. Опытным командам веб-разработчиков намного легче справиться с этой проблемой.

Технология TypeScript была создана компанией-гигантом Microsoft, поэтому она будет актуальной еще в течение очень долгого периода времени, возможно даже дольше, чем React и Angular.

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

CSS, Less или Sass?

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

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

Использование препроцессора, такого как Less или Sass, упростит процесс разработки. Они максимально легко реализовываются в веб-приложениях, которые используют Webpack. Использование миксинов, наследований и переменных возможно как в Less, так и Sass. Из других преимуществ препроцессора — более чистый код.

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

Как сделать правильный выбор стека технологий для разработки веб-приложения

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

Размер веб-приложения

Размер веб-приложения очень сильно влияет на разработку. Чем больше размер веб-приложения, тем более комплексная его разработка.

Срок разработки веб-приложения

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

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

Безопасность веб-приложения

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

Масштабируемость веб-приложения и его поддержка

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

Заключение

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

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

Источник

Стек технологий для разработки веб-приложений: что важно знать бизнесу

Время чтения: 10 минут

Отправим вам статью на:

Один из наиболее важных шагов, которые нужно предпринять, когда дело доходит до разработки приложения, — это выбрать правильный стек технологий. Этот вопрос значительно влияет на успех проекта, как в краткосрочной, так и долгосрочной перспективе. Почему? Стек технологий для разработки веб-приложений влияет на стоимость проекта, сроки выпуска продукта на рынок, безопасность и масштабируемость приложения. Грамотно подобранный стек позволяет получить стабильный, безопасный и удобный в обслуживании продукт, который не только завоюет сердца ваших клиентов, но и позволит вам масштабировать бизнес.

Веб-приложение: что такое, из чего состоит, виды

С точки зрения архитектуры веб-приложения состоят из двух частей: клиентской и серверной. Клиентская часть также называется фронтэнд. По сути это то, что пользователи видят на экране устройства. Серверная часть, или бэкенд — программно-аппаратная часть сервиса. Это набор средств, которые реализуют логику приложения.

Взаимодействие клиентской и серверной частей веб-приложения

Клиентская часть приложения

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

Рассмотрим основные компоненты стека интерфейсов.

Каскадные таблицы стилей (CSS) — это язык разметки, который определяет оформление и макет элементов HTML. Таким образом, HTML задаёт структуру, а CSS — стиль. С помощью CSS задаются шрифты, цвета, стили, расположение отдельных элементов, а также отображение страниц на разных устройствах.

JavaScript

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

Чтобы эффективнее разрабатывать на JavaScript, разработчики используют фреймворки, которые также являются важной составляющей технологического стека. Фреймворк — это рабочая среда, своего рода каркас, который помогает эффективнее создавать и поддерживать программные продукты. Далее мы перечислим некоторые из фреймворков и библиотек, которые мы обычно используем в проектах.

Популярные фреймворки и библиотеки JavaScript

Одна из ключевых особенностей React — универсальность. Эту библиотеку можно использовать на сервере и на мобильных платформах с помощью React Native.

Ещё одна важная особенность библиотеки — декларативность. С помощью React разработчик описывает, как компоненты интерфейса выглядят в разных состояниях. Декларативный подход сокращает код и делает его понятным.

Angular — это фреймворк от компании Google. Прежде всего он нацелен на разработку SPA-решений.

Эта среда разработки известна прежде всего потому, что она предоставляет разработчикам лучшие условия для объединения JavaScript с HTML и CSS. К веб приложениям на Angular.js относятся Google и Youtube.

Vue — это прогрессивный фреймворк для создания пользовательских интерфейсов. В отличие от фреймворков-монолитов, Vue подходит для постепенного внедрения. Он легко интегрируется с другими библиотеками и существующими проектами. Также Vue пригоден, чтобы создавать сложные одностраничные приложения, если использовать его совместно с современными инструментами и дополнительными библиотеками.

Серверная часть приложения

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

Задача серверной разработки — сделать так, чтобы ответ от сервера доходил до клиента и спроектированные блоки функционировали нужным образом. А также создать для заказчика удобную и безопасную среду для наполнения и обновления контента на сайте.

PHP в основном применяется, чтобы «оживить» статичные HTML страницы. Почти всегда пользователи приходят на сайт за информацией, которая всё время меняется, и нужно отображать её актуальное состояние. Например, показать прогноз погоды. Если использовать только HTML, то решить такие задачи не получится. Здесь может помочь PHP: он принимает входящий запрос от веб-сервера, выполняет сценарий и возвращает результат в виде готового HTML-кода. Сервер отправляет этот результат в браузер пользователю, который, в свою очередь, отображает её пользователю. После этого пользователь видит актуальный прогноз погоды.

Для создания веб-приложений на PHP мы используем фреймворк Laravel. Его особенности: поддерживает функциональное, интеграционное и юнит-тестирование, позволяет легко масштабировать приложения, следует лучшим практикам разработки и предлагает большой выбор шаблонов проектирования. Всё это помогает поддерживать чистую, минималистичную и эффективную кодовую базу, которую легко модифицировать.

Также из PHP фреймворков применяем Yii2 и Symfony.

Для разработки веб-приложений на Java мы используем фреймворк Spring. Он обеспечивает комплексную модель разработки и конфигурации для современных бизнес-приложений: от ecommerce-проектов до крупных порталов, от образовательных платформ до правительственных ресурсов. Ключевой элемент Spring — поддержка инфраструктуры на уровне приложения, поэтому разработчики могут сосредоточиться на бизнес-логике без лишних настроек в зависимости от среды исполнения.

Также из фреймворков Java применяем Hibernate. Он упрощает разработку Java приложения для взаимодействия с базой данных.

Node.js

Node.js — кроссплатформенная среда, которая выполняет код JavaScript вне браузера. Node.js позволяет разработчикам использовать JavaScript, чтобы получить инструменты командной строки. На стороне сервера с его помощью можно запускать сценарии для обработки динамического содержимого веб-страницы, перед тем как она будет доступна в веб-браузере пользователя.

Базы данных в разработке веб-приложений

Также веб-приложению требуется место для хранения данных, и для этого используется база данных. Существует два типа баз данных: реляционные и нереляционные. Различия между ними заключаются в том, как они спроектированы, какие типы данных поддерживают, как хранят информацию.

Реляционные БД хранят структурированные данные, которые обычно представляют объекты реального мира. Например, это могут быть сведения о человеке или о содержимом корзины для товаров в магазине, сгруппированные в таблицах, формат которых задан на этапе проектирования хранилища.

Нереляционные БД устроены иначе. Например, документо-ориентированные базы хранят информацию в виде иерархических структур данных. Речь может идти об объектах с произвольным набором атрибутов. То, что в реляционной БД будет разбито на несколько взаимосвязанных таблиц, в нереляционной может храниться в виде целостной сущности.

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

В инфографике ниже мы собрали основные технологии разработки веб-приложений, которые мы используем.

Заключение

Подпишитесь

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

Источник

Мой новый стек веб-технологий для 2020 года

Помните те времена, когда стеки веб-технологий были простыми? Когда уровни этих стеков можно было обозначить в виде четырёхбуквенного сокращения вроде LAMP, LEMP или LEPP? Когда всё, что было нужно для создания и поддержки сайтов, сводилось к вполне обычному железу, к какому-нибудь опенсорсному софту, да к упорству в достижении цели?

Мой первый успешный сайт, теперь уже старинный проект 1999 года, был создан с использованием технологий, которые можно пересчитать по пальцам одной руки: HTML4, CSS2, JavaScript3 и Apache 1.1. Всё это крутилось на сервере с Linux 2.0. Сайт включал в себя 38000 страниц. И сегодня, через 20 лет, он всё ещё их выдаёт.

С тех пор всё изменилось. Это касается и стеков веб-технологий. Теперь они совсем не те, что прежде.

Автор статьи, перевод которой мы сегодня публикуем, хочет рассказать о том, как он перешёл от «фуллстека» к «стеку 2020 года». Некоторые технологии в ходе этого путешествия неожиданно стали фаворитами, а некоторые потеряли былую привлекательность.

Стек веб-технологий 2020 года

2020 год — это начало нового десятилетия. Это — время, когда стоит поговорить о новом стеке веб-технологий.

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

Меня особенно интересуют маленькие веб-сайты. Те, которые хорошо чувствуют себя на виртуальном сервере. Таким сайтам не нужны балансировщики нагрузки или постоянные хранилища данных. Это — ниша CMS, которую уже давно занимает WordPress. Но в основе всего этого лежит не некий минималистичный сервер. Вместо этого речь идёт о системе, которая может выдержать постоянный поток трафика без необходимости автоматического повышения её мощности в часы пик.

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

▍1. Облачный провайдер

▍2. Дистрибутив Fedora Linux с SELinux

Безопасность — это то, что очень сильно всех нас беспокоит. SELinux можно сравнить с мощной охранной системой, работающей в Linux. Если к этому добавить ещё и хорошо настроенный iptables-файрвол, получится то, что позволит владельцу сайта спокойно спать по ночам. Если вы не уверены в том, что вам всё это нужно — проведите следующий эксперимент. Разверните новый сервер у вашего любимого облачного провайдера и понаблюдайте за тем, как скоро его начнут атаковать. Я видел, как брутфорс-атаки на новые сервера с попытками входа по SSH начинались менее чем через 10 минут после их создания.

▍3. Веб-сервер Read Write Serve

Я пользуюсь веб-сервером Read Write Serve с TLS-сертификатами от LetsEncrypt. Раньше я был фанатом Apache, на настройку и запуск новых веб-сайтов у меня уходило буквально несколько минут. Но с тех пор, как я перешёл с PHP на JavaScript, об Apache пришлось забыть. Сервер Express казался мне чрезвычайно простым инструментом, но лишь до тех пор, пока я не попытался воспроизвести в нём весь тот функционал, который давал мне Apache. Речь идёт о механизме согласования содержимого, об условном кэшировании, о сжатии данных, о перезаписи URL для SEO, о CORS, о политиках защиты контента. В результате я и перешёл на сервер Read Write Serve, в котором все эти возможности присутствуют по умолчанию.

▍4. Среда выполнения приложений Node.js

За логику приложения, выполняющуюся на сервере, отвечает среда Node.js. Возникает такое ощущение, что в экосистеме NPM имеются пакеты на все случаи жизни. Поэтому простыми и понятными оказались задачи по сборке из имеющихся пакетов того, что нужно именно мне, и по запуску всего этого на Read Write Serve. Для организации работы всего того, что нужно современному веб-проекту, не требуется прилагать чрезмерных усилий. Это — отправка электронной почты, работа с платёжными сервисами, обращение к базам данных, и всё остальное, подразумевающее работу с серверными API.

▍5. База данных MariaDB

Я пользуюсь сервером баз данных MariaDB. Это — форк MySQL, подвергнутый ребрендингу и освоенный опенсорс-сообществом. Когда мне нужно хранить неструктурированные JSON-данные, я пользуюсь PostgreSQL. Дело в том, что это позволяет мне выполнять запросы непосредственно по конкретным JSON-свойствам. Это немного похоже на MongoDB, но основано на привычном SQL-синтаксисе.

▍6. HTTP/2

Для организации связи между частями приложений я полагаюсь на возможности HTTP/2 с поддержкой постоянных соединений и с мультиплексированием потоков. Эти два дополнения к достойному уважения протоколу HTTP/1.1. изменили мой подход к формированию документов. Во-первых, исчезла проблема блокировки начала очереди. В результате пропала необходимость в спрайт-листах даже в том случае, если у меня имеются десятки маленьких изображений. Во-вторых, теперь не нужно оптимизировать JavaScript- и CSS-файлы, объединяя их в бандлы. После того, как соединение клиента и сервера установлено, все эти маленькие файлы без перебоев передаются по этому соединению.

▍7. HTML-шаблонизация с помощью Blue Phrase

Blue Phrase — это система шаблонизации, позволяющая в компактном виде точно описывать HTML-структуры. Для меня закончились времена нечитаемой мешанины из HTML-кода и несоответствий между открывающими и закрывающими тегами. В шаблонах я обычно использую лишь незначительное количество переменных (заголовок, описание, ключевые слова, SEO-данные, экран загрузки, дата и так далее) и размещаю их в шаблоне в декларативном стиле.

▍8. Написание кода страниц с помощью Read Write Doc

Когда я создаю новые страницы, я сосредоточен на том, что пытаюсь выразить, а не на их оформлении. Для решения этой задачи я пользуюсь Read Write Doc. Этот инструмент помогает мне заниматься делом, ни на что не отвлекаясь. Я пользуюсь им даже тогда, когда то, над чем работаю, планируется опубликовать на Medium (а там есть отличный онлайновый WYSIWYG-редактор). Я отношу себя к ветеранам веб-разработки, поэтому привык к моноширинным шрифтам, и к тому, чтобы мои руки были бы на клавиатуре, а не метались бы между клавиатурой и мышкой. В любом случае, если мне нужно увидеть то, над чем я работаю, с применением к нему CSS, я могу, с помощью простой комбинации клавиш, переключаться между режимами просмотра и редактирования.

▍9. Стандартные веб-компоненты

▍10. JavaScript для клиентских скриптов

Для написания клиентских скриптов я пользуюсь модульным объектно-ориентированным JavaScript-кодом. Я применяю новые возможности стандарта ECMAScript только тогда, когда их поддержка появляется в свежих релизах браузеров. То есть, включаю их в свой арсенал в тот момент, когда вижу, что на caniuse.com «зеленеют» все основные браузеры. Я избегаю полифиллов.

▍11. Стилизация с помощью CSS

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

Дополнительное преимущество такого подхода заключается в том, что он полностью избавляет меня от проблемы, известной как FOUT — (flash of unstyled text, вспышка обычного шрифта).

▍12. Подготовка графических ресурсов с помощью GIMP и InkScape

И, наконец, для подготовки графических ресурсов я использую пару редакторов. Растровые PNG-изображения я готовлю с помощью GIMP, а векторные SVG-материалы — с помощью InkScape.

Технологии, которые потеряли былую привлекательность

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

Источник

Понравилась статья? Поделиться с друзьями:

Не пропустите наши новые статьи:

  • Что такое стек программы
  • Что такое стек программиста
  • Что такое стек в программировании
  • что такое стек в программировании для чайников
  • Что такое стейтмент в программировании

  • Операционные системы и программное обеспечение
    0 0 голоса
    Рейтинг статьи
    Подписаться
    Уведомить о
    guest
    0 комментариев
    Старые
    Новые Популярные
    Межтекстовые Отзывы
    Посмотреть все комментарии