Часто спрашивают про то как делать хорошее Angular приложение, какую архитектуру заложить. Тут Manfred Steyer опубликовал бесплатно свою книгу Enterprise Angular
Так же внутри есть подписка на всякие онлайн воркшопы
https://www.angulararchitects.io/book
Так же внутри есть подписка на всякие онлайн воркшопы
https://www.angulararchitects.io/book
ANGULARarchitects
[Free eBook] Enterprise Angular: Micro Frontends & Moduliths
Lernen Sie, wie Sie Enterprise Angular-Anwendungen erstellen, die langfristig wartbar sind. Gratis eBook von Manfred Steyer, GDE.
Forwarded from Пятиминутка Angular
⚡Доступны видео с онлайн конференции ng-conf: Hardwired проходившей с 1 по 3 апреля. Ivy, Angular-cli Builders, Bazel и многое другое ждет вас.
😭Правда есть нюанс, само видео почему-то выложено в Vimeo и доступно только после регистрации на сайте https://videos.ng-conf.org/videos/day-1-keynote
😭Правда есть нюанс, само видео почему-то выложено в Vimeo и доступно только после регистрации на сайте https://videos.ng-conf.org/videos/day-1-keynote
Пятиминутка Angular
⚡Доступны видео с онлайн конференции ng-conf: Hardwired проходившей с 1 по 3 апреля. Ivy, Angular-cli Builders, Bazel и многое другое ждет вас. 😭Правда есть нюанс, само видео почему-то выложено в Vimeo и доступно только после регистрации на сайте https://videos.ng…
Nitay Neeman традиционно опубликовал выдержку после ngConf
https://nitayneeman.com/posts/all-talks-from-ng-conf-hardwired-2020/
https://nitayneeman.com/posts/all-talks-from-ng-conf-hardwired-2020/
📚 Nitay Neeman's Blog | JavaScript • Angular • RxJS
Angular - All Talks from ng-conf Hardwired (2020)
A collection of all lectures that were presented during the world's original Angular conference within one page. Each session includes a concise description and relevant slides.
Вот и Angular добрался до deno. A именно, dev_server.
Как он работает?
При обращении на index.html, запрашивается main.ts,
Он же транспаилится (в соответствии с заданным tsconfig), и выдает готовый js код по этому url.
Что с зависимостями?
А вот тут конечно приходит на помощь jspm, cdn.pika, unpkg. Поэтому вам придется указать соответствующий importmap.
В итоге у вас на выходе JIT как оно и было во времена systemjs v0.. и 5мб кода.
Из плюсов, вам не придется ждать пока произойдет dev сборка у вас в консоли.
Но тут конечно же не учтены различные препроцессоры, о которых сейчас большинство из нас даже не задумывается, используя Angular CLI
Как попробовать:
(Предварительно должен быть установлен Deno не ниже v0.42.0)
Как он работает?
При обращении на index.html, запрашивается main.ts,
Он же транспаилится (в соответствии с заданным tsconfig), и выдает готовый js код по этому url.
Что с зависимостями?
А вот тут конечно приходит на помощь jspm, cdn.pika, unpkg. Поэтому вам придется указать соответствующий importmap.
В итоге у вас на выходе JIT как оно и было во времена systemjs v0.. и 5мб кода.
Из плюсов, вам не придется ждать пока произойдет dev сборка у вас в консоли.
Но тут конечно же не учтены различные препроцессоры, о которых сейчас большинство из нас даже не задумывается, используя Angular CLI
Как попробовать:
deno run --allow-net --allow-read --allow-write --unstable https://deno.land/x/dev_server/mod.ts --template angular
(Предварительно должен быть установлен Deno не ниже v0.42.0)
После двух лет разработки, появился вот такой замечательный портал, соцсеть, по Angular.
Уже сейчас вы там можете найти себе бесплатные курсы по Angular, и более плотно пообщаться с Angular GDE, Coloborator и Core team.
А так же подключиться онлайн к различным митапам и воркшопам.
А еще мы там завели специальный уголок для подкаста ngRuAir. Обязательно присоединяйтесь, чтобы быть в курсе событий, ведь теперь круг докладчиков ngRuAir станет гораздо больше.
https://www.angularnation.net/
Внимание, после регистрации нужно дождаться апрува.
Уже сейчас вы там можете найти себе бесплатные курсы по Angular, и более плотно пообщаться с Angular GDE, Coloborator и Core team.
А так же подключиться онлайн к различным митапам и воркшопам.
А еще мы там завели специальный уголок для подкаста ngRuAir. Обязательно присоединяйтесь, чтобы быть в курсе событий, ведь теперь круг докладчиков ngRuAir станет гораздо больше.
https://www.angularnation.net/
Внимание, после регистрации нужно дождаться апрува.
Angular Fanatic
Вот и Angular добрался до deno. A именно, dev_server. Как он работает? При обращении на index.html, запрашивается main.ts, Он же транспаилится (в соответствии с заданным tsconfig), и выдает готовый js код по этому url. Что с зависимостями? А вот тут…
Сегодня будет релиз Deno.
Опубликовал статью, обзор.
https://habr.com/ru/post/501480/
Завел еще один канал чтобы публиковать все про Deno:
DenoFanatic
Опубликовал статью, обзор.
https://habr.com/ru/post/501480/
Завел еще один канал чтобы публиковать все про Deno:
DenoFanatic
Хабр
Deno v1.0: Безопасная среда выполнения для JavaScript и TypeScript. Обзор возможностей
Вступление Установка Как это выглядит внутри Функциональность WASM, RUST, Плагины Debugging, IDE Тестирование Compiler API CI Разное Вступление Если вы уже ок...
Буквально менее чем через 2 часа начнется бесплатная онлайн конференция ngVikings
Первый день (Видео)
Второй день (Видео)
Обязательно регистрируйтесь чтобы поучаствовать в живую, позадавать вопросы. Если еще не успели.
Первый день (Видео)
Второй день (Видео)
Обязательно регистрируйтесь чтобы поучаствовать в живую, позадавать вопросы. Если еще не успели.
Сегодня начинается 76я встреча TC39 и Серёжа как всегда будет вещать про работу TC39 в своем канале https://t.me/juliarderity .
Вам возможно будет интересна судьба async-context аля zone.js.
Ведь ранее это предложение было заброшено хотя Misko Hevery и Jia Li проявляли активный интерес. Domenic прекратил свое участие в TC39
Кстати, в прошлом году zone.js переехали окончательно в Angular, как отдельный пакет конечно же.
Вам возможно будет интересна судьба async-context аля zone.js.
Ведь ранее это предложение было заброшено хотя Misko Hevery и Jia Li проявляли активный интерес. Domenic прекратил свое участие в TC39
Кстати, в прошлом году zone.js переехали окончательно в Angular, как отдельный пакет конечно же.
Уже через несколько минут начинается Angular Minsk.
Сегодня в программе:
🤖 Автоматизация разработки с Angular Schematics | Yanis Seilis
(Все про ng add, ng update, etc и использование ng schematics для других фреймворков)
⏱ Ангулар может сожрать ваше время | Oleksandr Poshtaruk
(Angular tips and tricks)
> Трансляция
Сегодня в программе:
🤖 Автоматизация разработки с Angular Schematics | Yanis Seilis
(Все про ng add, ng update, etc и использование ng schematics для других фреймворков)
⏱ Ангулар может сожрать ваше время | Oleksandr Poshtaruk
(Angular tips and tricks)
> Трансляция
На прошлой неделе команда Angular объявила что начнет, наконец то, заниматься типизацией форм. И вот буквально вчера все предложения по типизации были объедены в отдельный milestone
Каждое предложение будут рассматривать отдельно, сроков конечно же не дали.
Изменения затронут: ControlValueAccessor, AbstractControl, formState и т.д.
Каждое предложение будут рассматривать отдельно, сроков конечно же не дали.
Изменения затронут: ControlValueAccessor, AbstractControl, formState и т.д.
🎉 Состоялся релиз Angular 10.0.0
- Updating to Angular version 10
- Deprecated APIs and features
И традиционный пост от Stephen Fluin в Angular blog:
Version 10 of Angular Now Available
- Updating to Angular version 10
- Deprecated APIs and features
И традиционный пост от Stephen Fluin в Angular blog:
Version 10 of Angular Now Available
ng update @angular/core @angular/cli
В Deno сообществе почему то решили что для SSR удобнее всего брать React, и конечно внедрили JSX как часть Deno.core. И даже появились фреймворки на этой основе. Angular остался немного в сторонке в очередной раз =)
Поэтому решил совместить deno + angular: Angular Deno Renderer Engine.
Сейчас он больше готов для использования как любой другой template engine, например как тот же Handlebars, ejs и тд.
Сравнение Angular Universal на NodeJS и Deno по времени рендеринга (хотя это практически ничего и не значит):
Deno 1.1.2 Angular JIT: 3-8ms
Node 12.18.2 Angular JIT: 15-24ms
Node 12.18.2 Angular AOT: 5-13ms
Если у сообщества Angular будет достаточный интерес к этому проекту, то далее буду внедрять:
- Transfer State, (чтобы был прям настоящий SSR)
- Compiler на Deno, для AOT
- Поддержка различных препроцессоров
- Пререндер как в Scully
- HMR
https://github.com/alosaur/angular_deno
Поэтому решил совместить deno + angular: Angular Deno Renderer Engine.
Сейчас он больше готов для использования как любой другой template engine, например как тот же Handlebars, ejs и тд.
Сравнение Angular Universal на NodeJS и Deno по времени рендеринга (хотя это практически ничего и не значит):
Deno 1.1.2 Angular JIT: 3-8ms
Node 12.18.2 Angular JIT: 15-24ms
Node 12.18.2 Angular AOT: 5-13ms
Если у сообщества Angular будет достаточный интерес к этому проекту, то далее буду внедрять:
- Transfer State, (чтобы был прям настоящий SSR)
- Compiler на Deno, для AOT
- Поддержка различных препроцессоров
- Пререндер как в Scully
- HMR
https://github.com/alosaur/angular_deno
Сравнение Angular Universal 9 и 10 по потреблению памяти
Так же Minko Gechev заявил что в Angular 11 будут дополнительные улучшения производительности.
Так же Minko Gechev заявил что в Angular 11 будут дополнительные улучшения производительности.
Nrwl представила утилиту которая позволит пересобирать проект быстрее. Суть в том что билды складываются в кэш. Бесплатно для использования в локалке, и так же есть возможность закидывать в cloud чтобы шарить билды между командой. (5часов сборки в месяц бесплатно).
Подробнее на сайте: https://nx.app/angular-cli-faster
Подробнее на сайте: https://nx.app/angular-cli-faster
npx make-angular-cli-fasterНу а еще Виктор Савкин опубликовал, что они хотят сделать в Nx 11.
На страницах angular.io появилась страница с roadmap (https://angular.io/guide/roadmap)
Коротко:
- решение задач в backlog
- typescript 4.0
- улучшение e2e
- ivy для либ
- rxjs 7
- language service под ivy
- внедрить больше angular/cdk/test harness
- поддержка trusted types
- больше MDC web в Angular Material
- strict types angular/forms
- webpack 5
- optional zone.js
- избавление от старого view engine
- Angular DevTools
- Optional NgModules
- миграция в eslint
https://blog.angular.io/a-roadmap-for-angular-1b4fa996a771
Коротко:
- решение задач в backlog
- typescript 4.0
- улучшение e2e
- ivy для либ
- rxjs 7
- language service под ivy
- внедрить больше angular/cdk/test harness
- поддержка trusted types
- больше MDC web в Angular Material
- strict types angular/forms
- webpack 5
- optional zone.js
- избавление от старого view engine
- Angular DevTools
- Optional NgModules
- миграция в eslint
https://blog.angular.io/a-roadmap-for-angular-1b4fa996a771
Medium
A Roadmap for Angular
At the beginning of 2020 at ng-conf Hardwired, I talked about how we were evolving the team, improving our processes, and working to build…
LTO, ngl, Angular Linker, и еще немного информации по roadmap от Angular Team
Коротко:
- Angular Package Format не нужен, и metadata.json c ним же
- ngcc только в период совместимости Ivy и View Engine
- DI в либах как public api (условно)
- все больше поддержки тем у кого нет angular cli
- angular linker на передовой, как плагин babel в первую очередь
- качаем из npm и сразу можем запустить в JIT
- быстрая сборка / пересборка
Еще больше инфы: Ivy Library Compilation - Conceptual Design Doc
Коротко:
- Angular Package Format не нужен, и metadata.json c ним же
- ngcc только в период совместимости Ivy и View Engine
- DI в либах как public api (условно)
- все больше поддержки тем у кого нет angular cli
- angular linker на передовой, как плагин babel в первую очередь
- качаем из npm и сразу можем запустить в JIT
- быстрая сборка / пересборка
Еще больше инфы: Ivy Library Compilation - Conceptual Design Doc
GitHub
RFC: Ivy Library Distribution · Issue #38366 · angular/angular
Authors: Pete Bacon Darwin (@petebacondarwin), Alex Rickabaugh (@alxhub) Status: Ended tl;dr We're proposing an update to the Angular Package Format (APF), which defines an "Ivy-na...
Устранение ресурсов, блокирующих рендеринг в Angular
В разделе «Возможности» вашего отчета Lighthouse перечислены все URL-адреса, блокирующие отрисовку вашей страницы.
Цель состоит в том, чтобы уменьшить влияние этих URL-адресов, блокирующих рендеринг, путем встраивания критических ресурсов в сам html, откладывания некритических ресурсов и удаления всего неиспользуемого.
Какие URL помечаются как блокирующий рендеринг?
Все для того чтобы увеличить результаты FCP (first contentful paint)
Именно над этим хотят сейчас поработать в Angular CLI.
- Загрузку CSS асинхронно в SPA
- встраивания критических CSS в html
- Inline Google Fonts and Icons.
До:
Пока нет достойного решения который бы устраивал в разных режимах, SSR и CSR. Поэтому по поводу идут еще обсуждения, и рассматриваются различные webpack плагины, и даже есть альтернатива всему этому чтобы включить в рутовый AppComponent styles.css. Но болью в этом случае будет с SSR, так как все глобальные стили будут внедрены в html.
Обсудить предложение в issue
В разделе «Возможности» вашего отчета Lighthouse перечислены все URL-адреса, блокирующие отрисовку вашей страницы.
Цель состоит в том, чтобы уменьшить влияние этих URL-адресов, блокирующих рендеринг, путем встраивания критических ресурсов в сам html, откладывания некритических ресурсов и удаления всего неиспользуемого.
Какие URL помечаются как блокирующий рендеринг?
<script>Если даже ваш внешний css код будет весить 0кб браузер все равно потратит на него время.
- если он находится в заголовке
- если он не имеет аттрибут defer или async
<link rel="stylesheet">
- если нет атрибута disabled
- не имеет атрибута media соответствующий устройству пользователя
Все для того чтобы увеличить результаты FCP (first contentful paint)
Именно над этим хотят сейчас поработать в Angular CLI.
- Загрузку CSS асинхронно в SPA
- встраивания критических CSS в html
- Inline Google Fonts and Icons.
До:
<link rel="stylesheet" href="styles.css">После:
<link rel="stylesheet" href="styles.css" media="only x" onload="this.media='all'">Как же будут выбирать критически важные CSS?
<noscript><link rel="stylesheet" href="styles.css"></noscript>
Пока нет достойного решения который бы устраивал в разных режимах, SSR и CSR. Поэтому по поводу идут еще обсуждения, и рассматриваются различные webpack плагины, и даже есть альтернатива всему этому чтобы включить в рутовый AppComponent styles.css. Но болью в этом случае будет с SSR, так как все глобальные стили будут внедрены в html.
Обсудить предложение в issue
🎂 Angular 🎂
15 сентября 2016г. состоялся официальный релиз Angular
https://github.com/angular/angular/releases/tag/2.0.0
15 сентября 2016г. состоялся официальный релиз Angular
https://github.com/angular/angular/releases/tag/2.0.0
Решил что тут снова будут обзоры статей, видео, подкастов и мои коментарии к ним.
Статья: Nx: On Bazel Support
Computation Caching
Основной фишкой внедрения Bazel в Nx была реализация распределенной сборки, но эта задача была полностью решена на стороне Nx, поэтому Bazel в Nx не будет.
Bazel and Angular
Действительно после ухода Alex Eagle из Google, больше нет никого кто бы работал с rules_nodejs из Google, Angular в частности, и поэтому как считает Victor Savkin, Bazel team не будут уделять большое внимание на частные проблемы при интеграции с Angular. Считаю что это не так, поскольку Bazel(rules_nodejs) для сборки используется в самом Angular, и других крупных проектах: TensorflowJs, Selenium, NgRX, и тд.
Кстати, недавно появился rules_python.
Bazel or Nx
Bazel хорошая технология, но плохо работает с js тулами. В статье много отсылок к тому что с Nx можно собирать что угодно, и сделать какой угодно сборщик зная в основном только TS.
Статья: Nx: On Bazel Support
Computation Caching
Основной фишкой внедрения Bazel в Nx была реализация распределенной сборки, но эта задача была полностью решена на стороне Nx, поэтому Bazel в Nx не будет.
Bazel and Angular
Действительно после ухода Alex Eagle из Google, больше нет никого кто бы работал с rules_nodejs из Google, Angular в частности, и поэтому как считает Victor Savkin, Bazel team не будут уделять большое внимание на частные проблемы при интеграции с Angular. Считаю что это не так, поскольку Bazel(rules_nodejs) для сборки используется в самом Angular, и других крупных проектах: TensorflowJs, Selenium, NgRX, и тд.
Кстати, недавно появился rules_python.
Bazel or Nx
Bazel хорошая технология, но плохо работает с js тулами. В статье много отсылок к тому что с Nx можно собирать что угодно, и сделать какой угодно сборщик зная в основном только TS.