POPULARITY
How does Google build Search? What about YouTube and Google Drive? We rely on Chrome's Lighthouse scores when optimizing our websites, but what does Google prioritize? Recently the Angular and Wiz teams announced their intention to responsibly merge their internal frontend framework, Wiz, with Angular to bring some of Wiz's best ideas to Angular. We're chatting with Minko from Angular and Jatin from the Wiz team to learn about how Wiz has been used in Google historically, what it's good at, and why it's worth bringing some of its ideas to Angular.
How does Google build Search? What about YouTube and Google Drive? We rely on Chrome's Lighthouse scores when optimizing our websites, but what does Google prioritize? Recently the Angular and Wiz teams announced their intention to responsibly merge their internal frontend framework, Wiz, with Angular to bring some of Wiz's best ideas to Angular. We're chatting with Minko from Angular and Jatin from the Wiz team to learn about how Wiz has been used in Google historically, what it's good at, and why it's worth bringing some of its ideas to Angular.
With the recent merger of Angular and Wiz, a Google framework, Minko Gechev, Product and Developer Relations Lead for Angular, returns to talk about the latest news: Angular and Wiz are merging. So we delve into what that means, signals, and how Angular is evolving. We want to hear from you! How did you find us? Did you see us on Twitter? In a newsletter? Or maybe we were recommended by a friend? Let us know by sending an email to our producer, Emily, at emily.kochanekketner@logrocket.com (mailto:emily.kochanekketner@logrocket.com), or tweet at us at PodRocketPod (https://twitter.com/PodRocketpod). Follow us. Get free stickers. Follow us on Apple Podcasts, fill out this form (https://podrocket.logrocket.com/get-podrocket-stickers), and we'll send you free PodRocket stickers! What does LogRocket do? LogRocket combines frontend monitoring, product analytics, and session replay to help software teams deliver the ideal product experience. Try LogRocket for free today. (https://logrocket.com/signup/?pdr) Special Guest: Minko Gechev.
What's up everyone, this is Dariusz Kalbarczyk, co-founder of NG Poland, JS Poland, AngularMaster.dev & WorkshopFest.dev. Welcome back to the Angular Master Podcast. Join us in this exclusive Q&A session from the 8th edition of NG Poland, the largest Angular conference in Europe. Hosted by Michael Egger-Zikes, this session features a powerhouse panel from the Angular Core Team. Dive into the insightful discussions with Minko Gechev, Mark Thompson, Emma Twersky, Simona Cotin, Pawel Kozlowski, Alex Rickabaugh, and Matthieu Riegler. https://ng-poland.pl https://js-poland.pl https://angularmaster.dev The session covers a wide range of topics, including the latest developments in Angular, best practices, and the future roadmap. The team shares their expertise, answers pressing questions from the audience, and provides a deeper understanding of Angular's ecosystem. Whether you're an experienced developer or just starting with Angular, this session offers valuable insights and knowledge.Don't miss out on the opportunity to learn from the experts and deepen your understanding of Angular. Subscribe for more content from NG Poland and stay tuned for the next Angular adventure! #Angular #NGPoland #WebDevelopment #JavaScript #QASession #AngularTeam --- Send in a voice message: https://podcasters.spotify.com/pod/show/angular-master/message
Grab your black belts everyone, we're kicking season 3 off with some roundhouse kicks and hammer fists! In this Dev Life edition of the Angular Plus Show, we interview Minko Gechev, the Engineering Product & Developer Relations Lead on the Angular Team at Google for a conversation all about the untold stories of Angular's development. Minko shares some of the early motivations and challenges on the team and how that's evolved today, pivotal moments in Angular's history, important team dynamics, as well as how the Angular community has played an important role in making the framework what it is today. Minko wraps things up with what the team has envisioned for the future and highlights some things coming down the pipeline to keep Angular as amazing as ever! This is… the Dev Life!LINKS:https://twitter.com/mgechevhttps://www.linkedin.com/in/mgechev/https://angular.io/CONNECT WITH US:Minko Gechev - @mgechevBrooke Avery - @jediBraveryPreston Lamb - @prestonjlamb
With the latest release and rebrand of Angular 17, Minko Gechev, Angular Engineering Product and DevRel Lead, returns to talk about why Angular rebranded, the new features, and more. Links https://twitter.com/mgechev https://github.com/mgechev https://blog.mgechev.com https://www.linkedin.com/in/mgechev https://bsky.app/profile/mgeche https://mstdn.social/@mgechev We want to hear from you! How did you find us? Did you see us on Twitter? In a newsletter? Or maybe we were recommended by a friend? Let us know by sending an email to our producer, Emily, at emily.kochanekketner@logrocket.com (mailto:emily.kochanekketner@logrocket.com), or tweet at us at PodRocketPod (https://twitter.com/PodRocketpod). Follow us. Get free stickers. Follow us on Apple Podcasts, fill out this form (https://podrocket.logrocket.com/get-podrocket-stickers), and we'll send you free PodRocket stickers! What does LogRocket do? LogRocket combines frontend monitoring, product analytics, and session replay to help software teams deliver the ideal product experience. Try LogRocket for free today. (https://logrocket.com/signup/?pdr) Special Guest: Minko Gechev.
In today's repeat episode from August, Minko Gechev, Engineering Product and DevRel lead at Google for Angular, returns to talk about how Angular has evolved over the years and how its momentum has not let up in 2023. Links https://twitter.com/mgechev https://www.linkedin.com/in/mgechev https://blog.mgechev.com https://github.com/angular/angular/discussions/categories/rfcs https://twitter.com/angular We want to hear from you! How did you find us? Did you see us on Twitter? In a newsletter? Or maybe we were recommended by a friend? Let us know by sending an email to our producer, Emily, at emily.kochanekketner@logrocket.com (mailto:emily.kochanekketner@logrocket.com), or tweet at us at PodRocketPod (https://twitter.com/PodRocketpod). Follow us. Get free stickers. Follow us on Apple Podcasts, fill out this form (https://podrocket.logrocket.com/get-podrocket-stickers), and we'll send you free PodRocket stickers! What does LogRocket do? LogRocket combines frontend monitoring, product analytics, and session replay to help software teams deliver the ideal product experience. Try LogRocket for free today. (https://logrocket.com/signup/?pdr) Special Guest: Minko Gechev.
In this week's roundup episode, Matt Pocock answers listener TypeScript questions about design systems, Minko Gechev talks about how Angular becomes better with competition, and Mikael Brevik shares how React architectures have evolved and will continue to evolve. Links Apple Matt Pocock answers your TypeScript questions: http://bit.ly/3ZIy2M7 Next-generation React architectures with Mikael Brevik: https://apple.co/44WhoLl Angular in 2023 with Minko Gechev: https://bit.ly/43VUP85 Google Matt Pocock answers your TypeScript questions: http://bit.ly/3CWarhg Next-generation React architectures with Mikael Brevik: https://bit.ly/45fJ4e1 Angular in 2023 with Minko Gechev: https://bit.ly/3Ko9AJZ Spotify Matt Pocock answers your TypeScript questions: http://bit.ly/3iQItg5 Next-generation React architectures with Mikael Brevik: https://spoti.fi/3qgwQD0 Angular in 2023 with Minko Gechev: https://spoti.fi/44VBTrx Tell us what you think of PodRocket We want to hear from you! We want to know what you love and hate about the podcast. What do you want to hear more about? Who do you want to see on the show? Our producers want to know, and if you talk with us, we'll send you a $25 gift card! If you're interested, schedule a call with us (https://podrocket.logrocket.com/contact-us) or you can email producer Kate Trahan at kate@logrocket.com (mailto:kate@logrocket.com) Follow us. Get free stickers. Follow us on Apple Podcasts, fill out this form (https://podrocket.logrocket.com/get-podrocket-stickers), and we'll send you free PodRocket stickers! What does LogRocket do? LogRocket combines frontend monitoring, product analytics, and session replay to help software teams deliver the ideal product experience. Try LogRocket for free today. (https://logrocket.com/signup/?pdr) Special Guests: Matt Pocock, Mikael Brevik, and Minko Gechev.
Minko Gechev, Engineering Product and DevRel lead at Google for Angular, returns to talk about how Angular has evolved over the years and how its momentum has not let up in 2023. Links https://twitter.com/mgechev https://www.linkedin.com/in/mgechev https://blog.mgechev.com https://github.com/angular/angular/discussions/categories/rfcs https://twitter.com/angular Tell us what you think of PodRocket We want to hear from you! We want to know what you love and hate about the podcast. What do you want to hear more about? Who do you want to see on the show? Our producers want to know, and if you talk with us, we'll send you a $25 gift card! If you're interested, schedule a call with us (https://podrocket.logrocket.com/contact-us) or you can email producer Kate Trahan at kate@logrocket.com (mailto:kate@logrocket.com) Follow us. Get free stickers. Follow us on Apple Podcasts, fill out this form (https://podrocket.logrocket.com/get-podrocket-stickers), and we'll send you free PodRocket stickers! What does LogRocket do? LogRocket combines frontend monitoring, product analytics, and session replay to help software teams deliver the ideal product experience. Try LogRocket for free today. (https://logrocket.com/signup/?pdr) Special Guest: Minko Gechev.
When Angular 16 dropped on May 3rd, so did a lot of jaws. It's hard to believe that the Angular team was able to pack so much into a single release. In this episode of the podcast we talk with Minko Gechev of the Angular team about some of the most exciting features and what these improvements may mean for future versions of the framework. Find us and our guests on twitterMinko Gechev: @mgechevThe Angular Plus Show @AngularShowThe Angular Plus Show is a part of ng-conf. ng-conf is a multi-day Angular conference focused on delivering the highest quality training in the Angular JavaScript framework. 1500+ developers from across the globe converge on Salt Lake City, UT every year to attend talks and workshops by the Angular team and community experts.Follow us on twitter @ngconfOfficial Website: https://www.ng-conf.org/
Guillaume et Emmanuel discutent les nouvelles de novembre décembre: spring boot 3, AWS SnapStart, GitHub Copilot en procès… Et aussi des articles de fond: performance, SRE et l'auto résilience, comment utiliser Git, le Devops pour les décideurs, l'age et la tech et d'autres sujets encore. Résumé Enregistré le 9 décembre 2022 Téléchargement de l'épisode LesCastCodeurs-Episode–289.mp3 News Langages Comment choisir ses collections ? Entre les différentes listes, maps, queues, etc. https://www.baeldung.com/java-choose-list-set-queue-map un bon rappel des fonctionalités des différentes collections (discuter le diagramme de choix) et un bon rappel des ordres de grandeur d'insertion, de lecture etc Attention o(n) ne veut pas dire plus lent que o(1), ca veut dire que ca scale linéraiement Tester avec le volume attendu de données Un bon viel Object[] et le traverser à chqaue fois peut etre bien plus efficace (moins gourmand en structure memoire, moins de jump memoire, etc) Librairies Spring Boot 3 est sorti https://spring.io/blog/2022/11/24/spring-boot–3–0-goes-ga Java 17 de base Support de GraalVM Native Image (au lieu de l'ancienne expérimentation de Spring Native) Amélioration de la traçabilité avec Micrometer et Micrometer Tracing JakartaEE 9 minimum et support de JakartaEE 10 Quarkus est 600 fois plus lent qu'un compétiteur, ou pas https://t.co/1c2sFSY9sE discute le lien entre les résultats et l'environnement Une erreur de code initiale Puis une erreur de limite de système ou deux Pour arriver au résultat Bon retour sur l'approche méthodologique Spring vault 3 https://spring.io/blog/2022/11/28/spring-vault–3–0-goes-ga Java 17 Plus de clients supportés comme le client jtm réactif du jdk Support du versionage des mots de passe pour les vaults clé valeur Cloud Mais pourquoi Twitter tourne t'il toujours malgré toutes les personnes renvoyées ? https://matthewtejo.substack.com/p/why-twitter-didnt-go-down-from-a Grâce au long travail de SRE, de mise en place d'auto-réparation, de cache, de monitoring, de sur-provisioning. Donc beaucoup d'automatisation pour faire en sorte que le tout fonctionne “presque” tout seul sans trop d'intervention humaine. C'est un article écrit par un des SRE qui travaillait en particulier sur le cache de Twitter. GitHub passe à un versioning par date de son API REST https://github.blog/2022–11–28-to-infinity-and-beyond-enabling-the-future-of-githubs-rest-api-with-api-versioning/ au lieu de continuer avec une v4, v5, etc, utilisation de date comme 2022–12–25 chacune de ses versions seraient supportées a minima 2 ans on peut spécifier la version avec un header HTTP spécial pas de changement pour l'API GraphQL par contre Stripes va encore plus loin en se rappelant la version utilisée au premier appel et le fixe par defaut Les appels sans version explicite utilisent celle là, et on peut la faire evoluer Amazon SnapStart pour lambda https://aws.amazon.com/blogs/aws/new-accelerate-your-lambda-functions-with-lambda-snapstart/ démarrer plus rapidement les lambda A une phase Init exécutée pour préparer la lambda snapshot Firecracker VM pas juste CRaC Remplace les seed et le réseau et le disque réduit les temps de démarrage Testé avec Quarkus https://quarkus.io/blog/quarkus-support-for-aws-lambda-snapstart/ Testé avec Micronaut https://twitter.com/sdelamo/status/1597535515758452736?s=46&t=iQ7IEvuv4e4eD1oM-Hi1IA Et avec Spring Boot Outillage Petit tip Git de Minko Gechev (monsieur Angular) https://twitter.com/mgechev/status/1594758205237706752 On peut faire un git clone [repo] —depth 1 pour dire qu'on ne veut que la dernière révision, et non pas tout l'historique du repo C'est pratique en particulier en CI pour gagner du temps lorsqu'on a un gros repo avec beaucoup de révisions Si vous luttez toujours avec git ce guide très détaillé peut vous aider. https://github.com/k88hudson/git-flight-rules Il s'agit d'un énorme “comment faire?” qui est même traduit en plusieurs langues dont le français: https://github.com/k88hudson/git-flight-rules/blob/master/README_fr.md Faire tourner ses Github Actions en local avec le projet open source Act https://github.com/nektos/act Pratique de vérifier en local le fonctionnement de son pipeline avant de le pousser sur Github en prod Utilise Docker sous le capot pour faire tourner chaque étape peut marcher sur podman mais pas garanti pour l'instant Comment transformer n'importe quel site web ou webapp en application autonome https://glaforge.appspot.com/article/turning-a-website-into-a-desktop-application utilisation d'une fonctionnalité de Chrome : création de raccourci avec ouverture dans une fenêtre “sans chrome” fonctionne sur tous les OS utilise le favicon comme icône pour l'application le site web se retrouve dans votre barre des tâches comme une application normale, et on peut faire un ALT/CMD-Tab pour aller vers son application, etc. Architecture Six patterns pour les architectures event driven https://medium.com/wix-engineering/6-event-driven-architecture-patterns-part–1–93758b253f47 de Wix Trois patterns dans cet article Consume and project : vue dematerialisee copie des données chaudes consommées par beaucoup. Et ces vues sont focalisées sur un consommateur. Kafka et CDC au milieu pour découpler Event driven de bout en bout : websocket utilise pour envoyer les demandes. Le web stocket serveur copie dans Kafka. Ces consommateurs font le job et un message est envoyé via le web socket serveur. Résilience, découplage K/V store: et en m'articuler avec kafka qui permet d'être consommé en k/v basse latence et en consommation d'évènement Peut être intéressant mais pas si simple a comprendre les usage dans cet article Méthodologies Un article sur quoi et pourquoi le DevOps (en fait englobant les bonnes pratiques du moment) https://enix.io/fr/blog/devops-benefices-difficultes/ les tech ne vont pas apprendre grand chose mais c'est un article pour les managers ou plutot les execs pour les aider à voir la valeur souvent plus facile de montrer la valeur par du contenu exterieur a l'entreprise percu comme neutre autres articles sur Kubernetes pour les execs https://enix.io/fr/blog/kubernetes-benefices-difficultes/ Amazon et la methode “working backwards” pour un produit https://www.productplan.com/glossary/working-backward-amazon-method/ imagine le produit pret a etre releasé ecrire la press release evaluer l'opportunité (doit-on le construire) découvrir les solution pour le faire et avoir l'appriobation des décideurs construire la roadmap construire le backlog Sécurité 1.5 million de lignes de code dans Android sont maintenant en Rust https://security.googleblog.com/2022/12/memory-safe-languages-in-android–13.html?m=1 de plus en plus de code memory safe (Java, Kotlin, Rust) Mais la majorité de nouveau code reste quand meme Java et C++ Et une correlation de baisse de vulnerabilités liées a la sureté de mémoire (moins de code de programme memory unsafe) Ou maturation du code avec moins de vuln? Autres efforts: outils de securisation de la memoire en C/C++, fuzzing Zero vuln memoire dans le code rust en 2 ans et en moyenne 1 / kLOC dans le code historique) Java -> JNI, Rust - unsafe {} pour les accès resource Loi, société et organisation Les dinosaures de la tech commencent à 40 ans? https://www.linkedin.com/pulse/non-nous-ne-sommes-pas-des-dinosaures-de-la-tech-pass%C3%A9-ramade/ Commentaire intéressant de Benjamin Marron qui explique “s'être restreint aux technos de son coeur d'activité car trop de veille technologique hétérogène l'avait épuisé et avait renforcé son sentiment d'être complètement obsolète et dépassé” https://twitter.com/bmarron/status/1596136098828148736 âge median des devs entre 28 et 31 ans chez Google ms Facebook Mais 50 ans c'est 30% de la force de travail Avantages seniors Expérience Mentorat (comm, interaction interpersonnelle, (atlassian un 40 ans dans chaque équipe rétention Moins de changement de travail tous les 3 ans Flexibilité : les vieux ont leurs enfants partis Aide à faire des produites pour les personnes de même âge pas souvent dans les politiques de DE&I GitHub copilot menacé par un procès https://www.infoq.com/news/2022/11/lawsuit-github-copilot/?utm_source=twitter&utm_medium=link&utm_campaign=calendar aux États Unis Class action contre copilot GitHub, ms et OpenAI Violation de copyright et notamment des licenses open source Hypothèse est que humain ou AI, même responsabilité face à la license Discussion autour de fair use vs rupture de contrat DMCA etc Piratage de logiciel à une échelle sans précédant Pour avoir des conséquences fortes sur l'IA et son utilisation des sources ouvertes pour construire du contenu Et Antonio va devoir recorder à la main Rubrique débutant Différentes méthodes d'interpolation des chaines en Java https://www.baeldung.com/java-string-interpolation la concatenation avec + la methode format() souvent intimidante mais plus optimisée et sure StringBuilder le plus flexible notamment dans les cas de if et autre variations mais moins sur que format. et plus rapide MessageFormat pour les chaines de caractère utilisateur (multi langage) Apache Commons (pas sur qu'il y ait beaucoup d'usage dans les JDK modernes Conférences La liste des conférences provenant de Developers Conferences Agenda/List par Aurélie Vache et contributeurs : 1 décembre 2022 : Devops DDay #7 - Marseille (France) 2 décembre 2022 : BDX I/O - Bordeaux (France) 2 décembre 2022 : DevFest Dijon 2022 - Dijon (France) 14–16 décembre 2022 : API Days Paris - Paris (France) & Online 15–16 décembre 2022 : Agile Tour Rennes - Rennes (France) 19 janvier 2023 : Archilocus - Bordeaux (France) 19–20 janvier 2023 : Touraine Tech - Tours (France) 25–28 janvier 2023 : SnowCamp - Grenoble (France) 2 février 2023 : Very Tech Trip - Paris (France) 2 février 2023 : AgiLeMans - Le Mans (France) 9–11 février 2023 : World AI Cannes - Cannes (France) 16–19 février 2023 : PyConFR - Bordeaux (France) 7 mars 2023 : Kubernetes Community Days France - Paris (France) 23–24 mars 2023 : SymfonyLive Paris - Paris (France) 23–24 mars 2023 : Agile Niort - Niort (France) 1–2 avril 2023 : JdLL - Lyon 3e (France) 5–7 avril 2023 : FIC - Lille Grand Palais (France) 12–14 avril 2023 : Devoxx France - Paris (France) 10–12 mai 2023 : Devoxx UK - London (UK) 12 mai 2023 : AFUP Day Lille & Lyon (France) 25–26 mai 2023 : Newcrafts Paris - Paris (France) 29–30 juin 2023 : Sunny Tech - Montpellier (France) 12–13 octobre 2023 : Volcamp 2023 - Clermont Ferrand (France) Nous contacter Pour réagir à cet épisode, venez discuter sur le groupe Google https://groups.google.com/group/lescastcodeurs Contactez-nous via twitter https://twitter.com/lescastcodeurs Faire un crowdcast ou une crowdquestion Soutenez Les Cast Codeurs sur Patreon https://www.patreon.com/LesCastCodeurs Tous les épisodes et toutes les infos sur https://lescastcodeurs.com/
In this episode, we talk to Minko Gechev, Angular Product Lead, about what is new in Angular v15 and what to expect from Angular in the future. Links https://twitter.com/mgechev https://twitter.com/Angular https://blog.mgechev.com https://www.youtube.com/Angular https://angular.io https://guess-js.github.io https://blog.tensorflow.org/2021/05/speed-up-your-sites-with-web-page-prefetching-using-ml.html Tell us what you think of PodRocket We want to hear from you! We want to know what you love and hate about the podcast. What do you want to hear more about? Who do you want to see on the show? Our producers want to know, and if you talk with us, we'll send you a $25 gift card! If you're interested, schedule a call with us (https://podrocket.logrocket.com/contact-us) or you can email producer Kate Trahan at kate@logrocket.com (mailto:kate@logrocket.com) Follow us. Get free stickers. Follow us on Apple Podcasts, fill out this form (https://podrocket.logrocket.com/get-podrocket-stickers), and we'll send you free PodRocket stickers! What does LogRocket do? LogRocket combines frontend monitoring, product analytics, and session replay to help software teams deliver the ideal product experience. Try LogRocket for free today. (https://logrocket.com/signup/?pdr) Special Guest: Minko Gechev.
SHOW SUMMARY:In today's episode, Minko Gechev joins the show to share his personal story from first-time coder to becoming the Technical lead & Manager for Angular Developer Relations at Google. Minko talks about advancing his skills, contributing to Open Source, moving & working abroad, and selling a successful startup, and then gives insights and tips for how others can find success in their personal stories as well.LINKS:https://www.amazon.com/Getting-Started-Angular-Minko-Gechev/dp/1787125270https://rhyme.com/https://www.npmjs.com/package/codelyzerRECOMMENDED BOOKS:1). Patterns of Enterprise Application Architecture by Martin Fowler https://www.martinfowler.com/books/eaa.html2). JavaScript Design Patternshttps://www.patterns.dev/posts/classic-design-patterns/3). Design Patterns: Elements of Reusable Object-Oriented Software by the "Gang of Four"https://www.amazon.com/Design-Patterns-Object-Oriented-Addison-Wesley-Professional-ebook/dp/B000SEIBB84). MIT Introduction to Algorithmshttps://mitpress.mit.edu/books/introduction-algorithms-third-edition#:~:text=Introduction%20to%20Algorithms%2C%20the%20'bible,to%20special%20algorithms%20for%20string5). Algorithms by Robert Sedgewick https://www.amazon.com/Algorithms-4th-Robert-Sedgewick/dp/032157351XCONNECT WITH US:Minko Gechev @mgechevBrooke Avery @JediBraveryErik Slack @erik_slack
Angular is a free and open-source web application framework. It's maintained by the Angular team at Google. It's used by millions of web applications and has a strong ecosystem of core contributors and library builders. In this episode, I interview Minko Gechev, Developer Relations Lead at Google. We explore several aspects of open-source software development, The post Angular Dev Tools with Minko Gechev appeared first on Software Engineering Daily.
Angular is a free and open-source web application framework. It's maintained by the Angular team at Google. It's used by millions of web applications and has a strong ecosystem of core contributors and library builders. In this episode, I interview Minko Gechev, Developer Relations Lead at Google. We explore several aspects of open-source software development, The post Angular Dev Tools with Minko Gechev appeared first on Software Engineering Daily.
Angular is a free and open-source web application framework. It's maintained by the Angular team at Google. It's used by millions of web applications and has a strong ecosystem of core contributors and library builders. In this episode, I interview Minko Gechev, Developer Relations Lead at Google. We explore several aspects of open-source software development, The post Angular Dev Tools with Minko Gechev appeared first on Software Engineering Daily.
Angular is a free and open-source web application framework. It's maintained by the Angular team at Google. It's used by millions of web applications and has a strong ecosystem of core contributors and library builders. In this episode, I interview Minko Gechev, Developer Relations Lead at Google. We explore several aspects of open-source software development,
Hi everyone, this is Dariusz Kalbarczyk co-founder of NG-Poland.pl & JS-Poland.pl. Welcome back to Agular Master Podcast. Together with Manfred Steyer - Speaker, Trainer, Author from angulararchitects.io. We discuss everything related to our favorite framework. Today we have some special guests from Angular Team: Minko Gechev. We talk about, among others: 1. The Angular team is currently working on ideas for making Angular-Modules optional. However, originally, they were not even planned for Angular. Why did the Angular Team implement them even though? 2. What are the challenges of making Angular-Modules optional? 3. Who could benefit the most from optional Angular-Modules and who should stick with Angular-Modules? 4. Can you tell us a bit about how the Angular-Teams plan to implement optional Angular-Modules and how this would look like for people developing with Angular? 5. I've seen you are currently collecting case studies for Micro Frontends. What are your current learnings you've gained from them? 6. Are there ideas to directly support Micro Frontends by Angular and/or the CLI? How could this look alike? 7. Some people in the community are really looking forward to going fully zone-less. It's also on the roadmap. How could this work technically? How could Angular find out that it's time to do change detection? 8. If we go zoneless, what would this change for Angular devs? 9. Some years ago, the Angular team experimented with partial hydration. The idea was to just download an index.html upfront. Then, the rest could be downloaded as needed. Where did these experiments lead to and what plans do you have for this topic? 10. With Angular 6 we already got Angular Elements for wrapping Angular Components into Web Components. Frankly, since then, it didn't evolve that much. What's the future of it? 11. What can we expect from Angular 13? 12. What do you expect from the future of Angular after version 13? https://ng-poland.pl https://js-poland.pl https://angularmaster.dev https://www.angulararchitects.io https://workshopfest.dev --- Send in a voice message: https://podcasters.spotify.com/pod/show/angular-master/message
The Angular Show invited Minko Gechev to come on the show and talk through some of the big Angular-related announcements, namely, Angular version 12, IE11 deprecation, and the shiny new Angular DevTools. Minko Gechev is a longtime contributor to Angular, a member of the Angular Team, a good friend of ours, and an all-around wonderful person to spend time with. To kick things off, Minko takes us through some of the big changes as part of the Angular version 12 release, including Ivy (no not the plant, the new-ish compilation and rendering pipeline in Angular) libraries and the final sail-off of ViewEngine (the thing that Ivy replaces), updates to the Language Service (VS Code plugin) to use Ivy, strict mode as the new default for new Angular projections, webpack 5 support, nullish coalescing operator in templates, and inline Sass. Phew!! That's a long list. I guess the team has been a bit busy. Hopefully, they got a break to attend Minko's amazing talk at Google I/O.And that's just the Angular version 12 content we cover in this episode! We also talk about DevTools, the new Chrome extension for Angular developers from the Angular Team, its features, how it works, the integration with the Chome DevTools, and how you should never touch an internal Angular API with three theta symbols (joking, but, seriously, no touchy)! The new DevTools are available in the Chrome Web Store to download and install today, and will soon be available for Firefox.Oh, we almost forgot! In the midst of all of these amazing technical accomplishments, the team snuck in some easy-peezy Tailwind CSS support for those of you that love to add dozens of classes to your HTML elements and are afraid of CSS (we get it, CSS is, like, really challenging). We're speculating that future versions of Angular might even write your CSS for you.Angular as a platform continues to grow and thrive. Want to be a part of the journey? Go ahead and subscribe so you can listen to this info-packed episode with Minko, and you'll be sure to not miss a future episode. Subscribe today!Show notes: Article about a Introducing Angular DevTools https://blog.angular.io/introducing-angular-devtools-2d59ff4cf62fConnect with us: Minko Gechev - @mgechevBrian F Love - @brian_loveAaron Frost - @aaronfrostJennifer Wadella - @likeOMGitsFEDAY
John Papa @John_PapaWard Bell @WardBellDan Wahlin @DanWahlinCraig Shoemaker @craigshoemakerMinko Gechev @mgechevBrought to you byAG Grid IdeaBladeResources:Minko Gechev's blogAngularAngular Developer Survey 2020 ResultsAngular on npmAngular compiler on npmAngular Debugging GuidesInfo on Angular ErrorsAngular AuguryAngular Dev Tools for ChromeAngular on YouTubeProfiling Angular Applications with Minko GechevChrome Dev ToolsAngular on TwitterAngular RoadmapIntroduction to Angular conceptsNgModulesAngular Rendering Engine IvyAngular versionsRendering on the WebAngular UniversalMinko’s tricky array codeGary Bernhardt’s famous JavaScript WAT flash talkRxJs AngularRxJS Decision TreeHaskellTailwindTimejumps01:59 Guest introduction05:36 What changes have happened with debugging?07:34 Sponsor: AG Grid08:44 What kinds of errors will people be able to see?13:22 What are the goals for Angular?22:40 Progressive hydration25:12 Is Ivy the present of Angular?27:09 Sponsor: IdeaBlade28:17 How is server side rendering handled?30:58 How do you learn new things?35:59 Are you working on ease of use for Angular?39:46 Is RxJS as important in Angular?44:21 What's on your Angular roadmap wishlist?46:21 Angular usage at Google51:23 Final ThoughtsPodcast editing on this episode done by Chris Enns of Lemon Productions.
What is the future of Angular? What new features and improvements are being thought of and worked on? Will the developer experience improve? Panelists Brian Love and Aaron Frost sat down with Minko Gechev, a member of the developer relations team for Angular at Google and a longtime contributor to Angular through open-source, to answer some of those questions. And trust us, the future of Angular is bright, starting with all the amazing new features that are being built. The developer experience is only going to get better and faster. Minko shares with us a look into the potential future of Angular. Minko shares with us a look into the potential future of Angular, including the future support for TypeScript 4 versions. The Angular team is committed to supporting future TypeScript versions that bring new features, improvements, and fixes to the language. We then learn about the transition of the Angular Language Service to leverage Ivy, the compilation and rendering engine shipped in Angular version 9, which will solve some inconsistency issues, but also provide some speed improvements in our IDE. We also learn about the migration that is going to happen from TSLint to ESLint, and what that transition is going to look like. Minko then discusses how the team is going to tackle the inlining of critical CSS in order to improve an application's First Contentful Paint time. Finally, we learn about a new and exciting developer tools extension that is going to help Angular developers to profile and inspect their applications.Today, Angular is an incredible framework and platform for building web, mobile, and desktop applications, and we're excited by the outlook and possibilities moving forward! Listen in and join us as we get a sneak peek into that future.Show Notes:► https://twitter.com/MikeRyanDev/status/1307687779195854849► https://github.com/angular/angular-cli/releases/tag/v10.1.0-next.7
Minko Gechev talks about how Angular 9 changes the future of Angular.
Sponsors Sentry use the code “devchat” for 2 months free on Sentry small plan Angular Bootcamp CacheFly Panel Aaron Frost Alyssa Nicoll Shai Reznik Joe Eames Brian Love Joined by Special Guest: Minko Gechev Episode Summary Minko from Angular team at Google talks about what's new in Angular v8 and what has changed. Some of the exciting new features include differential loading, dynamic imports for lazy routes and CLI workflow improvements which end up being a large perfomance improvement. The panel comments on the fact that it was effortless to migrate from Angular 7 to Angular 8, and Minko also mentions that they had received feedback that the how to start tutorials were not very clear and so in Angular v8 they made an effort to re-do the tutorials. Links Angular Versioning and Releases - Angular Minko's Twitter Minko's Blog Minko's GitHub https://caniuse.com/#search=modules Picks Aaron Frost: Stranger Things Season 3 Angular Denver Joe Eames: Bonnie Brennan and her daughter Sam Shai Reznik: Dev Ed Podcast: Making Learning Fun Ozark Cobra Kai Getting Out of Your Comfort Zone Alyssa Nicoll: ngAir 211 - Template Streams in Angular & Change Detection Profiling w/ Dominic Elm & Kwinten Pisman Brian Love: https://github.com/cartant/rxjs-spy Go Outside and Hike Minko Gechev: You can use the "safe navigation" operator in Angular templates Hit Fit SF
Sponsors Sentry use the code “devchat” for 2 months free on Sentry small plan Angular Bootcamp CacheFly Panel Aaron Frost Alyssa Nicoll Shai Reznik Joe Eames Brian Love Joined by Special Guest: Minko Gechev Episode Summary Minko from Angular team at Google talks about what's new in Angular v8 and what has changed. Some of the exciting new features include differential loading, dynamic imports for lazy routes and CLI workflow improvements which end up being a large perfomance improvement. The panel comments on the fact that it was effortless to migrate from Angular 7 to Angular 8, and Minko also mentions that they had received feedback that the how to start tutorials were not very clear and so in Angular v8 they made an effort to re-do the tutorials. Links Angular Versioning and Releases - Angular Minko's Twitter Minko's Blog Minko's GitHub https://caniuse.com/#search=modules Picks Aaron Frost: Stranger Things Season 3 Angular Denver Joe Eames: Bonnie Brennan and her daughter Sam Shai Reznik: Dev Ed Podcast: Making Learning Fun Ozark Cobra Kai Getting Out of Your Comfort Zone Alyssa Nicoll: ngAir 211 - Template Streams in Angular & Change Detection Profiling w/ Dominic Elm & Kwinten Pisman Brian Love: https://github.com/cartant/rxjs-spy Go Outside and Hike Minko Gechev: You can use the "safe navigation" operator in Angular templates Hit Fit SF
Sponsors Sentry use the code “devchat” for 2 months free on Sentry small plan Angular Bootcamp CacheFly Panel Aaron Frost Alyssa Nicoll Shai Reznik Joe Eames Brian Love Joined by Special Guest: Minko Gechev Episode Summary Minko from Angular team at Google talks about what's new in Angular v8 and what has changed. Some of the exciting new features include differential loading, dynamic imports for lazy routes and CLI workflow improvements which end up being a large perfomance improvement. The panel comments on the fact that it was effortless to migrate from Angular 7 to Angular 8, and Minko also mentions that they had received feedback that the how to start tutorials were not very clear and so in Angular v8 they made an effort to re-do the tutorials. Links Angular Versioning and Releases - Angular Minko's Twitter Minko's Blog Minko's GitHub https://caniuse.com/#search=modules Picks Aaron Frost: Stranger Things Season 3 Angular Denver Joe Eames: Bonnie Brennan and her daughter Sam Shai Reznik: Dev Ed Podcast: Making Learning Fun Ozark Cobra Kai Getting Out of Your Comfort Zone Alyssa Nicoll: ngAir 211 - Template Streams in Angular & Change Detection Profiling w/ Dominic Elm & Kwinten Pisman Brian Love: https://github.com/cartant/rxjs-spy Go Outside and Hike Minko Gechev: You can use the "safe navigation" operator in Angular templates Hit Fit SF
In this modern web podcast, Rob Ocel and Jake Dohm speak about compilers with Minko Gechev (Angular Team at Google), Kristofer Baxter (Performance expert, a Software engineer at Google) and Radoslav Kirov (TypeScript support team at Google). Topics Covered:- What is a compiler?- WASM- UX- CSS- Accessibility- Node: Libraries: Express, nest, Ecosystem.- GraphQ- Angular Ivy- TypeScript- Parcel 2- Animation- Utility First CSS- Performance- CSS Grid This episode is sponsored by NativeScript & This Dot Labs.
--- Support this podcast: https://anchor.fm/angularair/support
Recording date: 2018-09-20 Tweet John Papa https://twitter.com/john_papa Ward Bell https://twitter.com/wardbell Sam Julien https://twitter.com/samjulien ** Rob Wormald** https://twitter.com/robwormald Notes: (0:01:20) Mailbag https://twitter.com/D2KX_/status/1052980944389513217 about Polymer's life and web components (0:01:30) Polymer https://www.polymer-project.org/ (0:02:44) Rob says that more common features will move to the platform for web components (0:03:45) Rob talks about how his role is to talk to folks who build apps with JavaScript (0:05:04) Rob talks about solving the problem of recreating the same component over and over (DatePicker as an example) (0:05:26) DatePicker in Angular Material https://material.angular.io/components/datepicker (0:05:46) Rob talks about solving the problem of recreating the same component over and over (DatePicker as an example) (0:06:31) Dan talks about jQuery and the plugins for extensibility (0:08:00) Ward asks if people are looking for an Angular version of a control or a more generic JavaScript one (0:08:33) Ward asks Rob if he sees people want to interop between platforms (0:09:12) Rob talks about how Google has various internal tools (0:10:20) Angular's new Ivy compiler https://www.youtube.com/watch?v=dIxknqPOWms&feature=youtu.be&t=1360 (0:10:37) John asks Rob to explain the Ivy compiler (0:11:15) Tree shaking https://developer.mozilla.org/en-US/docs/Glossary/Tree_shaking (0:11:30) Rob talks about how an Angular app will be about 15kb with Ivy (0:14:00) John asks Rob if sharing company specific UI libraries is one of the goals of Angular Elements (0:14:32) Angular Elements https://angular.io/guide/elements (0:15:32) Ward asks Rob about dynamic forms and how Angular Elements may address it (0:17:44) Ward asks about the value of AngularElements talking to each other! Vanilla web components are stand alone. Great. But I build apps and apps are components that talk to each other. If I'm building with AE, I get that inter-comm among elements, yes? How does that work? (0:19:08) Dan asks Rob about how this impacts big companies (0:20:26) Rob talks about SkateJS https://github.com/skatejs/skatejs (0:21:09) Ward asks Rob about vanilla web components. (0:21:19) Ward says components should be able to talk to each other. (0:22:37) Rob addresses how components can talk to each other with Angular Elements (0:23:30) Dan says a lot of the companies he works with have islands of apps and want to take a feature and drop it in with a tool like Angular Elements. (0:24:00) Ward says he loves Sharepoint (0:24:29) Rob explains how Sharepoint users are one of the larger consumers of Angular Elements (0:24:45) Ward says there may be similar things in the Salesforce world too (0:26:52) John asks Rob how much Angular comes along for the ride with Angular Elements (0:27:17) Rob explains the basic steps to create a component with Angular Elements. (0:28:11) Rob says the way you author a component doesn't change, just how you bootstrap it. (0:28:35) Dan asks if he needs the CLI to create and build Angular Elements (0:29:38) Ward asks if DI works across the elements (0:32:06) Ward asks Rob how he sees the other frameworks handling this problem. (0:32:00) Rob talks about his experience with React and Vue's approaches to custom elements. (0:32:56) Rob says the React team is talking with the Angular team about this, but he does not know of their plans. (0:34:13) Rob says Vue provides the ability to publish component from inside of Vue, as far as he knows (0:35:30) Rob talks about their relationship and cooperation with Ionic https://ionicframework.com/ (0:37:53) Someone to follow - Thierno Thiam https://twitter.com/localhost_droid and https://twitter.com/dakarPromiseJs (0:48:42) Someone to follow - Minko Gechev https://twitter.com/mgechev (0:39:30) Someone to follow - is Laurie Voss, https://twitter.com/seldo COO and co-founder of npm http://our-origins.com/post/171840751116/laurie-voss-co-founder-and-coo-at-npm (0:40:00) Someone to follow - Jason Miller author of preact https://twitter.com/_developit https://twitter.com/preactjs
Panel: Joe Eames Aaron Frost John Papa Special Guests: Jia Li In this episode, the Adventures in Angular panel talks with Jia Li about Zones.js. Check-out today’s episode to hear this topic plus more! Show Topics: 1:20 – What are zones? 1:25 – Jia: It is a library developed 4 years ago. 1:45 – Panelist: Execution context? What is this? 1:50 – Jia answers this question. 2:42 – I know it’s big in Angular because it kind of takes care of itself. What are the new things you have done in zones and let’s talk about that? 3:01 – Jia: I started contributing 2 years ago. About 1 year ago I was using Angular. I would like to talk about different 3:35 – Where are zones used in Angular – lots of people don’t know where it is. 3:48 – Jia: For four parts. 6:23 – What is this framework that you are talking about? Check-out the links for this framework. 6:42 – Panelists chime-in with their comments. 7:29 – Jia: It is a standalone package in Zone. 8:27 – Going back to John’s question. I only ran into it a few times – one time in one of my classes I made a new behavior subject. That subject got created before the zone. Anything I did outside of Angular zone, didn’t know what was going on. Once I stuck the behavior subject in one of the classes everything got taken care of. You kind of monkey patch... what else gets monkey patched by zones? 9:28 – Jia answers the question. 10:54 – Monkey-patch is a term that we use in this industry. What is it? 11:05 – Jia answers this question. Jia: Monkey patch basically is overriding the procedure for the API. 14:05 – What are some of the new things you are doing? I know you’ve done some new things and what’s new with Zones? 14:28 – Lia: It’s all about the performance. 16:55 – Panelist: I didn’t know all about these hooks – so that’s cool! I knew about handling errors, but I didn’t know there are different ways to work with the tasks. I am curious what kind of interesting things have you done with Zones as an Angular developer? 17:38 – Lia answers the questions. 19:15 – Debugging and tests are good for Zones. But it sounds like you are saying that Zones is not good for... 19:50 – Lia answers the question. 20:35 – Panelist: Sounds like Zones is doing what you need out of the box for... 20:51 – Panelist: You improved some of the performance? Zones doesn’t have that much of a footprint and is pretty lightweight. How much did you better the performance? 20-30%? 2:25 – Jia – I think the library is faster. There is a lot of garbage collection. It’s not that much. 22:47 – Advertisement – Code Badges! 23:38 – Panelist: So it will help with garbage collection. That is good to know. Cool to know that you can optimize such a small library with... 23:48 – Jia comments. 26:09 – Panelist: Gottcha. 26:16 – Jia continues this topic. Jia: A lot of new things are happening with the testing in the Zone. There are a lot of new features in the syntax. 27:35 – That is a nice feature to add back in. 27:43 – Jia continues the talk. 28:55 – Panelist: There are a lot of tests in this Repo. Do Zones generally work out of the box or do you have to add support for different things? What are the criteria to add support to? Blue Birds added to the list somehow. 29:32 – Jia answers this question. 30:03 – Panelist: Can the GIST team add support or only can the Zone team add it? 30:37 – Jia: Other teams can add support to their libraries. It’s public. 31:10 – Panelist: This is over my head, but is there a plan to get the documents going? 31:32 – Jia adds a comment. 31:41 – Panelist: Google this: What the heck is zones? An opposite side of the question: What would happen to Angular if you remove Zones.js? 32:10 – Jia answers this question. 332:37 – Zones is effectively how it works sweetly in Angular. It’s not totally true but if you remove Zones.js – which I see some people doing – why would someone do this? Is it heavy is it...? 33:20 – Jia answers the question. Jia: It’s not good for the Angular element. 34:29 – Panelist: It is an island of Angular. 34:54 – Jia continues this conversation. 35:10 – Panelist: That’s interesting – good to know. 35:18 – Jia: Back to the new features. 38:22 – Jia mentions another feature. 39:43 – JavaScript something haunts you – then you are now a real developer! 40:03 – Jia: Yes, exactly. 40:10 – Panelist: I am going to put some things in the links that the listeners can access. (NG Zone) 40:28 – Picks! 40:31 – Advertisement – Get a Coder Job Course Links: GitHub What is New in Zone.js Thriller Troopers Web Tracing Framework NG Zone Audible – Educated Real Talk – JavaScript The dark side of conferences Real Talk Java Script’s Twitter Jia Li’s LinkedIn Sponsors: Angular Boot Camp Digital Ocean Get a Coder Job Course Picks: Jia You Don’t Know JS Switching to Angular 2 Aaron Educated John Real Talk JavaScript https://twitter.com/realtalkjs The Dark Side of Conferences Joe The Developer Experience Bait and Switch
Panel: Joe Eames Aaron Frost John Papa Special Guests: Jia Li In this episode, the Adventures in Angular panel talks with Jia Li about Zones.js. Check-out today’s episode to hear this topic plus more! Show Topics: 1:20 – What are zones? 1:25 – Jia: It is a library developed 4 years ago. 1:45 – Panelist: Execution context? What is this? 1:50 – Jia answers this question. 2:42 – I know it’s big in Angular because it kind of takes care of itself. What are the new things you have done in zones and let’s talk about that? 3:01 – Jia: I started contributing 2 years ago. About 1 year ago I was using Angular. I would like to talk about different 3:35 – Where are zones used in Angular – lots of people don’t know where it is. 3:48 – Jia: For four parts. 6:23 – What is this framework that you are talking about? Check-out the links for this framework. 6:42 – Panelists chime-in with their comments. 7:29 – Jia: It is a standalone package in Zone. 8:27 – Going back to John’s question. I only ran into it a few times – one time in one of my classes I made a new behavior subject. That subject got created before the zone. Anything I did outside of Angular zone, didn’t know what was going on. Once I stuck the behavior subject in one of the classes everything got taken care of. You kind of monkey patch... what else gets monkey patched by zones? 9:28 – Jia answers the question. 10:54 – Monkey-patch is a term that we use in this industry. What is it? 11:05 – Jia answers this question. Jia: Monkey patch basically is overriding the procedure for the API. 14:05 – What are some of the new things you are doing? I know you’ve done some new things and what’s new with Zones? 14:28 – Lia: It’s all about the performance. 16:55 – Panelist: I didn’t know all about these hooks – so that’s cool! I knew about handling errors, but I didn’t know there are different ways to work with the tasks. I am curious what kind of interesting things have you done with Zones as an Angular developer? 17:38 – Lia answers the questions. 19:15 – Debugging and tests are good for Zones. But it sounds like you are saying that Zones is not good for... 19:50 – Lia answers the question. 20:35 – Panelist: Sounds like Zones is doing what you need out of the box for... 20:51 – Panelist: You improved some of the performance? Zones doesn’t have that much of a footprint and is pretty lightweight. How much did you better the performance? 20-30%? 2:25 – Jia – I think the library is faster. There is a lot of garbage collection. It’s not that much. 22:47 – Advertisement – Code Badges! 23:38 – Panelist: So it will help with garbage collection. That is good to know. Cool to know that you can optimize such a small library with... 23:48 – Jia comments. 26:09 – Panelist: Gottcha. 26:16 – Jia continues this topic. Jia: A lot of new things are happening with the testing in the Zone. There are a lot of new features in the syntax. 27:35 – That is a nice feature to add back in. 27:43 – Jia continues the talk. 28:55 – Panelist: There are a lot of tests in this Repo. Do Zones generally work out of the box or do you have to add support for different things? What are the criteria to add support to? Blue Birds added to the list somehow. 29:32 – Jia answers this question. 30:03 – Panelist: Can the GIST team add support or only can the Zone team add it? 30:37 – Jia: Other teams can add support to their libraries. It’s public. 31:10 – Panelist: This is over my head, but is there a plan to get the documents going? 31:32 – Jia adds a comment. 31:41 – Panelist: Google this: What the heck is zones? An opposite side of the question: What would happen to Angular if you remove Zones.js? 32:10 – Jia answers this question. 332:37 – Zones is effectively how it works sweetly in Angular. It’s not totally true but if you remove Zones.js – which I see some people doing – why would someone do this? Is it heavy is it...? 33:20 – Jia answers the question. Jia: It’s not good for the Angular element. 34:29 – Panelist: It is an island of Angular. 34:54 – Jia continues this conversation. 35:10 – Panelist: That’s interesting – good to know. 35:18 – Jia: Back to the new features. 38:22 – Jia mentions another feature. 39:43 – JavaScript something haunts you – then you are now a real developer! 40:03 – Jia: Yes, exactly. 40:10 – Panelist: I am going to put some things in the links that the listeners can access. (NG Zone) 40:28 – Picks! 40:31 – Advertisement – Get a Coder Job Course Links: GitHub What is New in Zone.js Thriller Troopers Web Tracing Framework NG Zone Audible – Educated Real Talk – JavaScript The dark side of conferences Real Talk Java Script’s Twitter Jia Li’s LinkedIn Sponsors: Angular Boot Camp Digital Ocean Get a Coder Job Course Picks: Jia You Don’t Know JS Switching to Angular 2 Aaron Educated John Real Talk JavaScript https://twitter.com/realtalkjs The Dark Side of Conferences Joe The Developer Experience Bait and Switch
Panel: Joe Eames Aaron Frost John Papa Special Guests: Jia Li In this episode, the Adventures in Angular panel talks with Jia Li about Zones.js. Check-out today’s episode to hear this topic plus more! Show Topics: 1:20 – What are zones? 1:25 – Jia: It is a library developed 4 years ago. 1:45 – Panelist: Execution context? What is this? 1:50 – Jia answers this question. 2:42 – I know it’s big in Angular because it kind of takes care of itself. What are the new things you have done in zones and let’s talk about that? 3:01 – Jia: I started contributing 2 years ago. About 1 year ago I was using Angular. I would like to talk about different 3:35 – Where are zones used in Angular – lots of people don’t know where it is. 3:48 – Jia: For four parts. 6:23 – What is this framework that you are talking about? Check-out the links for this framework. 6:42 – Panelists chime-in with their comments. 7:29 – Jia: It is a standalone package in Zone. 8:27 – Going back to John’s question. I only ran into it a few times – one time in one of my classes I made a new behavior subject. That subject got created before the zone. Anything I did outside of Angular zone, didn’t know what was going on. Once I stuck the behavior subject in one of the classes everything got taken care of. You kind of monkey patch... what else gets monkey patched by zones? 9:28 – Jia answers the question. 10:54 – Monkey-patch is a term that we use in this industry. What is it? 11:05 – Jia answers this question. Jia: Monkey patch basically is overriding the procedure for the API. 14:05 – What are some of the new things you are doing? I know you’ve done some new things and what’s new with Zones? 14:28 – Lia: It’s all about the performance. 16:55 – Panelist: I didn’t know all about these hooks – so that’s cool! I knew about handling errors, but I didn’t know there are different ways to work with the tasks. I am curious what kind of interesting things have you done with Zones as an Angular developer? 17:38 – Lia answers the questions. 19:15 – Debugging and tests are good for Zones. But it sounds like you are saying that Zones is not good for... 19:50 – Lia answers the question. 20:35 – Panelist: Sounds like Zones is doing what you need out of the box for... 20:51 – Panelist: You improved some of the performance? Zones doesn’t have that much of a footprint and is pretty lightweight. How much did you better the performance? 20-30%? 2:25 – Jia – I think the library is faster. There is a lot of garbage collection. It’s not that much. 22:47 – Advertisement – Code Badges! 23:38 – Panelist: So it will help with garbage collection. That is good to know. Cool to know that you can optimize such a small library with... 23:48 – Jia comments. 26:09 – Panelist: Gottcha. 26:16 – Jia continues this topic. Jia: A lot of new things are happening with the testing in the Zone. There are a lot of new features in the syntax. 27:35 – That is a nice feature to add back in. 27:43 – Jia continues the talk. 28:55 – Panelist: There are a lot of tests in this Repo. Do Zones generally work out of the box or do you have to add support for different things? What are the criteria to add support to? Blue Birds added to the list somehow. 29:32 – Jia answers this question. 30:03 – Panelist: Can the GIST team add support or only can the Zone team add it? 30:37 – Jia: Other teams can add support to their libraries. It’s public. 31:10 – Panelist: This is over my head, but is there a plan to get the documents going? 31:32 – Jia adds a comment. 31:41 – Panelist: Google this: What the heck is zones? An opposite side of the question: What would happen to Angular if you remove Zones.js? 32:10 – Jia answers this question. 332:37 – Zones is effectively how it works sweetly in Angular. It’s not totally true but if you remove Zones.js – which I see some people doing – why would someone do this? Is it heavy is it...? 33:20 – Jia answers the question. Jia: It’s not good for the Angular element. 34:29 – Panelist: It is an island of Angular. 34:54 – Jia continues this conversation. 35:10 – Panelist: That’s interesting – good to know. 35:18 – Jia: Back to the new features. 38:22 – Jia mentions another feature. 39:43 – JavaScript something haunts you – then you are now a real developer! 40:03 – Jia: Yes, exactly. 40:10 – Panelist: I am going to put some things in the links that the listeners can access. (NG Zone) 40:28 – Picks! 40:31 – Advertisement – Get a Coder Job Course Links: GitHub What is New in Zone.js Thriller Troopers Web Tracing Framework NG Zone Audible – Educated Real Talk – JavaScript The dark side of conferences Real Talk Java Script’s Twitter Jia Li’s LinkedIn Sponsors: Angular Boot Camp Digital Ocean Get a Coder Job Course Picks: Jia You Don’t Know JS Switching to Angular 2 Aaron Educated John Real Talk JavaScript https://twitter.com/realtalkjs The Dark Side of Conferences Joe The Developer Experience Bait and Switch
--- Support this podcast: https://anchor.fm/angularair/support
Panel: Charles Max Wood Ward Bell Special Guests: Minko Gechev In this episode of Adventures in Angular, the panel talks to Minko Gechev about teaching Angular through Rhyme.com. Minko is currently working on Rhyme.com, which is a platform for hands-on demos and trainings. They touch on what Rhyme.com is, how it works, and the advantages to using it, especially in training. They also go into detail as to how an all sides workshop is set up and the versatility of using Rhyme with many different frameworks. In particular, we dive pretty deep on: Minko intro What are you most famous for in the Angular community? Angular.js style guide What is Rhyme? How does Rhyme work? All sides workshop advantages CodeSandbox.io Plunker Full on BM with virtual access Run things in your bowser eventually Working in the cloud Linux and Windows How workshops work Providing video recordings You can teach anything through Rhyme Have you used this in a coding environment? Angular CLI How are you using Angular to build this system? How much of the work is Angular pulling for you? TypeScript Architecture of Rhyme What is WebRTC? And much, much more! Links: Rhyme.com Angular.js style guide CodeSandbox.io Plunker Linux Windows Angular CLI TypeScript WebRTC Minko’s GitHub @MGechev Minko’s Blog Picks: Charles 12 Rules for Life by Jordan B. Peterson DevChat.tv YouTube Ward Building Microservices by Sam Newman Hit Refresh by Satya Nadella Minko ngConf
Panel: Charles Max Wood Ward Bell Special Guests: Minko Gechev In this episode of Adventures in Angular, the panel talks to Minko Gechev about teaching Angular through Rhyme.com. Minko is currently working on Rhyme.com, which is a platform for hands-on demos and trainings. They touch on what Rhyme.com is, how it works, and the advantages to using it, especially in training. They also go into detail as to how an all sides workshop is set up and the versatility of using Rhyme with many different frameworks. In particular, we dive pretty deep on: Minko intro What are you most famous for in the Angular community? Angular.js style guide What is Rhyme? How does Rhyme work? All sides workshop advantages CodeSandbox.io Plunker Full on BM with virtual access Run things in your bowser eventually Working in the cloud Linux and Windows How workshops work Providing video recordings You can teach anything through Rhyme Have you used this in a coding environment? Angular CLI How are you using Angular to build this system? How much of the work is Angular pulling for you? TypeScript Architecture of Rhyme What is WebRTC? And much, much more! Links: Rhyme.com Angular.js style guide CodeSandbox.io Plunker Linux Windows Angular CLI TypeScript WebRTC Minko’s GitHub @MGechev Minko’s Blog Picks: Charles 12 Rules for Life by Jordan B. Peterson DevChat.tv YouTube Ward Building Microservices by Sam Newman Hit Refresh by Satya Nadella Minko ngConf
Panel: Charles Max Wood Ward Bell Special Guests: Minko Gechev In this episode of Adventures in Angular, the panel talks to Minko Gechev about teaching Angular through Rhyme.com. Minko is currently working on Rhyme.com, which is a platform for hands-on demos and trainings. They touch on what Rhyme.com is, how it works, and the advantages to using it, especially in training. They also go into detail as to how an all sides workshop is set up and the versatility of using Rhyme with many different frameworks. In particular, we dive pretty deep on: Minko intro What are you most famous for in the Angular community? Angular.js style guide What is Rhyme? How does Rhyme work? All sides workshop advantages CodeSandbox.io Plunker Full on BM with virtual access Run things in your bowser eventually Working in the cloud Linux and Windows How workshops work Providing video recordings You can teach anything through Rhyme Have you used this in a coding environment? Angular CLI How are you using Angular to build this system? How much of the work is Angular pulling for you? TypeScript Architecture of Rhyme What is WebRTC? And much, much more! Links: Rhyme.com Angular.js style guide CodeSandbox.io Plunker Linux Windows Angular CLI TypeScript WebRTC Minko’s GitHub @MGechev Minko’s Blog Picks: Charles 12 Rules for Life by Jordan B. Peterson DevChat.tv YouTube Ward Building Microservices by Sam Newman Hit Refresh by Satya Nadella Minko ngConf
Panel: Charles Max Wood Ward Bell Joe Eames John Papa Special Guests: Shai Reznik In this episode of Adventures in Angular, the panel talks to Shai Reznik about TDD. TDD is a technique used to write unit tests. They discuss what exactly unit testing is, the benefits of it, and why you would want to use it to test your code. Shai then discusses what TDD is, why you would use it, the benefits of it, and how you can get started using TDD in your own code. He loves that he can use TDD as a design tool for code and that it forces you to write cleaner, more modular code. In particular, we dive pretty deep on: What is TDD? Test Driven Development What is unit testing? Benefits of unit testing Faster feedback and saves you from regression bugs JavaScript Unit Testing & TDD Theory by Shai Red, Green, Refactor Why would you want to use TDD? Benefits of TDD You actually get to write the tests Forces you to write more modular and cleaner code Use TDD as a design tool for code Do you actually write code using TDD? Angular Ember Production code vs other types of code Write tests around assumptions Is TDD Dead? YouTube Series Allows you to think through what you want to build before you build it Blueprint in a sense Testing vs TDD And much, much more! Links: Angular JavaScript Unit Testing & TDD Theory by Shai TDD Ember Is TDD Dead? YouTube Series NgConf HighRez.io Picks: Charles Get involved in the political process John Don’t be afraid to have healthy discussions Five Things The 7 Ds of Development Talk Joe The Mistakes I Made As a Beginner Programmer by Samer Buna An Overview of JavaScript Testing in 2018 by Vitali Zaidman Try it out and decide for yourself Ward NgRx Data Shai Machine Learning-Driven Bundling by Minko Gechev Angular TDD course coming soon JavaScript Unit Testing & TDD Theory
Panel: Charles Max Wood Ward Bell Joe Eames John Papa Special Guests: Shai Reznik In this episode of Adventures in Angular, the panel talks to Shai Reznik about TDD. TDD is a technique used to write unit tests. They discuss what exactly unit testing is, the benefits of it, and why you would want to use it to test your code. Shai then discusses what TDD is, why you would use it, the benefits of it, and how you can get started using TDD in your own code. He loves that he can use TDD as a design tool for code and that it forces you to write cleaner, more modular code. In particular, we dive pretty deep on: What is TDD? Test Driven Development What is unit testing? Benefits of unit testing Faster feedback and saves you from regression bugs JavaScript Unit Testing & TDD Theory by Shai Red, Green, Refactor Why would you want to use TDD? Benefits of TDD You actually get to write the tests Forces you to write more modular and cleaner code Use TDD as a design tool for code Do you actually write code using TDD? Angular Ember Production code vs other types of code Write tests around assumptions Is TDD Dead? YouTube Series Allows you to think through what you want to build before you build it Blueprint in a sense Testing vs TDD And much, much more! Links: Angular JavaScript Unit Testing & TDD Theory by Shai TDD Ember Is TDD Dead? YouTube Series NgConf HighRez.io Picks: Charles Get involved in the political process John Don’t be afraid to have healthy discussions Five Things The 7 Ds of Development Talk Joe The Mistakes I Made As a Beginner Programmer by Samer Buna An Overview of JavaScript Testing in 2018 by Vitali Zaidman Try it out and decide for yourself Ward NgRx Data Shai Machine Learning-Driven Bundling by Minko Gechev Angular TDD course coming soon JavaScript Unit Testing & TDD Theory
Panel: Charles Max Wood Ward Bell Joe Eames John Papa Special Guests: Shai Reznik In this episode of Adventures in Angular, the panel talks to Shai Reznik about TDD. TDD is a technique used to write unit tests. They discuss what exactly unit testing is, the benefits of it, and why you would want to use it to test your code. Shai then discusses what TDD is, why you would use it, the benefits of it, and how you can get started using TDD in your own code. He loves that he can use TDD as a design tool for code and that it forces you to write cleaner, more modular code. In particular, we dive pretty deep on: What is TDD? Test Driven Development What is unit testing? Benefits of unit testing Faster feedback and saves you from regression bugs JavaScript Unit Testing & TDD Theory by Shai Red, Green, Refactor Why would you want to use TDD? Benefits of TDD You actually get to write the tests Forces you to write more modular and cleaner code Use TDD as a design tool for code Do you actually write code using TDD? Angular Ember Production code vs other types of code Write tests around assumptions Is TDD Dead? YouTube Series Allows you to think through what you want to build before you build it Blueprint in a sense Testing vs TDD And much, much more! Links: Angular JavaScript Unit Testing & TDD Theory by Shai TDD Ember Is TDD Dead? YouTube Series NgConf HighRez.io Picks: Charles Get involved in the political process John Don’t be afraid to have healthy discussions Five Things The 7 Ds of Development Talk Joe The Mistakes I Made As a Beginner Programmer by Samer Buna An Overview of JavaScript Testing in 2018 by Vitali Zaidman Try it out and decide for yourself Ward NgRx Data Shai Machine Learning-Driven Bundling by Minko Gechev Angular TDD course coming soon JavaScript Unit Testing & TDD Theory
--- Support this podcast: https://anchor.fm/angularair/support
Panel: Charles Max Wood Joe Eames Alyssa Nicoll Ward Bell Shai Reznik Special Guests: Minko Gechev In the episode of Adventures in Angular the panel discusses Angular Differs with Minko Gechev. Minko is a return guest to AiA, and is the founder o Rhyme and contributes to the Open Source community regularly. Minko is on the show to talk about Angular Differs. The discussion covers the details of the Differs and why they are important on the Angular platform. The topics covered are the concerns of differs, data applications and structures, problems solved and why it is good for Angular developers and much more. In particular, we dive pretty deep on: Startup Rhyme and Open Source Differs Differ helps find out the difference in data applications Problems it solves and why it is good for a day to day Angular developer Behavior of NG 4 - Example Binding refresh How made you write the blog post? Pump a Promise or an Async? Binding to Differs, Observable, etc. Turbo Differ Track by Function Implementing the track by function Implementation detail Tips for Building and Test Differs? Angular source? Rhyme and much more! Links: http://blog.mgechev.com https://github.com/mgechev @mgechev https://rhyme.com Picks: Charles Tuft and Needle Apple AirPods Alyssa Arch - game War Knight - game Ward The Translation of The Odyssey Joe Do The Work The Art of Overwatch Shai Growing Object Orient Software, Guided By Test VICE - How To Become Trip Advisor’s #1 Fake Restaurant Minko 3rd Edition of Book Switching to Angular Conditional types of TypeScript Stack Blitz
Panel: Charles Max Wood Joe Eames Alyssa Nicoll Ward Bell Shai Reznik Special Guests: Minko Gechev In the episode of Adventures in Angular the panel discusses Angular Differs with Minko Gechev. Minko is a return guest to AiA, and is the founder o Rhyme and contributes to the Open Source community regularly. Minko is on the show to talk about Angular Differs. The discussion covers the details of the Differs and why they are important on the Angular platform. The topics covered are the concerns of differs, data applications and structures, problems solved and why it is good for Angular developers and much more. In particular, we dive pretty deep on: Startup Rhyme and Open Source Differs Differ helps find out the difference in data applications Problems it solves and why it is good for a day to day Angular developer Behavior of NG 4 - Example Binding refresh How made you write the blog post? Pump a Promise or an Async? Binding to Differs, Observable, etc. Turbo Differ Track by Function Implementing the track by function Implementation detail Tips for Building and Test Differs? Angular source? Rhyme and much more! Links: http://blog.mgechev.com https://github.com/mgechev @mgechev https://rhyme.com Picks: Charles Tuft and Needle Apple AirPods Alyssa Arch - game War Knight - game Ward The Translation of The Odyssey Joe Do The Work The Art of Overwatch Shai Growing Object Orient Software, Guided By Test VICE - How To Become Trip Advisor’s #1 Fake Restaurant Minko 3rd Edition of Book Switching to Angular Conditional types of TypeScript Stack Blitz
Panel: Charles Max Wood Joe Eames Alyssa Nicoll Ward Bell Shai Reznik Special Guests: Minko Gechev In the episode of Adventures in Angular the panel discusses Angular Differs with Minko Gechev. Minko is a return guest to AiA, and is the founder o Rhyme and contributes to the Open Source community regularly. Minko is on the show to talk about Angular Differs. The discussion covers the details of the Differs and why they are important on the Angular platform. The topics covered are the concerns of differs, data applications and structures, problems solved and why it is good for Angular developers and much more. In particular, we dive pretty deep on: Startup Rhyme and Open Source Differs Differ helps find out the difference in data applications Problems it solves and why it is good for a day to day Angular developer Behavior of NG 4 - Example Binding refresh How made you write the blog post? Pump a Promise or an Async? Binding to Differs, Observable, etc. Turbo Differ Track by Function Implementing the track by function Implementation detail Tips for Building and Test Differs? Angular source? Rhyme and much more! Links: http://blog.mgechev.com https://github.com/mgechev @mgechev https://rhyme.com Picks: Charles Tuft and Needle Apple AirPods Alyssa Arch - game War Knight - game Ward The Translation of The Odyssey Joe Do The Work The Art of Overwatch Shai Growing Object Orient Software, Guided By Test VICE - How To Become Trip Advisor’s #1 Fake Restaurant Minko 3rd Edition of Book Switching to Angular Conditional types of TypeScript Stack Blitz
AiA 147: Codelyzer and Static Analysis Tools for Angular with Minko Gechev The week on Adventures in Angular features panelists Alyssa Nicoll, Shi Resnick, Lukas Ruebbelk, and Charles Max Wood. The special guest this week is Minko Gechev who is here to discuss Codelyzer. Minko is currently working on a start up. Angular JavaScript is the programming language that excites him the most. How do you work in a start up and still have free time? He tries to find an overlap between the work he's doing in the startup and work he does in his spare time. This is why he had previous work that was completely Angular (Angular Seed). This startup is more complicated because the overlap isn't as much. What is Codelyzer? Last year, he worked on the Angular Style Guide. He thought it was a good idea to have an automated way to verify a given project that follows the Angular Style Guide. He built on top of that and built Angular and provided similar style checks on top of templates, Angular CSS Styles inside of the components, and the Angular expressions inside of the templates. Codelyzer is a tool for static code analysis for Angular applications. How is it used? It can be used as a set of rules on top of tslint. You install it with mpm. Then tslint performs static analysis and verifies whether the source code follows some style guidelines that our team has agreed upon. When Codelyzer is used, we can also analyze the templates on Angular applications. After that, you can confirm it follows these rules by running tslint on top of the entire project. How many of the default tslint rules do you agree with? Minko states that that is a lot of tslint and Angular rules that align and that he agrees with most of them. He does admit there are some he finds annoying, such as specific semi colon rules. Overall, he believes that if the team has agreed upon the rule, it is following in order to avoid arguing. What do you recommend as the best way to add Codelyzer to a project that started without it? He thinks you should add one rule at a time. All the wordings will be fixed one by one, eventually fixing the entire project. He has also started working on style analysis on top of the application, which is performance analysis. He doesn’t know what data the application will process. But he still considers that a given component will have performance if it has a huge -- in the template. So static analysis we can find such templates and eventually warn the users about eventual performance issues that are possible. How hard is it to add or change in Codelyzer? It might be slightly harder compared to tslint because there are more things that can be statically verified. In Tslint there's a visitor pattern. There is a classical design from the Ganga; it is used for the reversal of syntax 3 of a Typescript code. So when you implement the visitor pattern, you visit a specific construct, verify whether the name follows some guidelines. It is pretty much the same thing in Codelyzer but you can also implement the same visitor pattern for visiting the template of the component. Currently, the project has more than 20 contributors. It looks complicated but not if you spend 30 to 40 minutes looking at the code. What was the motivation behind going deep into Angular? The style was easy for static (automated) verification. This way saved a lot of time from code reviews. Code reviews still have to be performed, but at least can skip the verification from style guides because they can be automatically done. He likes compilers, it is the front end of a compiler: analyzing Syntax 3 part of a compiler itself interesting algorithms. There is another rule from Codelyzer being worked on that isn't completely stable yet. It is to find out which styles are actually used inside of the template. Codelyzer can find out some of the styles that are no longer applied to some of the styles within the template. This is not ready yet but it will be ready in a couple of configurations. Is the idea of searching through of finding either redundant or non-used style, is this something Codelyzer's doing for the very first time (no one has ever done it) or are there tools that this would replace? For Angular, there is no other tool like that. JavaScript or HTML may be close. The Browser can do that. If I want to write a rule do I take the abstract syntax and tell it what to look for? How does that work? You can’t learn it by heart, so I usually copy and paste the existing code and then modify it. It is a standard typescript rule so you need to provide an abstract rule; you'll need to provide the visitor. If the rule is super complicated, you need four visitors. Are you relying on tslint to break things down into tokens and the abstract syntax and then doing the work from there? Yeah. I did some extensions of tslint. Just extending tslint because it would have been too much work to create something from scratch. He is relying on tslint’s error reporting. So in order to set this up on a CI machine, it needs to be able to run node and install some mpm packages? Yes. Run node, install tslint, install Codelyzer and have this rule directory with the Codelyzer rules inside tslint. Is there a visual proof for knowing what the rule does? There is documentation on codelyzer.com/rules. Picks: Shi: Reflect API Driving on the right side of the road Minko Gechev Alyssa: Apple Airpods:https://www.apple.com/airpods Crutches Lukas: iPhone 7+ portrait mode: https://techcrunch.com/2016/09/21/hands-on-with-the-iphone-7-plus-crazy-new-portrait-mode/ Vulfpeck-1612: https://www.youtube.com/watch?v=jRHQPG1xd9o Charles: Angular Dev Summit www.angulardevsummit.com Minko: Pixel: https://madeby.google.com/phone/ Angular IO: https://angular.io/ Philip Wadler’s Monads for Functional Programming: http://homepages.inf.ed.ac.uk/wadler/papers/marktoberdorf/baastad.pdf
AiA 147: Codelyzer and Static Analysis Tools for Angular with Minko Gechev The week on Adventures in Angular features panelists Alyssa Nicoll, Shi Resnick, Lukas Ruebbelk, and Charles Max Wood. The special guest this week is Minko Gechev who is here to discuss Codelyzer. Minko is currently working on a start up. Angular JavaScript is the programming language that excites him the most. How do you work in a start up and still have free time? He tries to find an overlap between the work he's doing in the startup and work he does in his spare time. This is why he had previous work that was completely Angular (Angular Seed). This startup is more complicated because the overlap isn't as much. What is Codelyzer? Last year, he worked on the Angular Style Guide. He thought it was a good idea to have an automated way to verify a given project that follows the Angular Style Guide. He built on top of that and built Angular and provided similar style checks on top of templates, Angular CSS Styles inside of the components, and the Angular expressions inside of the templates. Codelyzer is a tool for static code analysis for Angular applications. How is it used? It can be used as a set of rules on top of tslint. You install it with mpm. Then tslint performs static analysis and verifies whether the source code follows some style guidelines that our team has agreed upon. When Codelyzer is used, we can also analyze the templates on Angular applications. After that, you can confirm it follows these rules by running tslint on top of the entire project. How many of the default tslint rules do you agree with? Minko states that that is a lot of tslint and Angular rules that align and that he agrees with most of them. He does admit there are some he finds annoying, such as specific semi colon rules. Overall, he believes that if the team has agreed upon the rule, it is following in order to avoid arguing. What do you recommend as the best way to add Codelyzer to a project that started without it? He thinks you should add one rule at a time. All the wordings will be fixed one by one, eventually fixing the entire project. He has also started working on style analysis on top of the application, which is performance analysis. He doesn’t know what data the application will process. But he still considers that a given component will have performance if it has a huge -- in the template. So static analysis we can find such templates and eventually warn the users about eventual performance issues that are possible. How hard is it to add or change in Codelyzer? It might be slightly harder compared to tslint because there are more things that can be statically verified. In Tslint there's a visitor pattern. There is a classical design from the Ganga; it is used for the reversal of syntax 3 of a Typescript code. So when you implement the visitor pattern, you visit a specific construct, verify whether the name follows some guidelines. It is pretty much the same thing in Codelyzer but you can also implement the same visitor pattern for visiting the template of the component. Currently, the project has more than 20 contributors. It looks complicated but not if you spend 30 to 40 minutes looking at the code. What was the motivation behind going deep into Angular? The style was easy for static (automated) verification. This way saved a lot of time from code reviews. Code reviews still have to be performed, but at least can skip the verification from style guides because they can be automatically done. He likes compilers, it is the front end of a compiler: analyzing Syntax 3 part of a compiler itself interesting algorithms. There is another rule from Codelyzer being worked on that isn't completely stable yet. It is to find out which styles are actually used inside of the template. Codelyzer can find out some of the styles that are no longer applied to some of the styles within the template. This is not ready yet but it will be ready in a couple of configurations. Is the idea of searching through of finding either redundant or non-used style, is this something Codelyzer's doing for the very first time (no one has ever done it) or are there tools that this would replace? For Angular, there is no other tool like that. JavaScript or HTML may be close. The Browser can do that. If I want to write a rule do I take the abstract syntax and tell it what to look for? How does that work? You can’t learn it by heart, so I usually copy and paste the existing code and then modify it. It is a standard typescript rule so you need to provide an abstract rule; you'll need to provide the visitor. If the rule is super complicated, you need four visitors. Are you relying on tslint to break things down into tokens and the abstract syntax and then doing the work from there? Yeah. I did some extensions of tslint. Just extending tslint because it would have been too much work to create something from scratch. He is relying on tslint’s error reporting. So in order to set this up on a CI machine, it needs to be able to run node and install some mpm packages? Yes. Run node, install tslint, install Codelyzer and have this rule directory with the Codelyzer rules inside tslint. Is there a visual proof for knowing what the rule does? There is documentation on codelyzer.com/rules. Picks: Shi: Reflect API Driving on the right side of the road Minko Gechev Alyssa: Apple Airpods:https://www.apple.com/airpods Crutches Lukas: iPhone 7+ portrait mode: https://techcrunch.com/2016/09/21/hands-on-with-the-iphone-7-plus-crazy-new-portrait-mode/ Vulfpeck-1612: https://www.youtube.com/watch?v=jRHQPG1xd9o Charles: Angular Dev Summit www.angulardevsummit.com Minko: Pixel: https://madeby.google.com/phone/ Angular IO: https://angular.io/ Philip Wadler’s Monads for Functional Programming: http://homepages.inf.ed.ac.uk/wadler/papers/marktoberdorf/baastad.pdf
AiA 147: Codelyzer and Static Analysis Tools for Angular with Minko Gechev The week on Adventures in Angular features panelists Alyssa Nicoll, Shi Resnick, Lukas Ruebbelk, and Charles Max Wood. The special guest this week is Minko Gechev who is here to discuss Codelyzer. Minko is currently working on a start up. Angular JavaScript is the programming language that excites him the most. How do you work in a start up and still have free time? He tries to find an overlap between the work he's doing in the startup and work he does in his spare time. This is why he had previous work that was completely Angular (Angular Seed). This startup is more complicated because the overlap isn't as much. What is Codelyzer? Last year, he worked on the Angular Style Guide. He thought it was a good idea to have an automated way to verify a given project that follows the Angular Style Guide. He built on top of that and built Angular and provided similar style checks on top of templates, Angular CSS Styles inside of the components, and the Angular expressions inside of the templates. Codelyzer is a tool for static code analysis for Angular applications. How is it used? It can be used as a set of rules on top of tslint. You install it with mpm. Then tslint performs static analysis and verifies whether the source code follows some style guidelines that our team has agreed upon. When Codelyzer is used, we can also analyze the templates on Angular applications. After that, you can confirm it follows these rules by running tslint on top of the entire project. How many of the default tslint rules do you agree with? Minko states that that is a lot of tslint and Angular rules that align and that he agrees with most of them. He does admit there are some he finds annoying, such as specific semi colon rules. Overall, he believes that if the team has agreed upon the rule, it is following in order to avoid arguing. What do you recommend as the best way to add Codelyzer to a project that started without it? He thinks you should add one rule at a time. All the wordings will be fixed one by one, eventually fixing the entire project. He has also started working on style analysis on top of the application, which is performance analysis. He doesn’t know what data the application will process. But he still considers that a given component will have performance if it has a huge -- in the template. So static analysis we can find such templates and eventually warn the users about eventual performance issues that are possible. How hard is it to add or change in Codelyzer? It might be slightly harder compared to tslint because there are more things that can be statically verified. In Tslint there's a visitor pattern. There is a classical design from the Ganga; it is used for the reversal of syntax 3 of a Typescript code. So when you implement the visitor pattern, you visit a specific construct, verify whether the name follows some guidelines. It is pretty much the same thing in Codelyzer but you can also implement the same visitor pattern for visiting the template of the component. Currently, the project has more than 20 contributors. It looks complicated but not if you spend 30 to 40 minutes looking at the code. What was the motivation behind going deep into Angular? The style was easy for static (automated) verification. This way saved a lot of time from code reviews. Code reviews still have to be performed, but at least can skip the verification from style guides because they can be automatically done. He likes compilers, it is the front end of a compiler: analyzing Syntax 3 part of a compiler itself interesting algorithms. There is another rule from Codelyzer being worked on that isn't completely stable yet. It is to find out which styles are actually used inside of the template. Codelyzer can find out some of the styles that are no longer applied to some of the styles within the template. This is not ready yet but it will be ready in a couple of configurations. Is the idea of searching through of finding either redundant or non-used style, is this something Codelyzer's doing for the very first time (no one has ever done it) or are there tools that this would replace? For Angular, there is no other tool like that. JavaScript or HTML may be close. The Browser can do that. If I want to write a rule do I take the abstract syntax and tell it what to look for? How does that work? You can’t learn it by heart, so I usually copy and paste the existing code and then modify it. It is a standard typescript rule so you need to provide an abstract rule; you'll need to provide the visitor. If the rule is super complicated, you need four visitors. Are you relying on tslint to break things down into tokens and the abstract syntax and then doing the work from there? Yeah. I did some extensions of tslint. Just extending tslint because it would have been too much work to create something from scratch. He is relying on tslint’s error reporting. So in order to set this up on a CI machine, it needs to be able to run node and install some mpm packages? Yes. Run node, install tslint, install Codelyzer and have this rule directory with the Codelyzer rules inside tslint. Is there a visual proof for knowing what the rule does? There is documentation on codelyzer.com/rules. Picks: Shi: Reflect API Driving on the right side of the road Minko Gechev Alyssa: Apple Airpods:https://www.apple.com/airpods Crutches Lukas: iPhone 7+ portrait mode: https://techcrunch.com/2016/09/21/hands-on-with-the-iphone-7-plus-crazy-new-portrait-mode/ Vulfpeck-1612: https://www.youtube.com/watch?v=jRHQPG1xd9o Charles: Angular Dev Summit www.angulardevsummit.com Minko: Pixel: https://madeby.google.com/phone/ Angular IO: https://angular.io/ Philip Wadler’s Monads for Functional Programming: http://homepages.inf.ed.ac.uk/wadler/papers/marktoberdorf/baastad.pdf
On today's episode of My Angular Story, Charles Max Wood interviews Minko Gechev. Minko is a software engineer at Learn Capital and has been contributing to the open source community. He talked about Immutability with Angular in episode 54 of the Adventures in Angular Show. Listen to how he got into programming and what he's currently up to!
On today's episode of My Angular Story, Charles Max Wood interviews Minko Gechev. Minko is a software engineer at Learn Capital and has been contributing to the open source community. He talked about Immutability with Angular in episode 54 of the Adventures in Angular Show. Listen to how he got into programming and what he's currently up to!
On today's episode of My Angular Story, Charles Max Wood interviews Minko Gechev. Minko is a software engineer at Learn Capital and has been contributing to the open source community. He talked about Immutability with Angular in episode 54 of the Adventures in Angular Show. Listen to how he got into programming and what he's currently up to!
02:28 - Ward Bell (and Co.’s) Documentation Contributions for Angular 2 05:39 - Peter Bacon Darwin (and Co.) & Jade 07:38 - John Papa and the Tour of Heroes Tutorial 09:01 - Geoff Goodman & Plunker 10:07 - GDE (Google Developer Expert) Program/Summit 13:37 - Thomas Burleson & Angular Material 16:07 - The Angular Team
02:28 - Ward Bell (and Co.’s) Documentation Contributions for Angular 2 05:39 - Peter Bacon Darwin (and Co.) & Jade 07:38 - John Papa and the Tour of Heroes Tutorial 09:01 - Geoff Goodman & Plunker 10:07 - GDE (Google Developer Expert) Program/Summit 13:37 - Thomas Burleson & Angular Material 16:07 - The Angular Team
02:28 - Ward Bell (and Co.’s) Documentation Contributions for Angular 2 05:39 - Peter Bacon Darwin (and Co.) & Jade 07:38 - John Papa and the Tour of Heroes Tutorial 09:01 - Geoff Goodman & Plunker 10:07 - GDE (Google Developer Expert) Program/Summit 13:37 - Thomas Burleson & Angular Material 16:07 - The Angular Team
Live at Angular Connect - Angular Connect is here! Join the Angular Air crew ground zero at the largest Angular conference ever. Hold onto your ng-seats 'cause it gonna get crazzzzaay. Guests: Rado Kirov, Minko Gechev, Nick Van Weerdenburg, Jen Bourey, Martin Probst, Alex Eagle, Joe Eames, Yuri Takhteyev, and Igor Krivanov Panelists: Olivier Combe, Aimee Knight, Carmen Popoviciu, PatrictJS, and Jeff Whelpley Links: Rado - Getting Started in Angular 2 Minko - Cutting Angular's Crosscuts Nick - Rangle.io Jen - Iterative Version Upgrade Strategies for large Angular Applications Martin & Alex - TypeScript Tooling for Greater Productivity, DefinitelyTyped, TSD Joe - Becoming Betazoid: How to Listen and Empathize with Others in the Workplace Yuri & Igor - Debugging Angular 2 Apps with Batarangle, Batarangle Angular Air is a video podcast all about Angular hosted by egghead.io instructor Kent C. Dodds. Please visit the Angular Air website (http://angular-air.com) to see upcoming and past episodes. Also be sure to follow Angular Air on Twitter and Google+ to stay up to date with future episodes. Also, all episodes are on the YouTube channel as well. --- Support this podcast: https://anchor.fm/angularair/support
Immutable.js with Angular - We welcome back fan favorite Minko Gechev to discuss the popular Immutable.js library and its use in Angular 1 and Angular 2. Guests: Minko Gechev Panelists: Aimee Knight and Jeff Whelpley Picks/Tips: Minko - Call for a Distributed Web Kent - Call for contributors, Babies
02:06 - Minko Gechev Introduction Twitter GitHub Blog Minko Gechev: Bringing Immutability to Angular @ ng-vegas 2015 03:57 - Immutability 05:11 - Why is immutability interesting to Angular developers? React 09:19 - Side Effects 12:18 - Are immutable data structures in conflict with large quantities of data? Persistent Data Structures Immutable.js angular-immutable 16:18 - How does the track by syntax help/affect you? 19:05 - Angular 2 and Immutable Data 21:30 - Immutable Data and Observables Cycle.js Knockout.js 25:14 - Getting Started Minko Gechev: Bringing Immutability to Angular Part 1 Minko Gechev: Bringing Immutability to Angular Part 2 Minko Gechev: Bringing Immutability to Angular Part 3 Victor Savkin: Change Detection in Angular 2 (Immutability and Observables) 26:26 - Minko’s Background with Immutability 27:36 - The Evolution of Immutability 28:52 - Functional User Interface 29:29 - Data in, UI out Victor Savkin: Building Angular Apps Using Flux Architecture 32:30 - Case Studies and Examples Where Immutability Has Worked Ideally Picks The Little Mermaid Musical (Katya) Primitive.io (Joe) Douglas Crockford: The Better Parts (John) DuckTales (John) Camp Pluralsight (John) Cell Phone Tripod Adapter (Chuck) NeewerHandheld Video Stabilizer for DV GoPro Mini Cameras (Chuck) Michael Feathers: The Deep Synergy Between Testability and Good Design (Minko)
02:06 - Minko Gechev Introduction Twitter GitHub Blog Minko Gechev: Bringing Immutability to Angular @ ng-vegas 2015 03:57 - Immutability 05:11 - Why is immutability interesting to Angular developers? React 09:19 - Side Effects 12:18 - Are immutable data structures in conflict with large quantities of data? Persistent Data Structures Immutable.js angular-immutable 16:18 - How does the track by syntax help/affect you? 19:05 - Angular 2 and Immutable Data 21:30 - Immutable Data and Observables Cycle.js Knockout.js 25:14 - Getting Started Minko Gechev: Bringing Immutability to Angular Part 1 Minko Gechev: Bringing Immutability to Angular Part 2 Minko Gechev: Bringing Immutability to Angular Part 3 Victor Savkin: Change Detection in Angular 2 (Immutability and Observables) 26:26 - Minko’s Background with Immutability 27:36 - The Evolution of Immutability 28:52 - Functional User Interface 29:29 - Data in, UI out Victor Savkin: Building Angular Apps Using Flux Architecture 32:30 - Case Studies and Examples Where Immutability Has Worked Ideally Picks The Little Mermaid Musical (Katya) Primitive.io (Joe) Douglas Crockford: The Better Parts (John) DuckTales (John) Camp Pluralsight (John) Cell Phone Tripod Adapter (Chuck) NeewerHandheld Video Stabilizer for DV GoPro Mini Cameras (Chuck) Michael Feathers: The Deep Synergy Between Testability and Good Design (Minko)
02:06 - Minko Gechev Introduction Twitter GitHub Blog Minko Gechev: Bringing Immutability to Angular @ ng-vegas 2015 03:57 - Immutability 05:11 - Why is immutability interesting to Angular developers? React 09:19 - Side Effects 12:18 - Are immutable data structures in conflict with large quantities of data? Persistent Data Structures Immutable.js angular-immutable 16:18 - How does the track by syntax help/affect you? 19:05 - Angular 2 and Immutable Data 21:30 - Immutable Data and Observables Cycle.js Knockout.js 25:14 - Getting Started Minko Gechev: Bringing Immutability to Angular Part 1 Minko Gechev: Bringing Immutability to Angular Part 2 Minko Gechev: Bringing Immutability to Angular Part 3 Victor Savkin: Change Detection in Angular 2 (Immutability and Observables) 26:26 - Minko’s Background with Immutability 27:36 - The Evolution of Immutability 28:52 - Functional User Interface 29:29 - Data in, UI out Victor Savkin: Building Angular Apps Using Flux Architecture 32:30 - Case Studies and Examples Where Immutability Has Worked Ideally Picks The Little Mermaid Musical (Katya) Primitive.io (Joe) Douglas Crockford: The Better Parts (John) DuckTales (John) Camp Pluralsight (John) Cell Phone Tripod Adapter (Chuck) NeewerHandheld Video Stabilizer for DV GoPro Mini Cameras (Chuck) Michael Feathers: The Deep Synergy Between Testability and Good Design (Minko)