POPULARITY
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
In this episode, we’re joined by our special guest, Ayşegül Yönet, a Software Engineer Autodesk, who will help us discuss the popular Google JavaScript framework Angular. In the episode, we discuss the benefits of leveraging Angular and what the major differences are from Angular 1 and Angular 2. Items mentioned in the episode: Angular, Autodesk, Reddit, React, Scope, Knockout, Igor Minar, ASP.Net, Vue JS, Laravel, PHP, Visual Studio, Google Wave, Google Reader, Zone JS, Ember, TypeScript, Forward JS, RxJS, Frontend Masters, Angular.io, Pluralsight, John Papa, Angular Style Guide, Angular CLI, Closure Guests: Ayşegül Yönet - @AysSomething Panelists: Ryan Burgess - @burgessdryan Jem Young - @JemYoung Derrick Showers - @derrickshowers Brian Holt - @holtbt Stacy London - @stacylondoner Picks: Ayşegül Yönet - Yoga Trapeze Swing Ayşegül Yönet - Google Home Ayşegül Yönet - Girl Develop It Ayşegül Yönet - Annie Cannons Ryan Burgess - NG-Cruise Ryan Burgess - Astral Jem Young - Private Internet Access Jem Young - Elcomsoft Derrick Showers - Omni Derrick Showers - Fernet Brian Holt - Aysegul's Twitter Brian Holt - Southern Poverty Law Center Brian Holt - Todd Motto Stacy London - Lighthouse Stacy London - Peak Magnetic by Clark
Suggest topics and guests! aiatopics 02:12 - Jesse Warden Introduction Twitter GitHub Blog Accenture 02:53 - Consulting vs Full-Time Employees 06:03 - Common Problems 07:50 - Version Cycles and Best Practices 11:34 - Educating Clients John Papa’s Angular Style Guide 26:26 - Maintenance and Contracts The Freelancers’ Show 36:41 - Training and Negotiating Rates The E-Myth Revisited: Why Most Small Businesses Don't Work and What to Do About It by Michael E. Gerber Picks Marissa Mayer and the Fight to Save Yahoo! by Nicholas Carlson (Aaron) Snuggling with your kids (Aaron) Atom (Lukas) Having integrity (Chuck) aiatopics (Chuck) 15 Minute Podcast Listener chat with Charles Wood (Chuck) Nigel Barnes: Lessons from Rocket Science (Part 1&2) (Jesse) Nigel Barnes: Lessons from Rocket Science (Part 3) (Jesse) jspm.io (Jesse)
Suggest topics and guests! aiatopics 02:12 - Jesse Warden Introduction Twitter GitHub Blog Accenture 02:53 - Consulting vs Full-Time Employees 06:03 - Common Problems 07:50 - Version Cycles and Best Practices 11:34 - Educating Clients John Papa’s Angular Style Guide 26:26 - Maintenance and Contracts The Freelancers’ Show 36:41 - Training and Negotiating Rates The E-Myth Revisited: Why Most Small Businesses Don't Work and What to Do About It by Michael E. Gerber Picks Marissa Mayer and the Fight to Save Yahoo! by Nicholas Carlson (Aaron) Snuggling with your kids (Aaron) Atom (Lukas) Having integrity (Chuck) aiatopics (Chuck) 15 Minute Podcast Listener chat with Charles Wood (Chuck) Nigel Barnes: Lessons from Rocket Science (Part 1&2) (Jesse) Nigel Barnes: Lessons from Rocket Science (Part 3) (Jesse) jspm.io (Jesse)
Suggest topics and guests! aiatopics 02:12 - Jesse Warden Introduction Twitter GitHub Blog Accenture 02:53 - Consulting vs Full-Time Employees 06:03 - Common Problems 07:50 - Version Cycles and Best Practices 11:34 - Educating Clients John Papa’s Angular Style Guide 26:26 - Maintenance and Contracts The Freelancers’ Show 36:41 - Training and Negotiating Rates The E-Myth Revisited: Why Most Small Businesses Don't Work and What to Do About It by Michael E. Gerber Picks Marissa Mayer and the Fight to Save Yahoo! by Nicholas Carlson (Aaron) Snuggling with your kids (Aaron) Atom (Lukas) Having integrity (Chuck) aiatopics (Chuck) 15 Minute Podcast Listener chat with Charles Wood (Chuck) Nigel Barnes: Lessons from Rocket Science (Part 1&2) (Jesse) Nigel Barnes: Lessons from Rocket Science (Part 3) (Jesse) jspm.io (Jesse)
02:18 - Mike Hartington Introduction Twitter GitHub Blog 02:27 - Matt Kremer Introduction Twitter GitHub Blog 02:36 - The Ionic Framework and Ionic Creator Getting Started with Ionic 05:25 - ngCordova Apache Cordova 07:14 - Performance 10:29 - Cordova (Cont’d) 11:47 - Use Cases Sworkit 12:37 - Plugins ngCordova Plugins Overview 13:54 - What Ionic is NOT Ideal For 16:09 - Local Data Storage 17:27 - Fidelity of Interactions 20:54 - The Business Side of Ionic 23:13 - When should I go native? When should I go hybrid? Simon Reimler: Switching from native iOS to Ionic: Why Hybrid doesn't suck (anymore) Sharing Code 27:58 - Business Cases: Convincing Others to Use Ionic 32:44 - Tools for Apache Cordova (TACO) Overlap 36:34 - Deployment 38:58 - Ionic and Angular 2 John Papa’s Angular Style Guide Transitioning Your App from ES5 to TypeScript 45:06 - IDE Support Ionic Lab Electron Picks RAVPower 23000mAh Portable Charger Power Bank External Battery Pack (Joe) iZombie (Joe) Anglebrackets Conference (John) The Standing Athlete | Feat. Kelly Starrett | Ep. 274 | MobilityWOD (Lukas) Kelly Starrett’s Standing Desk Tips (Lukas) Charles Max Wood: Standing Desk and Upgrading My Health (Chuck) Thirsty Light Curve (Chuck) Beardr (Matt) Blab (Matt) Untappd (Mike)
02:18 - Mike Hartington Introduction Twitter GitHub Blog 02:27 - Matt Kremer Introduction Twitter GitHub Blog 02:36 - The Ionic Framework and Ionic Creator Getting Started with Ionic 05:25 - ngCordova Apache Cordova 07:14 - Performance 10:29 - Cordova (Cont’d) 11:47 - Use Cases Sworkit 12:37 - Plugins ngCordova Plugins Overview 13:54 - What Ionic is NOT Ideal For 16:09 - Local Data Storage 17:27 - Fidelity of Interactions 20:54 - The Business Side of Ionic 23:13 - When should I go native? When should I go hybrid? Simon Reimler: Switching from native iOS to Ionic: Why Hybrid doesn't suck (anymore) Sharing Code 27:58 - Business Cases: Convincing Others to Use Ionic 32:44 - Tools for Apache Cordova (TACO) Overlap 36:34 - Deployment 38:58 - Ionic and Angular 2 John Papa’s Angular Style Guide Transitioning Your App from ES5 to TypeScript 45:06 - IDE Support Ionic Lab Electron Picks RAVPower 23000mAh Portable Charger Power Bank External Battery Pack (Joe) iZombie (Joe) Anglebrackets Conference (John) The Standing Athlete | Feat. Kelly Starrett | Ep. 274 | MobilityWOD (Lukas) Kelly Starrett’s Standing Desk Tips (Lukas) Charles Max Wood: Standing Desk and Upgrading My Health (Chuck) Thirsty Light Curve (Chuck) Beardr (Matt) Blab (Matt) Untappd (Mike)
02:18 - Mike Hartington Introduction Twitter GitHub Blog 02:27 - Matt Kremer Introduction Twitter GitHub Blog 02:36 - The Ionic Framework and Ionic Creator Getting Started with Ionic 05:25 - ngCordova Apache Cordova 07:14 - Performance 10:29 - Cordova (Cont’d) 11:47 - Use Cases Sworkit 12:37 - Plugins ngCordova Plugins Overview 13:54 - What Ionic is NOT Ideal For 16:09 - Local Data Storage 17:27 - Fidelity of Interactions 20:54 - The Business Side of Ionic 23:13 - When should I go native? When should I go hybrid? Simon Reimler: Switching from native iOS to Ionic: Why Hybrid doesn't suck (anymore) Sharing Code 27:58 - Business Cases: Convincing Others to Use Ionic 32:44 - Tools for Apache Cordova (TACO) Overlap 36:34 - Deployment 38:58 - Ionic and Angular 2 John Papa’s Angular Style Guide Transitioning Your App from ES5 to TypeScript 45:06 - IDE Support Ionic Lab Electron Picks RAVPower 23000mAh Portable Charger Power Bank External Battery Pack (Joe) iZombie (Joe) Anglebrackets Conference (John) The Standing Athlete | Feat. Kelly Starrett | Ep. 274 | MobilityWOD (Lukas) Kelly Starrett’s Standing Desk Tips (Lukas) Charles Max Wood: Standing Desk and Upgrading My Health (Chuck) Thirsty Light Curve (Chuck) Beardr (Matt) Blab (Matt) Untappd (Mike)
02:39 - When is Angular 2 out? Do you feel like other frameworks (React) are becoming more popular and that people are moving over to them? Will people come back to Angular? 21:01 - How can you convince a client to pick Angular over something else like React? 26:19 - Should I continue learning Angular 1 or move on to Angular 2? Will there still be jobs where I can use Angular 1 after Angular 2 is released? 27:38 - To Typescript or not to Typescript? 33:02 - How do you integrate third-party libraries like Firebase or D3 into an NG2 app, taking into account that NG2 runs on one-way dataflow paradigm fueled by an Rx implementation? 36:14 - The Typescript autocomplete/help, etc. that we were discussing before: what tools or IDEs are we talking about? Visual Studio Code 38:26 - What is the current state of the Angular 2 router? 46:08 - Any really good recent D3/Angular resources? What are some things to look at in regards to performance when implementing D3 with Angular? Aysegul Yonet and Patrick Stapleton: Creating d3 components with Angular2 and TypeScript @ ng-vegas 2015 49:40 - How do you structure a really large Angular application? John Papa’s Angular Style Guide Picks Angular 2 (Patrick) Angular Tips (Patrick) Observables and the Angular 2 HTTP library (Rob) Go find yourself a local Hackathon (Ward) Visual Studio Code (John) Rob’s Angular Remote Conf talk (Lukas) The Introduction to Reactive Programming series on Egghead.io (Lukas) Periscope (Chuck) Magnus SnapPod Compact Tabletop Tripod (Chuck) ChargerCity MegaGrab2 Easy-Adjust Smartphone Holder Mount & 360º Swivel Adjustment Selfie Video Recording Camera Tripod Adapter (Chuck)
02:39 - When is Angular 2 out? Do you feel like other frameworks (React) are becoming more popular and that people are moving over to them? Will people come back to Angular? 21:01 - How can you convince a client to pick Angular over something else like React? 26:19 - Should I continue learning Angular 1 or move on to Angular 2? Will there still be jobs where I can use Angular 1 after Angular 2 is released? 27:38 - To Typescript or not to Typescript? 33:02 - How do you integrate third-party libraries like Firebase or D3 into an NG2 app, taking into account that NG2 runs on one-way dataflow paradigm fueled by an Rx implementation? 36:14 - The Typescript autocomplete/help, etc. that we were discussing before: what tools or IDEs are we talking about? Visual Studio Code 38:26 - What is the current state of the Angular 2 router? 46:08 - Any really good recent D3/Angular resources? What are some things to look at in regards to performance when implementing D3 with Angular? Aysegul Yonet and Patrick Stapleton: Creating d3 components with Angular2 and TypeScript @ ng-vegas 2015 49:40 - How do you structure a really large Angular application? John Papa’s Angular Style Guide Picks Angular 2 (Patrick) Angular Tips (Patrick) Observables and the Angular 2 HTTP library (Rob) Go find yourself a local Hackathon (Ward) Visual Studio Code (John) Rob’s Angular Remote Conf talk (Lukas) The Introduction to Reactive Programming series on Egghead.io (Lukas) Periscope (Chuck) Magnus SnapPod Compact Tabletop Tripod (Chuck) ChargerCity MegaGrab2 Easy-Adjust Smartphone Holder Mount & 360º Swivel Adjustment Selfie Video Recording Camera Tripod Adapter (Chuck)
02:39 - When is Angular 2 out? Do you feel like other frameworks (React) are becoming more popular and that people are moving over to them? Will people come back to Angular? 21:01 - How can you convince a client to pick Angular over something else like React? 26:19 - Should I continue learning Angular 1 or move on to Angular 2? Will there still be jobs where I can use Angular 1 after Angular 2 is released? 27:38 - To Typescript or not to Typescript? 33:02 - How do you integrate third-party libraries like Firebase or D3 into an NG2 app, taking into account that NG2 runs on one-way dataflow paradigm fueled by an Rx implementation? 36:14 - The Typescript autocomplete/help, etc. that we were discussing before: what tools or IDEs are we talking about? Visual Studio Code 38:26 - What is the current state of the Angular 2 router? 46:08 - Any really good recent D3/Angular resources? What are some things to look at in regards to performance when implementing D3 with Angular? Aysegul Yonet and Patrick Stapleton: Creating d3 components with Angular2 and TypeScript @ ng-vegas 2015 49:40 - How do you structure a really large Angular application? John Papa’s Angular Style Guide Picks Angular 2 (Patrick) Angular Tips (Patrick) Observables and the Angular 2 HTTP library (Rob) Go find yourself a local Hackathon (Ward) Visual Studio Code (John) Rob’s Angular Remote Conf talk (Lukas) The Introduction to Reactive Programming series on Egghead.io (Lukas) Periscope (Chuck) Magnus SnapPod Compact Tabletop Tripod (Chuck) ChargerCity MegaGrab2 Easy-Adjust Smartphone Holder Mount & 360º Swivel Adjustment Selfie Video Recording Camera Tripod Adapter (Chuck)
Get your tickets for Angular Remote Conf! Enter the ng-conf ticket lottery! 03:44 - egghead.io Lukas' AngularJS Fundamentals egghead.io Course 04:58 - Pluralsight 06:26 - Code School: AngularJS Tutorial 06:38 - Dan Wahlin: AngularJS Fundamentals In 60-ish Minutes 06:52 - DEVintersection Conference 07:30 - Stack Overflow + Plunker 08:02 - Angular Remote Conf 08:50 - AngularConnect 08:58 - Onsite Training Oasis Digital 11:10 - Backends Lukas Firebase Node Ward Legacy Codebases Chuck Ruby RailsClips 14:09 - John Papa's Angular Style Guide 14:24 - Lukas’ Blog 15:04 - ng-newsletter 15:39 - ng-book 16:29 - Getting Started with Angular AngularJS.org 18:41 - Working with Designers Lukas Reubbelke: Just Enough Angular for Designers D3.js Adventures in Angular Episode #58: D3 with Aysegul Yonet 20:14 - Hack Reactor 20:42 - Angular Boot Camp 21:22 - Khan Academy 21:30 - Angular 2 Resources & Skills You Should Know Exploring ES6 by Axel Rauschmayer TypeScript Adventures in Angular Episode #41: TypeScript with Dan Wahlin JavaScript Jabber Episode #167: TypeScript and Angular with Jonathan Turner and Alex Eagle Visual Studio Code Adventures in Angular Episode #54: Visual Studio Code with Erich Gamma and Chris Dias Babel JavaScript Jabber Episode #171: Babel with Sebastian McKenzie Angular.io Angular Articles by Pascal Precht 25:54 - Podcasts JavaScript Jabber Angular Air 26:33 - Angular Unit Testing 27:22 - AngularJS on YouTube Picks Slack (Ward) The Pillars of Reality Series by Jack Campbell (Lukas) Angular Remote Conf (Chuck) Essentialism: The Disciplined Pursuit of Less by Greg McKeown (Chuck)
Get your tickets for Angular Remote Conf! Enter the ng-conf ticket lottery! 03:44 - egghead.io Lukas' AngularJS Fundamentals egghead.io Course 04:58 - Pluralsight 06:26 - Code School: AngularJS Tutorial 06:38 - Dan Wahlin: AngularJS Fundamentals In 60-ish Minutes 06:52 - DEVintersection Conference 07:30 - Stack Overflow + Plunker 08:02 - Angular Remote Conf 08:50 - AngularConnect 08:58 - Onsite Training Oasis Digital 11:10 - Backends Lukas Firebase Node Ward Legacy Codebases Chuck Ruby RailsClips 14:09 - John Papa's Angular Style Guide 14:24 - Lukas’ Blog 15:04 - ng-newsletter 15:39 - ng-book 16:29 - Getting Started with Angular AngularJS.org 18:41 - Working with Designers Lukas Reubbelke: Just Enough Angular for Designers D3.js Adventures in Angular Episode #58: D3 with Aysegul Yonet 20:14 - Hack Reactor 20:42 - Angular Boot Camp 21:22 - Khan Academy 21:30 - Angular 2 Resources & Skills You Should Know Exploring ES6 by Axel Rauschmayer TypeScript Adventures in Angular Episode #41: TypeScript with Dan Wahlin JavaScript Jabber Episode #167: TypeScript and Angular with Jonathan Turner and Alex Eagle Visual Studio Code Adventures in Angular Episode #54: Visual Studio Code with Erich Gamma and Chris Dias Babel JavaScript Jabber Episode #171: Babel with Sebastian McKenzie Angular.io Angular Articles by Pascal Precht 25:54 - Podcasts JavaScript Jabber Angular Air 26:33 - Angular Unit Testing 27:22 - AngularJS on YouTube Picks Slack (Ward) The Pillars of Reality Series by Jack Campbell (Lukas) Angular Remote Conf (Chuck) Essentialism: The Disciplined Pursuit of Less by Greg McKeown (Chuck)
Get your tickets for Angular Remote Conf! Enter the ng-conf ticket lottery! 03:44 - egghead.io Lukas' AngularJS Fundamentals egghead.io Course 04:58 - Pluralsight 06:26 - Code School: AngularJS Tutorial 06:38 - Dan Wahlin: AngularJS Fundamentals In 60-ish Minutes 06:52 - DEVintersection Conference 07:30 - Stack Overflow + Plunker 08:02 - Angular Remote Conf 08:50 - AngularConnect 08:58 - Onsite Training Oasis Digital 11:10 - Backends Lukas Firebase Node Ward Legacy Codebases Chuck Ruby RailsClips 14:09 - John Papa's Angular Style Guide 14:24 - Lukas’ Blog 15:04 - ng-newsletter 15:39 - ng-book 16:29 - Getting Started with Angular AngularJS.org 18:41 - Working with Designers Lukas Reubbelke: Just Enough Angular for Designers D3.js Adventures in Angular Episode #58: D3 with Aysegul Yonet 20:14 - Hack Reactor 20:42 - Angular Boot Camp 21:22 - Khan Academy 21:30 - Angular 2 Resources & Skills You Should Know Exploring ES6 by Axel Rauschmayer TypeScript Adventures in Angular Episode #41: TypeScript with Dan Wahlin JavaScript Jabber Episode #167: TypeScript and Angular with Jonathan Turner and Alex Eagle Visual Studio Code Adventures in Angular Episode #54: Visual Studio Code with Erich Gamma and Chris Dias Babel JavaScript Jabber Episode #171: Babel with Sebastian McKenzie Angular.io Angular Articles by Pascal Precht 25:54 - Podcasts JavaScript Jabber Angular Air 26:33 - Angular Unit Testing 27:22 - AngularJS on YouTube Picks Slack (Ward) The Pillars of Reality Series by Jack Campbell (Lukas) Angular Remote Conf (Chuck) Essentialism: The Disciplined Pursuit of Less by Greg McKeown (Chuck)
02:26 - Shai Reznik Introduction Twitter GitHub Blog YouTube Shai Reznik: ng-wat @ ng-conf 2015 03:02 - Angular 2 and Shai’s Background Adventures in Angular Episode #40: ng-wat with Shai Reznik HiRez.io Preparing for Angular 2.0 (Part 1) 05:56 - Radical Changes and the Future Pascal Precht: The difference between Annotations and Decorators Yehuda Katz 12:56 - Comparing and Lining Up Code [YouTube] Patrick Stapleton and Aysegul Yonet: Creating d3 components with Angular2 and TypeScript @ ng-vegas 2015 13:46 - Preparing for NG2 Emotionally ng-europe [YouTube] Shai Reznik: Angular 2 - A Very Very Short Introduction 18:44 - What should people start doing to prepare? John Papa's Angular Style Guide Stop Using $scope Templates => Sections and Components Native Query Selector .service Start Using ES6 Babel typescript-compiler webpack gulp.js Grunt Picks The Princess Bride (Katya) Visual Studio Code (Joe) Console (Shai)
02:26 - Shai Reznik Introduction Twitter GitHub Blog YouTube Shai Reznik: ng-wat @ ng-conf 2015 03:02 - Angular 2 and Shai’s Background Adventures in Angular Episode #40: ng-wat with Shai Reznik HiRez.io Preparing for Angular 2.0 (Part 1) 05:56 - Radical Changes and the Future Pascal Precht: The difference between Annotations and Decorators Yehuda Katz 12:56 - Comparing and Lining Up Code [YouTube] Patrick Stapleton and Aysegul Yonet: Creating d3 components with Angular2 and TypeScript @ ng-vegas 2015 13:46 - Preparing for NG2 Emotionally ng-europe [YouTube] Shai Reznik: Angular 2 - A Very Very Short Introduction 18:44 - What should people start doing to prepare? John Papa's Angular Style Guide Stop Using $scope Templates => Sections and Components Native Query Selector .service Start Using ES6 Babel typescript-compiler webpack gulp.js Grunt Picks The Princess Bride (Katya) Visual Studio Code (Joe) Console (Shai)
02:26 - Shai Reznik Introduction Twitter GitHub Blog YouTube Shai Reznik: ng-wat @ ng-conf 2015 03:02 - Angular 2 and Shai’s Background Adventures in Angular Episode #40: ng-wat with Shai Reznik HiRez.io Preparing for Angular 2.0 (Part 1) 05:56 - Radical Changes and the Future Pascal Precht: The difference between Annotations and Decorators Yehuda Katz 12:56 - Comparing and Lining Up Code [YouTube] Patrick Stapleton and Aysegul Yonet: Creating d3 components with Angular2 and TypeScript @ ng-vegas 2015 13:46 - Preparing for NG2 Emotionally ng-europe [YouTube] Shai Reznik: Angular 2 - A Very Very Short Introduction 18:44 - What should people start doing to prepare? John Papa's Angular Style Guide Stop Using $scope Templates => Sections and Components Native Query Selector .service Start Using ES6 Babel typescript-compiler webpack gulp.js Grunt Picks The Princess Bride (Katya) Visual Studio Code (Joe) Console (Shai)
00:43 - Scott Moss Introduction Twitter GitHub Udacity @udacity Hack Reactor Angular Class @angularclass 01:55 - Scott’s Programming Background 04:11 - Working with Lukas 05:04 - Angular and ES6 (ECMAScript) John Papa's Angular Style Guide 06:11 - Subclassing a Directive Classical Inheritance DDO (Directive Definition Object) 08:58 - TypeScript Transpiling traceur-compiler babel Differences and Definitions: traceur, babel, TypeScript Learn about TypeScript 1.5 here and get it here [Pluralsight] John Papa and Dan Wahlin: TypeScript Fundamentals Types Have Value 19:06 - How should people use a transpiler in a real application? webpack gulp.js jspm 21:07 - systemjs 21:53 - Build Systems vs Package Managers 24:15 - Writing Tests in ES6 26:03 - Debugging 28:20 - How coding in ES6 has changed Scott’s style of building Angular 1 apps 30:19 - Modularity Arrow Functions 33:07 - ES5 with Angular 2?? 37:31 - Good Example of Using ES6 with Angular GoCardless GoCardless Angular Style Guide 39:21 - Learning New Material and Using ES6 Picks Learn about TypeScript 1.5 (Ward) The Effective Engineer by Edmond Lau (Lukas) Isar Raw Canvas Backpack (Lukas) INcontroL (Joe) John’s Daughter (John) Angular U (John) The Imitation Game (Katya) Treeline (Scott) Interstellar (Scott)
00:43 - Scott Moss Introduction Twitter GitHub Udacity @udacity Hack Reactor Angular Class @angularclass 01:55 - Scott’s Programming Background 04:11 - Working with Lukas 05:04 - Angular and ES6 (ECMAScript) John Papa's Angular Style Guide 06:11 - Subclassing a Directive Classical Inheritance DDO (Directive Definition Object) 08:58 - TypeScript Transpiling traceur-compiler babel Differences and Definitions: traceur, babel, TypeScript Learn about TypeScript 1.5 here and get it here [Pluralsight] John Papa and Dan Wahlin: TypeScript Fundamentals Types Have Value 19:06 - How should people use a transpiler in a real application? webpack gulp.js jspm 21:07 - systemjs 21:53 - Build Systems vs Package Managers 24:15 - Writing Tests in ES6 26:03 - Debugging 28:20 - How coding in ES6 has changed Scott’s style of building Angular 1 apps 30:19 - Modularity Arrow Functions 33:07 - ES5 with Angular 2?? 37:31 - Good Example of Using ES6 with Angular GoCardless GoCardless Angular Style Guide 39:21 - Learning New Material and Using ES6 Picks Learn about TypeScript 1.5 (Ward) The Effective Engineer by Edmond Lau (Lukas) Isar Raw Canvas Backpack (Lukas) INcontroL (Joe) John’s Daughter (John) Angular U (John) The Imitation Game (Katya) Treeline (Scott) Interstellar (Scott)
00:43 - Scott Moss Introduction Twitter GitHub Udacity @udacity Hack Reactor Angular Class @angularclass 01:55 - Scott’s Programming Background 04:11 - Working with Lukas 05:04 - Angular and ES6 (ECMAScript) John Papa's Angular Style Guide 06:11 - Subclassing a Directive Classical Inheritance DDO (Directive Definition Object) 08:58 - TypeScript Transpiling traceur-compiler babel Differences and Definitions: traceur, babel, TypeScript Learn about TypeScript 1.5 here and get it here [Pluralsight] John Papa and Dan Wahlin: TypeScript Fundamentals Types Have Value 19:06 - How should people use a transpiler in a real application? webpack gulp.js jspm 21:07 - systemjs 21:53 - Build Systems vs Package Managers 24:15 - Writing Tests in ES6 26:03 - Debugging 28:20 - How coding in ES6 has changed Scott’s style of building Angular 1 apps 30:19 - Modularity Arrow Functions 33:07 - ES5 with Angular 2?? 37:31 - Good Example of Using ES6 with Angular GoCardless GoCardless Angular Style Guide 39:21 - Learning New Material and Using ES6 Picks Learn about TypeScript 1.5 (Ward) The Effective Engineer by Edmond Lau (Lukas) Isar Raw Canvas Backpack (Lukas) INcontroL (Joe) John’s Daughter (John) Angular U (John) The Imitation Game (Katya) Treeline (Scott) Interstellar (Scott)