NDA в разработке сайтов и веб‑приложений

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

NDA в веб‑разработке

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

Как правило, Исполнителю запрещается вообще любым способом разглашать сам факт выполнения тех или иных работ для Заказчика, а также использовать результаты работ и разглашенные Заказчиком сведения в своих целях. Иногда NDA проявляется «в мягкой форме» — Исполнителю запрещается публиковать результаты работ и размещать информацию об авторстве, но о самом факте сотрудничества можно сообщать кому угодно. Еще один вариант NDA — это запрет Исполнителю выполнять какие‑либо работы для компаний‑конкурентов Заказчика или реализовывать схожие программные продукты.

Плюс NDA

Заказчику так спокойнее. Хотя на самом деле ощущение наличия рисков, заставляющее подписывать NDA, чаще всего надуманное.

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

Если Заказчик — это ген.подрядчик, опасающийся, что «субчик» выйдет напрямую на Заказчика (или обратной ситуации), то и эти опасения чаще всего не очень обоснованы — очень незначительная часть разработчиков действительно хочет выходить на крупные (как правило, государственные) заказы и ощущать все прелести работы с «ну очень большими» Заказчиками.

Минус NDA

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

веб-разработка
Статья опубликована в 2014 году

Тематические статьи

Серверные языки программирования

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

бэкенд
веб-разработка
языки программирования
Статья опубликована в 2014 году

Системы управления сайтами — CMS

Коробочная система управления сайтом или CMS — это готовый программный продукт, который упрощает создание основных видов сайтов.

Эта платформа для разработки подходит для создания как простых, так и средних по сложности сайтов. Большинство систем управления достаточно универсальны и на них можно собрать почти что угодно — от простого информационного сайта или сайта‑визитки до интернет‑магазина или информационного портала. Есть и специализированные CMS, заточенные под один конкретный тип сайтов, например, для интернет‑магазинов.

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

Фреймворки в веб‑разработке

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

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

фреймворки
бэкенд
веб-разработка
платформы
Статья опубликована в 2019 и обновлена в 2023 году

Выбор между CMS и фреймворком

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

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

CMS
фреймворки
платформы
веб-разработка
бэкенд
Статья опубликована в 2019 году

Рекомендации по выбору CMS и фреймворков

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

  • При возможности найти готовые решения или продукты — используйте их. В большинстве случаев, оптимальная стратегия выбора: «чем проще — тем лучше».
  • Если у вас есть команда разработчиков, то прислушайтесь к их мнению. Важны как возможности самой платформы, так и наличие у команды опыта работы именно с этим технологическим стеком.
  • Заранее оцените «заточенность» выбранной платформы под ваши задачи. Не стоит на 100% доверять маркетинговым материалам вендора платформы.
CMS
платформы
фреймворки
бэкенд
веб-разработка
Статья опубликована в 2019 и обновлена в 2021 году

Язык разметки HTML, таблицы стилей CSS и язык программирования JavaScript

Графические интерфейсы современных сайтов и веб‑приложений разрабатываются с использованием всего трёх языков — HTML, CSS, JavaScript.

Содержание каждой страницы сайта определяется HTML‑разметкой, внешний вид — содержанием таблицы стилей CSS, а интерактивность интерфейса — скриптами JavaScript. Кроме HTML, CSS и JS в современной фронтэнд‑разработке никаких других языков не используется.

фронтенд
JavaScript
CSS
HTML
веб-разработка
Статья опубликована в 2014 году

Валидность и семантичность HTML

Валидность и семантичность HTML кода определяет качество сайта с точки зрения поисковых систем.

фронтенд
HTML
веб-разработка
Статья опубликована в 2014 году

Адаптивный и отзывчивый дизайн

Для обеспечения хорошего отображения сайтов на мобильных устройствах (планшетах и смартфонах) обычно создаётся отзывчивый или адаптивный дизайн.

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

фронтенд
веб-разработка
мобильные устройства
HTML
CSS
адаптивный веб-дизайн
дизайн
Статья опубликована в 2019 году

Поддержка устаревших браузеров

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

фронтенд
веб-разработка
Статья опубликована в 2014 году