Bladeren bron

Merge branch 'master' of u22kulago/ISRPO_Kulago into master

ypv 3 maanden geleden
bovenliggende
commit
85860118b0

BIN
Лекции/Вклад дизайнера в разработку мобильных приложений/img1.png


BIN
Лекции/Вклад дизайнера в разработку мобильных приложений/img2.png


BIN
Лекции/Вклад дизайнера в разработку мобильных приложений/img3.png


BIN
Лекции/Вклад дизайнера в разработку мобильных приложений/img4.png


+ 60 - 0
Лекции/Вклад дизайнера в разработку мобильных приложений/Вклад_дизайнера_в_разработку_веб-приложений.md

@@ -0,0 +1,60 @@
+# Дизайнер и его роль в разработке мобильных приложений
+Все мы знаем, что дизайн играет очень важную роль в проектировании и разработке мобильных приложений. У каждого дизайнера свои подход, методы и инструменты для работы над мобильных приложениями. От того, на каких платформах будет работать дизайнер и как он преподнесет готовый материал проектной команде зависит темп дальнейшей разработки.
+
+Не секрет, что проектные команды часто меняются. Сегодня над проектом работает один, а завтра уже абсолютно другой человек. Поэтому дизайн приложения — это не просто хорошо нарисованные картинки, но и качественно переданный материал, показывающий другим людям, как должно работать приложение.
+
+![Image](img1.png "рис.1")
+
+## Дизайнер — часть команды
+
+Дизайнер должен быть частью команды, постоянно общаться с коллегами, уточнять вопросы и быстро реагировать на запросы разработчиков. Минимальный срок его нахождения в команде — до первой сдачи MVP(Минимально жизнеспособный продукт).
+Как показывает практика, дизайнеры не всегда качественно сдают свои макеты, и при дальнейшей разработке всплывают какие-то недочеты, например, не отрисованные пустые экраны или какие-то состояния элементов, неверно нарезанные блоки элементов, отсутствие каких-то ресурсов. Бывает также, что клиент хочет что-то добавить.
+
+Дизайнеру приходится доделывать свою работу, и хорошо, если он будет в это время в команде, чтобы можно было быстро внести изменения. Или он должен быть на связи для того, чтобы у проекта и команды не было проблем с оперативным изменением UI/UX.
+
+### Поиск баланса между бизнес-потребностями и техническими возможностями
+
+Дизайнеру часто приходится искать золотую середину между идеями и реализацией. Вы можете придумать крутые фичи (от англ. features — новые функции продукта), обсудить их с руководителем проекта, согласовать и подготовить дизайн… А потом прийти к разработчикам с макетами и узнать, что это технически невозможно воплотить в жизнь. Или возможно, но неоправданно дорого/сложно/долго.
+
+![Image](img2.png "рис.2")
+
+### Взаимодействие с разработчиками
+
+Для успешной работы проекта дизайнеру нужно постоянно держать связь с техническими специалистами команды.
+
+Чаще всего мы общаемся с фронт-разработчиками (от англ. front-end developers — те, кто пишет код для интерфейса продукта и превращает строчки команд во что-то более визуально понятное и приятное). Перед тем как передавать макеты на утверждение, важно «синхронизироваться» с разработчиками и убедиться, что вся нарисованная вами красота реальна для исполнения.
+
+Иногда приходится обращаться и бэк-разработчикам (от англ back-end developers — специалисты, отвечающие за то, чтобы сайт быстро работал, безопасно хранил данные и т.д.). Например, когда нужно настроить проверку данных при загрузке файлов.
+
+Также дизайнер общается с тестировщиками, которые «проверяют на прочность» любой продукт. Проще говоря, контролируют его функциональность и находят ошибки. Однако они больше смотрят на техническую часть и могут не заметить тонкие нюансы: «неправильный» оттенок зеленого, лишнюю тень и прочие визуальные моменты.
+
+### Единообразие интерфейсов
+
+UI Kit (от англ. User Interface Kit — набор готовых элементов интерфейса: кнопки, иконки, поля и т.д.). А еще есть компонентная база — система, где хранятся стандартные элементы интерфейса. Они помогают упростить управление макетами.
+
+Дизайнер должен следить за тем чтобы схожие «сущности» (то есть, элементы интерфейса) не плодились и не создавалось слишком похожих изображений. В противном случае в коде проекта появятся практически копии разных (по задумке) деталей, а это — лишняя трата ресурса разработки.
+
+![Image](img3.png "рис.3")
+
+### Объяснение причин для изменений
+
+К сожалению или к счастью, вы не можете просто так поменять палитру сайта или изменить форму кнопок в приложении. Одна из важнейших задач дизайнера — доносить до команды, почему те или иные нововведения важны/нужны.
+
+Разработчики могут не понимать, как новая фича повлияет на общие результаты проекта. Но в то же время они могут дать ценные комментарии и предложить более эффективные технические решения для реализации той или иной идеи. Поэтому творчество — это, конечно, хорошо, но творить «в изоляции» от коллег не стоит. Важно помнить, что у вас одна общая цель — развитие продукта.
+
+### Организация передачи макетов в разработку
+
+Если вам кажется, что этот процесс не достоин отдельной задачи, вы ошибаетесь. Передача макетов — важный этап. Перед этим стоит обсудить с разработчиком, все ли ему понятно, нужно ли что-то доработать.
+
+Кроме этого важно договориться, как вы будете хранить все нужные для работы материалы. Они все могут лежать в многостраничном файле в Figma или как-то структурированы по разделам и фичам.
+
+Опытные дизайнеры советуют при передаче дизайна в разработку выделять инструментом селект нужные экраны и давать ссылки на них в задачу. Также не лишними будут комментарии в макете, где стоит акцентировать сложные места. Даже если вы проговорили что-то на встрече, это может забыться сразу после завершения звонка.
+
+![Image](img4.png "рис.4")
+
+### Полезные советы
+
+* Систематизируйте юзер флоу. Для справки: от англ user flow — это путь, который проходит пользователь при взаимодействии с продуктом. Его лучше максимально привести в порядок, используя стрелки и состояния элементов. Так вы упростите жизнь команде и, как ни странно, себе. Ведь если через полгода вдруг придется вернуться к конкретному сценарию, вся информация останется в макете.
+* Ищите компромиссы. Дизайнеру нужно быть гибким, так как иногда его предложения бывают слишком сложными в реализации. Может, в какой-то другой сфере и прокатит «Я художник, я так вижу», но только не в IT. Здесь многое завязано на технических возможностях, поэтому решение должно быть простым в исполнении и не вредить работе продукта.
+* Делитесь идеями. Все-таки одна из главных задач дизайнера — создавать и придумывать. Творить, если хотите. Не бойтесь выносить свои идеи на обсуждение с командой. Да, не все из них будут реализованы: на что-то не хватит ресурса, что-то может противоречить бизнес-логике. Но если ваши решения улучшают проект, это не останется незамеченным.
+* Учитывайте технические детали. Как я уже упоминала, дизайнер должен плотно взаимодействовать с разработчиками. Например, стоит заранее уточнить особенности работы с фреймворками (от англ. frameworks —программные платформы для разработки). Если вы создали цветную картинку в Иллюстраторе и выгрузили ее в формате SVG, то в Flutter (фреймворк для разработки мобильных приложений) она отобразится как черный квадрат Малевича.

+ 33 - 0
Лекции/Вклад дизайнера в разработку мобильных приложений/Вопросы.md

@@ -0,0 +1,33 @@
+Что такое Ui Kit?
+* **набор готовых элементов интерфейса: кнопки, иконки, поля и т.д.).**
+* набор инструментов для программирования сайтов
+* плагин
+* технология разработки баз данных
+
+С кем чаще всего взаимодействует дизайнер в процессе разработки?
+
+* **с фронт-разработчиками**
+* с менеджерами проектов
+* с клиентами
+* с маркетологами
+
+Какую задачу дизайнер должен выполнять при изменении интерфейса?
+
+* **объяснять команде причины изменений**
+* игнорировать критику
+* изменять дизайн без обсуждения
+* упрощать интерфейс на свой вкус
+
+Какой инструмент может помочь дизайнеру в организации передачи макетов в разработку?
+
+* **Figma**
+* Photoshop
+* Illustrator
+* Sketch
+
+Что такое юзер флоу?
+
+* **путь, который проходит пользователь при взаимодействии с продуктом**
+* набор стандартных элементов интерфейса
+* процесс создания анимаций
+* метод тестирования интерфейса

BIN
Лекции/Фронтенд-разработка/img1.png


BIN
Лекции/Фронтенд-разработка/img2.png


BIN
Лекции/Фронтенд-разработка/img3.png


BIN
Лекции/Фронтенд-разработка/img4.png


+ 31 - 0
Лекции/Фронтенд-разработка/Вопросы.md

@@ -0,0 +1,31 @@
+# Фронтенд-разработка
+
+Что такое HTML?
+* **Язык гипертекстовой разметки для создания веб-сайтов.**
+* Язык программирования для создания приложений.
+* Язык стилизации веб-страниц.
+* Фреймворк для фронтенд-разработки.
+
+Какой тег определяет границы веб-страницы в HTML?
+* Тег head.
+* **Тег html.**
+* Тег body.
+* Тег footer.
+
+Какой язык используется для стилизации веб-страниц?
+* **CSS (каскадные таблицы стилей).**
+* HTML (язык гипертекстовой разметки).
+* JavaScript (язык программирования).
+* XML (язык разметки).
+
+Какой из перечисленных фреймворков является CSS-фреймворком?
+* Angular.
+* **Bootstrap.**
+* Node.js.
+* Django.
+
+Что такое DOM в контексте веб-разработки?
+* Язык программирования для создания веб-приложений.
+* **Программный интерфейс для документов HTML и XML.**
+* Система управления базами данных.
+* Графический редактор для веб-дизайна.

+ 67 - 0
Лекции/Фронтенд-разработка/Фронтенд-разработка.md

@@ -0,0 +1,67 @@
+# **Фронтенд-разработка**
+
+Фронтенд веб-сайта — это все, что пользователь видит и с чем может взаимодействовать при помощи браузера. Создание этой визуальной части называется фронтенд-разработкой. Дизайнеров, создающих пользовательские интерфейсы, тоже можно в какой-то смысле назвать фронтенд-разработчиками, потому что они совместно работают над этой же частью проекта.
+
+Для разработки фронтенда в качестве базовых инструментов используются: HTML (для создания базовой структуры страниц и контента), CSS (для стилизации внешнего вида) и JavaScript (для добавления интерактивности). Однако этот набор может быть значительно расширен, включив в себя диспетчеры пакетов, CSS-препроцессоры, фреймворки и многое другое.
+
+## **HTML: ключевая фронтенд-технология**
+
+HTML — это язык гипертекстовой разметки, предназначенный для создания веб-сайтов, которые впоследствии могут просматриваться при помощи доступа к интернету. HTML обычно используется для структурирования веб-документа. Он определяет такие элементы, как заголовки или абзацы, и позволяет вставлять изображения, видео и другие медиафайлы.
+
+Как работает HTML. HTML-код представляет собой множество тегов и пишется в текстовом файле. Этот текстовый файл затем сохраняется в виде HTML-файла, который можно открыть и посмотреть в браузере. Браузер сканирует его, интерпретирует код в визуальную форму и в лучшем случае отображает страницу именно так, как задумал дизайнер.
+
+* Гипертекст — способ, с помощью которого мы путешествуем по интернету, переходя по гиперссылкам, которые ведут на другие страницы. «Гипер» отсылает к нелинейности, которая позволяет перемещаться в любое место, поскольку этот процесса не подразумевает предопределенного порядка.
+
+* Разметка определяет качества, которыми наделяется текст внутри HTML-тегов. Теги определяют, как браузеры форматируют и отображают содержимое страницы.
+
+* Будучи языком, он содержит кодовые слова и синтаксис, как и любой другой язык.
+
+![Image](img1.png "Пример HTML-кода")
+
+Парный тег <html> / </html> определяет границы веб-страницы, а текст между тегами <body> / </body> определяет видимое содержимое страницы.
+
+<!DOCTYPE html> в самом начале объявляет тип документа для HTML5. Если его не обозначить, разные браузеры будут отображать его по-своему.
+
+### HTML5
+
+С момента первого своего релиза в 1991 году HTML претерпел множество обновлений. HTML5 был выпущен в 2014 году. В него были добавлены такие функции, как поддержка оффлайн хранилищ мультимедийных данных, более точные элементы контента (например, хедер, футер, навигация) и поддержка встраивания аудио и видео.
+
+### CSS: стилизация
+
+CSS («каскадные таблицы стилей») — это язык, используемый для стилизации страниц. Он определяет то, как HTML-элементы будут выглядеть на веб-странице с точки зрения дизайна, макета на разных устройствах с разными размерами экрана. CSS управляет макетом множества различных веб-страниц одновременно.
+
+Как это работает. CSS взаимодействует с HTML-элементами, компонентами веб-страницы.
+
+* Для взаимодействия с HTML в CSS используются селекторы. Селектор — это часть CSS-кода, определяющая, на какую часть HTML будут воздействовать стили CSS.
+
+* **Объявление** содержит свойства и значения, используемые селектором.
+
+* **Свойства** определяют размер шрифта, цвет и отступы. Каждое свойство имеет значение или набор значений.
+
+![Image](img2.png "Пример CSS")
+
+где P (абзац) — это селектор, { font-size:24px; color:blue; } — это объявление, font-size: и color: — свойства, а 24px; и blue; — значения.
+
+CSS записывается в виде простого текста в текстовом редакторе. Есть три способа добавить CSS-код в HTML:
+
+* Вместо того, чтобы добавлять CSS-код к каждому HTML-элементу, который необходимо видоизменить, можно использовать внешнюю таблицу стилей (External style sheets) — текстовый файл, содержащий весь CSS-код. Внешняя таблица стилей подключается в .html файле в контейнере <head>.
+
+* При использовании внутренней таблицы стилей CSS-код размещается прямо в теле тега <head> конкретной .html-страницы.
+
+* Под встроенным стилем подразумевается прописывание CSS в html-коде непосредственно того элемента, который нужно стилизовать.
+
+### **CSS-фреймворки** 
+
+CSS-фреймворк — это набор дефолтных CSS- и HTML-файлов, который расширяет возможности по части дизайна. Помимо их пользы при создании адаптивного дизайна, CSS-фреймворки помогают создавать различные макеты, что избавляет разработчиков от необходимости писать код с нуля в каждом случае. Обычно они заметно помогают при разработке веб-приложений под разные платформы и размеры экрана. Благодаря общим компонентам пользовательского интерфейса, Grid **Layout** и многим другим функциям, CSS-фреймворки значительно ускоряют рабочий процесс разработки. Существуют различные виды фреймворков: Полнофункциональные (Bootstrap, Foundation, Semantic UI и др.), Ориентированные на материальный дизайн (Materialize and Material Design Lite), Легкие (Pure).
+
+![Image](img3.png "Примеры CSS-фреймворков")
+
+### DOM: структура веб-страницы
+
+Объектная модель документа (DOM, Document Object Model) — это программный интерфейс для документов HTML и XML. Он интерпретирует страницу, чтобы программы могли видоизменять структуру, стиль и содержимое документа. DOM отображает документ в виде узлов и объектов, позволяя языкам программирования подключаться к странице.
+
+![Image](img4.png "Дерево объектов HTML DOM.")
+
+Как это работает. Будем считать, что веб-страница — это документ, который может быть представлен либо в окне браузера, либо в качестве исходного HTML-кода. DOM является представлением этого документа, поэтому его можно изменить. DOM — это объектно-ориентированное представление веб-страницы, которое можно изменить с помощью сценарного языка, например, JavaScript.
+
+DOM должен соответствовать стандартам спецификаций W3C и WHATWG, которые исполняются в большинстве современных браузеров. Современный DOM строится с использованием нескольких API, работающих вместе. DOM определяет объекты, которые полностью описывают документ и объекты в нем.