1. Обсудите словами то, что вы узнали на уроке сегодня или на этой неделе.

Общение имеет значение → Я работаю в ИТ-компании, и я команда Charlie. Мы работаем со всеми медицинскими клиентами, а также с юристами. За последние пару недель я заметил, что, когда все становится очень занятым, наше общение в команде прерывается, если мы не думаем об этом активно. Когда это происходит, потребности клиента не учитываются, или ожидания неправильно понимаются/представляются, и тогда люди недовольны. Когда мы рассказываем друг другу о том, что происходит, даже во время утренних стендапов, и о том, где нам нужна помощь, о чем-то позаботятся. Кроме того, когда мы правильно формируем ожидания клиентов, проблема больше не возникает.

Подписка на Observables → Теперь я думаю, что понимаю, что это значит, когда вы устанавливаете свой объект или свойство = для данных, возвращаемых наблюдаемым. Наблюдаемый не возвращает случайные данные, но, скажем, в случае запроса GET данные — это то, что вы запрашиваете. И если к данным будет добавлен еще один элемент, ваши данные GET будут обновлены, потому что они подписаны на наблюдаемое, которое отслеживает изменения. Или в запросе POST «данные» могут быть объектом или информацией, которую вы отправили на сервер, вернули с ответом или ошибкой и т. д.

2. Что такое SPA (одностраничное приложение) в Angular? Сравните технологию SPA с традиционной веб-технологией?

Одностраничное приложение или SPA — это приложение, которое не построено традиционным способом с несколькими файлами HTML, которые связаны друг с другом, а затем обслуживаются один за другим с сервера по запросу пользователя; хотя в SPA все еще есть несколько файлов, но не так много, как в традиционных приложениях, сервер загружает только index.html. Код для рендеринга других представлений и т. д. отправляется вместе с ним, и когда действие пользователя диктует изменение представления, браузер обрабатывает преобразование данных в HTML (codeburst.io). Это означает, что, хотя URL-адрес приложения меняется и время от времени возникает ощущение, что страница изменилась, это все та же страница, просто динамически воссозданная.

Angular вписывается в эту игру SPA, поскольку SPA довольно сложны и используют много javascript, а Angular предоставляет способ организации и управления всем этим кодом; это делает большую часть тяжелой работы для разработчика (codebursti.io). Angular не нужен для создания SPA, но он значительно упрощает создание SPA. Так почему же SPA лучше традиционных форм создания приложений?

  • Развертывание в рабочей среде стало проще и быстрее.
  • Управление версиями просто для внешнего интерфейса
  • Улучшенный UX — отсутствие полной перезагрузки страницы, более быстрый ответ на запрос пользователя.

(blog.angular-university.io)

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

3. Как называется процесс, с помощью которого код TypeScript преобразуется в код JavaScript?

Typescript преобразуется в Javascript с помощью процесса, который называется транспиляция (codecraft.tv). Транспиляция или транспиляция аналогична компиляции в том смысле, что обе они связаны с преобразованием одного языка в другой. Тем не менее, транспиляция — это специальный термин для взятия исходного кода, написанного на одном языке, и преобразования его в другой язык с аналогичным уровнем абстракции (stevefenton.co.uk). Таким образом, мы транспилируем Typescript в Javascript, а не компилируем, потому что они имеют тесно связанные уровни абстракции, что имеет смысл, поскольку Typescript является надмножеством Javascript.

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

4. Почему в Angular предпочтение отдается TypeScript, а не JavaScript?

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

Самое большое преимущество TypeScript — это инструменты. Он обеспечивает расширенные возможности автозаполнения, навигации и рефакторинга. Наличие таких инструментов является почти обязательным требованием для крупных проектов. Без них боязнь [перед] изменением кода переводит кодовую базу в состояние, частично доступное только для чтения, и делает крупномасштабные рефакторинги очень рискованными и дорогостоящими. (vsavkin.com)

Что также делает Typescript привлекательным, так это то, что он не только обладает вышеупомянутыми функциями, но и позволяет легко «мигрировать» код JS в код TS. Это связано с тем, что TypeScript, как мы уже отмечали, является надмножеством JavaScript.

Другие факторы, которые Савкин отмечает в своей статье «Angular: Почему TypeScript?», включают в себя:

  • Абстракции стали более явными
  • Код в конечном итоге легче читать/понимать
  • Вы получаете хороший баланс между строго типизированным кодом и выразительным (или податливым) кодом.

5. Можете ли вы провести сравнение между функциями service() и factory()?

Методы service() и factory() очень похожи с точки зрения того, что они возвращают. Однако они отличаются тем, как они написаны, и тем фактом, что factory() может возвращать более широкий спектр вещей, чем service(). Factory(), поскольку его имя подразумевает функцию для создания, и то, что она создает, может быть объектами (например, экземплярами класса), объектными литералами, функциями или замыканиями или простыми типами данных, такими как строки (ultimatecourses.com).

Важно отметить, что сервис — это функция-конструктор, а это означает, что Angular вызывает метод Object.create() при создании экземпляра сервиса (blog.thoughtram.io). Фабрика, с другой стороны, не является функцией-конструктором, а это означает, что вы должны явно что-то возвращать из фабрики.

Я рекомендую просмотреть приведенные выше статьи о service() и factory(), чтобы лучше понять, что они из себя представляют и что они могут делать, особенно factory().

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

Ура!