Требования к приложениям Брацкого Облака — различия между версиями
Test.user (обсуждение | вклад) (Новая страница: «Требования к приложениям Брацкого Облака (здесь и далее по тексту -- ''Требования'') -- эт…») |
(нет различий)
|
Версия 17:54, 20 марта 2018
Требования к приложениям Брацкого Облака (здесь и далее по тексту -- Требования) -- это технические требования к любому программному обеспечению, использующемуся Брацким Облаком.
Содержание
Общие требования
Принципиально
- Центральная авторизация пользователей и выдача прав доступа через Оплёт, который в качестве идентификатора использует приложения типа Amazon Cognito, Microsoft Azure Active Directory и/или OpenStack Keystone;
- Правила создания, хранения и восстановления запасной версии и снимков системы должны быть чётко прописаны, выполняться и периодически проверяться.
Применимо к вэб-интерфейсам
- Сертификаты SSL (если иное не имеет большего смысла -- то Let's Encrypt);
- Mногоязычность (если иное не установлено -- английский по умолчанию);
- Изображения должны пройти оптимизацию
- В качестве изображений лучше использовать svg - нет проблем с ретиной, и они тоже должны быть оптимизированы
- Заголовки и названия страниц должны соответствовать их официальным названиям и заголовкам;
- Где Стилевой шаблон вэбсайта предусматривает, должны быть загружены соответствующие логотипы и фирменные начертания;
- Фавиконки должны отображать соответствующие логотипы.
Требования к готовым приложениям
Если используются готовые, уже имеющиеся в наличии приложения, то требования к ним таковы:
Принципиально
- Открытый код (open source);
- Последняя стабильная версия;
- Выполнение всех рекомендаций по безопасности;
- Отсутствие возможности самостоятельной регистрации и авторизации пользователей в обход магистральной службы Оплёт. При нажатии закладки Log in, должен загружаться Оплёт;
Применимо к вэб-интерфейсам
- Если используются какие-либо сторонние библиотеки, то они должны быть выкачены локально
Требования к новому коду
Принципиально
- Соблюдение принципов DRY;
- Крайне желательно использовать препроцессоры в работе;
- Крайне желательно использовать какую-либо методологию наименования селекторов (например BEM);
- Весь код для продакшн версии сборки должен быть оптимизирован, сконкачен там где надо, сминифицирован;
- Код должен содержать комментарии, объясняющие как он соответствует настоящим требованиям.
Применимо к вэб-интерфейсам
- Адаптивная, кроссбраузерная и семантичная верстка
- Валидность и доступность (availability)
- Поддержка современных браузеров включая таких динозавров как Сафари10+ IE10+
- Обязательное тестирование, например с помощью browserstack
- Крайне желательно использовать сборку и автоматизацию с помощью webpack, gulp или grunt
- Анимации должны использовать свойство transform по-максимому и только потом уже остальные
- Желательно обходиться без фреймворков, а если очень хочется то пусть это будет что-то современное и без каскадов, 4-й бутстрап например
- Медиа запросы писать лучше не от большего к меньшему (max-width), а наоборот от меньшего к большему (min-width)