Sign in
Technology
Business
Charles M Wood
Join our weekly discussion about how to build top end Angular applications and become an Angular expert.Become a supporter of this podcast: https://www.spreaker.com/podcast/adventures-in-angular--6102018/support.
AiA 155: Cypress.io and End-to-End Testing with Gleb Bahmutov
Tweet this EpisodeShow Notes in ProgressSpecial Guest: Gleb Bahmutov. Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacyBecome a supporter of this podcast: https://www.spreaker.com/podcast/adventures-in-angular--6102018/support.
55:1612/09/2017
AiA 088: Style Guides (Repeat)
03:26 - Style GuidesJohn Papa's Angular 1 Style GuideJohn Papa's Angular 2 Style Guide Draft08:57 - Naming Conventions11:51 - The Growth of the Angular 1 Style Guide14:41 - Style Guide Dislikes21:26 - Multiple RecommendationsCTRL23:48 - Making Arbitrary Choices29:54 - What is the state of the Angular 2 style guide?34:32 - Pipes37:43 - What will be in Angular 2?41:21 - Angular 2 Quickstart 49:15 - Levels of Proficiency for AllPicks The Warriors (Ward) Tiny Desk Concerts (Lukas) SNARKY PUPPY (Lukas) Chris Welsh: Microsoft is adding the Linux command line to Windows 10 (John) RAML (John) Listening (Joe) Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacyBecome a supporter of this podcast: https://www.spreaker.com/podcast/adventures-in-angular--6102018/support.
01:05:3905/09/2017
AiA 154: Angular Animations with Gil Fink
AiA 154: Angular Animations with Gil Fink This episode of Adventures in Angular features panelists Ward Bell, Joe Eames, and Charles Max Wood. Special Guest Gil Fink is on the podcast this week to discuss Angular Animations. Tune in to find out more about this topic! [00:01:05] Introduction to Gil Gil is the CEO of Sparxys, which is a small consulting company that he owns in Israel. He has been working for Microsoft for nine years in web development. He wrote the book Pro Single Page Application Development. Currently, he is also speaking in conferences and consulting for companies in Israel. [00:02:06] Introduction to Angular Animation Angular Animation is a model that has been used since Angular 2.0. In the full version it received it’s own model and expanded from Angular core. It is based on Web Animation API and gives a specific language to write Animations declaratively using Typescript in the components. It is also easy to write. Animations are not used to make web pages a “swirling vortex of text.” It instead is something that is used to capture the attention of the user to let them know what is new or where they should pay attention. It gives the user a better overall experience. For example, how to show a user they have a validation error: use a red blinking border. It does not have to be sophisticated or complicated, but can be if that is what is wanted. [00:05:48] Web Animation API Animation mobile in Angular has been available for roughly two years. There is a function called animate which gives the ability for an application to be animated. Web Animation API runs animation for you but is not simple. [00:07:35] What kinds of things do you see people doing with Animations? A common thing for developers is to make Animations make transitions between pages in SPA. Animations also can be used for appearing, or fading in or out elements. More transitions can be made for panel, where they slide from one side to the other, which grabs the attention of the user. SVG and Canvas also are used for Animations by developers. [00:10:33] Starting with Animations Most developers are in a hurry to write their first animations. First, they have to understand animations because understanding concepts are helpful. Reading examples of what CSS 3 and Web Development API are can be a helpful tool. Gil suggests MDM and Mozilla to gain a better understanding. After grasping these concepts, read about how to use the Angular Animation model and how it was created. The Angular Animation model is actually not needed to create Animation in websites – you can use CSS 3 animation and Web Development API. [00:14:15] How do I add Angular Animations to my Angular app? Grab a browser Animation model, which is part of Animation.Create a trigger. This is something that triggers the effect or Animation.Create a state, move from one state to another state using the API.Once you have a trigger, write inside the web component in the templates.Take the trigger, which is a function, and pass the function in component declaration to the Animations property. [00:18:09] When and where should you be using Animations? There needs to be a balance when using Animations. Gil’s rule is not to use experts to understand where to put them. Not everything should be filled with Animations. He prefers to start without them and then add according to specs or expert guidelines. Animations can be distracting and should be there to help the user. [00:21:43] Ideas on How to Use Animations in Applications For example, you can use Animations for models. If a model appears at once, it might shock the user. Instead, make sure that they appear smoothly. It should indicate something is either happening or has happened. If everything happens at once, it may not be as effective for the user. [00:25:25] At what point in the process do you decide this component needs Animation? Gil works with experts in the companies that he works for that have guidelines for the components he creates. Because of this, he creates what they want him to create. [00:28:44] Is there a way of testing these animations are happening? Yes, you can use tools like Protractor, Selenium, and Test IO. Test IO gives the option to record a screen. These tools won’t help understand animations because they can’t test animations. They can check for existents of a class name. You can use a manual tester for quality assurance or have a person check for you. To really see if an effect is working you have to just see it working. Picks Joe: Go see an eclipse Charles: Secrets of the Millionaire Mind by T.Harv Eker You are the Placebo by Dr. Joe Dispenzo Gil: Web Animations Deep Dive with Angular JavaScript IsraelRick and Morty Links www.gilfink.netwww.sparxys.comSpecial Guest: Gil Fink. Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacyBecome a supporter of this podcast: https://www.spreaker.com/podcast/adventures-in-angular--6102018/support.
46:1129/08/2017
AiA 153: Conferences and Speaking
AiA 153: Conferences and Speaking On this episode of Adventures and Angular the panelists are Alyssa Nicoll, Joe Eames, John Papa, Charles Max Wood. They discuss attending and speaking at conferences. Tune in to listen to their opinions![00:01:23] Benefits of Conferences Joe believes that attending somewhere between two and four conferences is good for a developer’s career. The minimum should be attending one conference a year. Some companies believe that people are wasting time because they are taking time away from work. They are of the mindset that they could learn the same information from a video. But John looks at it as developers learning how to communicate. If developers use their time well, they can potentially solve problems and find ideas they have never heard of and can learn how to implement them at work.John believes the benefits to the developer verses the company are different. Developers could meet a potential employer who would pay you more than your current employer. For companies, if people want to leave, forcing them to stay may not be the best thing to do. Forcing someone to stay could lead to low productivity, which is not the best thing for the company. The more educated the employee the happier they will be, and happy employees stick around.Charles believes that the reason you go is for things you can’t do at home. These are interactions, new thought processes, and mindshare. Companies that don’t give their employees chances to go to conferences are missing out on reasons why they hired them in the first place.[00:09:00] Why Attend Conferences?If the goal of attending conferences is to try to be better than everybody else, there are better goals. Go to conferences for yourself and your own education. Go to be the best developer that you can be.Before you get to a conference ask - What are the problems you’re trying to solve at work? How do you keep up? How could a conference help me? How are people feeling about the technology? If you cannot find out information online, it makes it a huge asset.Charles once heard a financial expert say you should get three to five times out of anything you do as you put in. Be sure to make the conference worth it.[00:13:40] – New Trend at Conferences There has been a noticeable trend at conferences for smaller groups to not watch sessions. They do not go to workshops, listen to speakers, or seemingly network with other developers. Instead, they just go to the parties with their friends. This could be a reason employers feel it is a waste of time and money for employees to attend conferences. Alyssa still thinks that people will take away something even by simply being around like-minded individuals.[00:15:50] Companies Perspective on ConferencesCompanies will want people who have experience with speaking at conferences. They will want those people who have influence in the community they have been speaking to. But sometimes, once the company hires them, they do not want them to speak at any more conferences. They get the job because of the extra things they do, but now they want people to focus on the job and don’t want to risk people finding another job.People need to have a conversation about the values they and their new company have to see if they match. To do this they need make sure to ask questions to see if something they value, such as conferences, will be allowed to continue once they are employed. Some companies may not want them to go to or speak at conferences. Any company’s core value is to do business and make money. If they are not doing that then they cannot employ people. They may think that letting people attend conferences is holding up their production.People need to be sure to think about the concerns the company has when negotiating. For example, there was an employee that wanted to speak at conferences, but was so valuable to his company that he could not leave. That led him to train someone who could handle things while he was gone. People have to earn trust from their employer. Some people do not think about how to do this; instead they give away swag from the company or tell secrets while speaking at conferences. This is a way to lose trust and potentially be fired.[00:27:18] Alternative PerspectivesSome companies will send and pay for people to go to conferences; no questions asked. They will be happy that their employees were invited to represent their company. There may be rules about what they are allowed to speak about.One thing to do as an employee is to always clarify if the contract is the same before going to speak at a conference. Make sure to continuously ask, “does this still fit for me?”[00:30:45] Developers and Conferences As a developer, attending conferences is good for your career. Should attend two a year. There are no negatives. Could never talk to another person, and still have benefits from sitting in the room.[00:31:54] Becoming a SpeakerWhat do you want? All developers want different things. Some want to write great software, have a job, contribute, learn, but do not want to build a reputation. Some feel like they can make a difference and get excited about speaking. There’s not a right or wrong as long as you get what you want out of your career. Speaking is valuable and a good way to give back to the community. [00:36:20] How do you get into speaking? Start speaking at meet ups. Talk for five-minute intervals. Afterwards ask people to give feedback and do not take it personally. It will help to make you a better speaker. It is easier to know what you need to improve.Meetup.com helps you to find places to speak. Contact the organizer of a meet up and ask to speak. Two to three times a year hire a speaking coach. Look at this as a perspective of a professional who can give you advice to get better. It is easier to have feedback rather than self-evaluate. This also teaches how to get better at communicating with people. Picks: Joe:Valerie KittelAlyssa:NG Houston John:Do not speak at the audience; bring them on the same journey you went through when you learned that thing you're speaking about. Charles:Angular Dev Summit Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacyBecome a supporter of this podcast: https://www.spreaker.com/podcast/adventures-in-angular--6102018/support.
48:5422/08/2017
AiA 152: Multirepo vs Monorepo with Jeff Whelpley and Kushal Dave
AiA 152: Multirepo vs Monorepo with Jeff Whelpley and Kushal DaveOn today's episode of Adventures in Angular, we have panelists Ward Bell, Joe Eames and Charles Max Wood. We have special guests, Jeff Whelpley and Kushal Dave. The discussion ranges from the organization of code bases to the benefits of using Monorepo vs Multirepo. Tune in![00:01:45] – Introduction to Jeff Whelpley and Kushal DaveKushal is CTO at Scroll, a start-up. Before that, he was at Foursquare, Chartbeat, Google, and IBM. He has worked in a lot of monorepo code base. Although he actually has experience working on a lot of Multirepo situations.Jeff is the CTO of a small startup in Boston called GetHuman that helps people with customer service problems. He has been on Adventures in Angular a couple of times before. He has also been in a couple of other podcasts before, as well as in the open-source community.[00:03:20] – Introduction to the issueTypically, when you’re working in just one or two people team, you don’t really have that many issues centered on dev process, coordinating changes between each other, and trying to figure out the best optimal way to organize your code. Most of the time, you understand the entire code base because you’re working with everything. It gets to be a much different problem once you get to have a larger team. In essence, everything is starting slow down because of different overhead related to the process that was needed in order to make sure got quality changes. You basically have to spend a lot of time and thought around your developer process, how you structure your code, how you physically setup, and organize your entire code base.[00:06:20] – How to organize your code bases?When Kushal worked at Google, everything is in a single giant repository. There are one or two exceptions for client code and some infrastructure things. It allowed people to feel that they could change any of the code and it made it easy to keep everybody in sync with the state of the code. There is some sort of workflow and process things that you have to change in order to get that right. Probably, the biggest one is trying to keep the repo from working in long running branches because things start to diverge. That was the model of Foursquare too.[00:08:15] – How do you run all of the CI across everything?The answer changes to different sizes. At Scroll and for most of the time that Kushal was at Foursquare, it was efficient to run all the builds on every commit. If you just have one mega build that just runs continuously, that’s good enough up until 30 or 40 developers. Once you hit that size, there’s a variety of build tools out there that you can use and understand the structure of your code base. Once you’ve used one of these build tools, declaratively indicate which artifacts depends on which libraries, and what the full dependency thing is, you can build only the relevant CI’s. You can decide whether this change only touches this binary or this test.Chuck also like the approach of having everything in master. If it was experimental, it would still go into master and their CI would effectively run the different builds with the different feature flags. If what you did broke something that somebody else was working on in a process, you could just adjust it midstream.[00:16:00] – Gatekeeper processThe gatekeeper process protects the whole code base but at the same time, it’s in the layer of bureaucracy.We’ve been reviewing every piece of code before it’s allowed to land in master. Everybody on our team commits multiple times a day to master. All the changes, as much as possible are really small, especially the feature flag check. In that world, there is this bureaucracy. Hopefully, it’s not holding you up too much. The flipside of that is when you’ll feel really confident that you didn’t break anybody who depends on you and you’re going to have to revisit this change a month from now.For the past 9 months or so, Jeff tried a bunch of different configurations. He tried monorepo and other configurations from the other end of the spectrum - many small packages. As he was interviewing people with their different setups, they’ve all encountered the same types of problems. Regardless if you’re using monorepo or not, as long as you’re trying to keep your changes small and specific, and implemented quickly, it can alleviate any other pains.[00:22:10] – Guard railsThe guard rails are just the reviewers. For us, every change that’s getting reviewed means that in some extent, there’s a human check on that. I’m not sure if you can but I certainly know that Reviewable and Fabricate both offer sort of wide range of configuration options. I can imagine the world in which you can programmatically keep people from landing changes that didn’t have that level.In Github, there are guard rails. That actually helps the reviewers. It’s reassuring to have some technology that this person is associated with this set of boundaries. If you want to step outside of the boundaries, they’re going to have to get some other person who understands the code that’s outside of the line to join in approving that. If their organization is big, this is something that they might have to think about.Jeff advises to really be careful about what you’re doing. Is this a change where you are just bumping version numbers or is this something that you have to change a business logic?[00:28:15] – Allowing different people to upgrade dependenciesThe only way Kushal has ever seen it done is a brutal all-nighter by somebody who has to sit there and get everything working. But one of the things that Google does is they develop a lot of patterns about how to refactor code to make things easier.One solution that Jeff sees is the complete opposite of the spectrum from monorepo. Dr. Gleb Bahmutov is a huge fan of open-source smaller repos - a lot of the mentality of keeping things small, separate and distinct. He’s decided that he’s going to stick in the many repo universe and just create tooling to solve some of these problems. For versioning, he runs this server that detects that a new version has been published. It will automatically try to update it and run all the tests. But according to Kushal, if you have different repos, you can move differently in terms of dependencies but if you’re now out of sync, you may suddenly have incompatible dependencies across what you’re doing. It’s a question of when you want to deal with the problem.Chuck talks about the ways you can get out of sync. With the multirepo, you can get out of sync not just on the dependencies and the build process, but also on the API’s. If you have a module that you’re working on over here and whatever are consuming it on the other side as a driver may not be updated yet so it doesn’t talk properly. Jeff also noticed that with Angular DI, if you aren’t actually using the same version, you run into issues because it has to be the exact same thing at every level or else the injection token is different.[00:36:50] – Develop within Monorepo or develop in a separate repoChuck thinks that it depends. If there are a lot of dependencies and shortcuts that he can take by relying on the monorepo, he will do it on the monorepo like if it auto loads the correct libraries automatically. And then, they don’t have to do a whole lot of setup. If it’s small, independent, and it’s going to move quickly, then, a separate repo may be the right answer.Kushal adds that there are a lot of benefits in doing it in the monorepo. With feature flags, you have the benefit of reviewing it. It also allows you and others to keep up with everyone in terms of breaking API changes, other than having some brutal merge.Jeff will do it in a separate repo. If this an experimental thing, it disturbs people less. It alleviates the notifications that go on. That is why Kushal’s team also built a lot of custom Slack cooks in order to get some notifications tailored to the parts that they only care about.[00:44:50] – How do you work it out so that things aren’t so tightly coupled?There are no circular dependencies between your packages even transitively. As your monorepo grows you may eventually have some tooling that requires that for your build system. Can this layer have this type of functionality? Or does it need to be moved into a new package? It also means it improves your architecture.Kushal’s team is working on Java. This object that users and organizations create can know about each other’s’ objects but the users can never depend back into organizations or vice versa. You can think of the layered model of networking. We have the pure data model objects are not allowed to know anything about the service layer that interacts with the database. The database can know about those model objects. The web tier can obviously know about both the model objects and the service tier because it utilizes both of those.[00:47:30] – How are those relationships defined?They are defined in build files. If you look at Pants or Blaze or Buck, all those build systems have explicit dependency configurations so you can sort of keeping any of those invariants from being broken. But Kushal’s team just have a Wiki page that lists out the rules. They also have a test that looks for any cycles in any package dependencies.Jeff’s team created a CLI tool that walks down all subdirectories from where they’re running it. It finds all the package JSON in all your subdirectories and it creates the dependency graphs. They haven’t fully moved to a monorepo but they did start to consolidate. They have a couple of larger repos. This tool will see the dependency graph for all the NPM modules and also see the dependencies between the repos based off of the NPM module dependencies.[00:50:20] – Multimonorepo It’s not perfect to have one larger repo that has basically all of the none-deployable codes. Jeff and his team have a separate set of repos for the actual deployable code. They haven’tBecome a supporter of this podcast: https://www.spreaker.com/podcast/adventures-in-angular--6102018/support.
01:14:5515/08/2017
AiA 151: WebVR with Aysegul Yonet
AiA 151: WebVR with Aysegul YonetThe panel for this episode of Adventures in Angular is Alyssa Nicoll, Joe Eames, Lukas Ruebbelke, and Charles Max Wood. Special guest Aysegul Yonet is here to discuss WebVR and visualizations. Tune in to learn more![00:02:36] Can you really do VR with Angular?Yes. VR is a different kind of API.[00:03:07] Can you give a brief explanation of how Web VR works?Web VR is currently an experimental API. It creates 3D experiences that interact using the gamepad API. Angular and Web VR work together by writing more declarative experiences.[00:04:05] What do you mean by it being experimental?Things are changing quickly. Not all browsers are implemented. It has to be enabled in Chrome, it can be enabled in Firefox, but not all other browsers implement it. A 2.0 Web VR version is being created, which will be similar to the version that is out now.[00:05:05] VR in a Predictable Manner Not enabled in some of the browsers but can check it and leave a message. Once you have an available browser, there is a consistent interaction.[00:06:30] What kind of hardware is required to run the VR experience?VR is now very accessible to everyone because of Web VR. Google Cardboard is one of the cheapest ways. It is around $20. Samsung VR headset is free. Also can purchase cheap hand controls. Developers do not have to go through app stores to release a product, which makes it cheap for them as well.[00:08:30] What are three cases that you see Web VR that could be disruptive?One case is in the education field. Google Expedition is creating an app for teachers to create experiences for students to see different places such as museums. A second case is in the medical world. Web VR can be an amazing pain killer. It has been used in Leukemia patients. For example, kids don’t want to take medication but using VR they can fight the disease itself. A third case is the Smithsonian Museum in DC. Artwork was scanned through VR and 3D experiences created through that.[00:14:35] Where would you recommend we start to try out VR?A-Frame is the easiest to use for beginners. You don’t need to know how to use 3D. It has Angular components. There is also Play, where you can take any experience you want and work off of that. Sketchfab is an app where you can use 3D models. There is also a Google app that takes 360-degree 3D pictures and turns them into experiences.[00:16:44] Would those 3D pictures have sound or just an image?Yes, it does have sound as well.[00:17:52] Does A-Frame have components that you feed data to?It is just like any kind of Angular component. It seems foreign to web developers because you are creating a scene. But A-Frame makes it easy for you: just have to add the objects itself. You have components for a scene.[00:19:14] How do you program the interactions with objects in Angular/Web VR app?Interactions are not the easiest to program. Trying to solve the problem itself. You can take data through the Gamepad API. You can also use Itracking where you look at an object and select it.[00:20:14] How long have you been doing this?Not long - she was “dying to work with WebVR.” She had a chance to work with Play and had fun.[00:21:00] Could I built a desktop app with Electron? Will it work in Chromium? Yes.[00:21:20] Will it work in the embedded Safari or Chrome Views that you get on Android or the iPhone?Not sure. But it can be loaded unto a website and downloaded onto your phone.[00:23:00] Fairly approachable if you have a SmartPhone.MergeVR has a Goggle and Cube. It can create VR experiences for kids. The product is affordable: only $60 for Goggles and the Cube is $20.[00:24:20] How do you test it?Hard to test because it is visual based. There is a Chrome plug-in that helps. The mapping is very mathematical, which is an easy part to test. [00:25:30] Is there anybody in the WebVR space that you admire?A-Frame team has done a great job. The 3JS creator Mr.Doob has been developing for a long time, before the community there is now. Companies have been using his stuff for years. Brandon Jones, who is implementing WebVR on the Chrome team.[00:34:47] How is VR development different from web development? Other than the interaction, writing the code isn’t all that different. The tool used was created for websites with 3D capabilities. Usability is different. There is an adjustment curve with VR: people navigate VR with a mouse better than with a headset.Picks Lukas:Fantastical AppKetogenic DietKeto Cheesecake Charles:2 Keto Dudes Podcast Keto Clarity by Jimmy Moore Livin’ La Vida Low Carb PodcastKeto Pad ThaiJoe:Rogue One Never build a houseAysegulCardboard Camera App Voices of VR Podcast You Are Not So Smart Podcast Merge Cube LinksTwitter GitHubSpecial Guest: Aysegul Yonet. Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacyBecome a supporter of this podcast: https://www.spreaker.com/podcast/adventures-in-angular--6102018/support.
47:1508/08/2017
AiA 150: What's New with Ionic with Mike Hartington
AiA 150: What’s New with Ionic with Mike HartingtonIn this episode of Adventures in Angular the panel is Ward Bell, Alyssa Nicoll, Joe Eames, and Charles Max Wood. The panel talks to special guest Mike Hartington about Ionic. Tune in to learn more![00:02:02] Introduction to Mike HartingtonMike is a developer for the Ionic framework. He helps people succeed on Mobile.[00:02:40] What have you been working on lately?Ionic is currently going through an investigative phase. They are moving things to a vanilla JavaScript state and web component based architecture.[00:03:02] What do you mean by web component based architecture? Throughout all different frameworks (such as Angular, React, Ember) and libraries have a similar concept of a reusable thing. It is a custom element they can ship, which becomes limiting. It only works in their specific framework because the API capability isn’t there. Ionic wants to make something that works in all frameworks.[00:04:27] When you’re talking about web components, you’re talking about the idea of components?No, talking about the web standard itself.[00:05:25] What does this mean for people who are used to the way Ionic works with Angular?When implementing these experiments in new releases, it shouldn’t change for people who are currently using Ionic and Angular; everything pretty much stays the same. There is a slightly smaller payload, but that’s it.[00:06:32] As essentially as Angular developers, we will actually be interacting with an adapter?More or less. There would have a single Ionic Angular package. Everything it needs to have the web components talk to Angular would already be including as soon as you started the entire app.[00:07:16] If I became another kind of developer, we will be able to get the same experience because there will be a way to interact with other web components?Yes, that’s the vision. It was the idea when we first started Ionic. It is easier to implement now than when Ionic first started.[00:09:20] Do you think it is limiting to our creativity as developers? Can still create something new within Ionic and have something more custom to your needs.[00:12:26] If I have something that adapts to something else, is that going to impact performance?It shouldn’t. The code would not be heavy; it would be vanilla JavaScript. It would run outside of your framework. It could run faster because they are default APIs. It allows for an extra layer and everything Angular can do will still work with a web component.[00:15:15] Efficiency and simplicity of web components implementation frees you from having to carry the payload of a general application component framework. Is that where you’re going?Generally. The building time of an app is APIs Makes sense for application development but not controls.[00:16:25] Does this translate all the way up to desktop browsers?Becomes more useful because web components uses browsers own APIs. Overall payload ends up being smaller. Smaller network area users can take advantage and it can be faster if a large desktop application is used.[00:17:35] Is there a direction Ionic has?Ionic understands hybrid technology is going to be around. Some people want distribution through an app and some just want a website. Ionic is catering to both parties. At the end, browser will implement APIs that native devices have.[00:19:00] Do you see a move away from the phone gap approach towards PWAs or do you not know how it will play? Just released the numbers from a developer survey we sent out. There is a healthy mix between people who want a native binary and progressive web apps.[00:19:35] Will Ionic continue doing progressive web apps and splitting the difference?Ionic will continue pushing for progressive web apps.[00:21:00] Ionic and Augmented RealityHe doesn’t know. Has seen a few people that has a HoloLens. In the future, Ionic could possibly use augmented reality.[00:26:54] Intro to Mike at Dev SummitWill speak about Ionic components across multitude of frameworks. How to take advantage of tools that Ionic has to use to create own custom components that work across all frameworks.Picks Alyssa:Sketch Joe:DunkirkEverybody Lies: Big Data, New Data, and What the Internet Can Tell Us About Who We Really Are Ward:E-biking through SwitzerlandRöstiThe Founder Charles:The Millionaire Mind by T. Harv Eke Mike:Diy Nils Spider-Man Homecoming Special Guest: Mike Hartington. Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacyBecome a supporter of this podcast: https://www.spreaker.com/podcast/adventures-in-angular--6102018/support.
46:3401/08/2017
AiA 149: Angular, Web Bluetooth, and IoT with Uri Shaked
AiA 149: Angular, Web Bluetooth, and IoT with Uri ShakedIn this episode, Shai Reznik, Ward Bell, Lukas Ruebbelke, and Charles Max Wood talk to Uri Shaked about using Angular with Web Bluetooth and IoT.[00:02:27] – Introduction to Uri ShakedUri is an Angular GDE from Israel. His Angular Story episode is here.[00:03:21] – Introduction to Hardware with AngularAngular allows you to build web applications that scale quickly. For hardware devices, you need some kind of interface. Instead of a button, you have a mobile app or web application. This is one place where Angular comes into play. Building control panels, etc.You can do this with pure JavaScript or native mobile apps as well.[00:05:20] – Does it run on the IoT device? or on the web?It can do both. You can run Angular on a webserver on a Raspberry Pi or you can use Web Bluetooth to connect to the IoT device.[00:06:45] – What are the advantages of using web technologies?There's no hardware setup. And using Angular Material or Ionic, the UI looks right without spending a ton of time.RxJS allows you to gather sensor data from accelerometers, heart rate monitors, etc. connected via bluetooth.[00:09:20] – The physical webAn IoT device that broadcasts its own URL. You can then interface with the device simply by scanning for and browsing to the device. One example is walking into a room, scanning, and then controlling the lights without installing an app.[00:10:34] – SecuritySecurity is optional on Bluetooth Low Energy. Bluetooth devices used to pair using pin codes and they got set to 0000 or 1234 by default. So now BLE devices don't require it. Some devices add security on top of bluetooth or use the pairing mechanism.Security is an ongoing concern with IoT in general. The devices that Uri has played with don't implement security.Uri actually had an audience member hack into the smart bulb he was using during a demo.[00:15:08] – How do you manage your connection to the device through Angular?Uri uses async/await to manage the promises based functions that allow you to connect to the device. He wraps all of this in a service.The bluetooth terminology used for the functions that manage the device are also called services. Don't get them confused.[00:16:48] – What's the most useful thing you can do with this?Connecting to an EEG headset that measures brainwaves. Uri wants to allow headset owners to perform EEG experiments in the browser. Otherwise, they have to set up a bluetooth dongle and install python and some libraries to make it work. He'd like to make it simple enough to browse to a webpage and click "Connect."He'd like to show the user pictures and then guess which one you're looking at.[00:19:58] – What is the most useless thing you've build with this?Uri 3D-printed a robot and installed an accelerometer into it and connected it to a WebGL based system to show the orientation of the robot.[00:22:32] – How do you get started?You need a browser and a bluetooth device. A smart lightbulb or a robot. You can use your smartphone to simulate a bluetooth device. Uri wrote an Android app that simulates a smart light bulb. Then you can connect the app to your computer's browser and control the smart bulb app from your computer.[00:25:00] – Ward has a proposal for UriConnect lights in your t-shirt to an arduino device and control it from your phone. Web Bluetooth is much simpler than native APIs for Android or iOS.[00:29:45] – Commercial applicationsPhysical web applications and connecting to remote tools and sensors.Smart counters for your electric meter.Jen Looper's blog post on web bluetooth and beacons.The Louvre uses beacons.[00:33:00] – The physical webUri ran a beacon that broadcast his personal site. He took his trash out and one of his neighbors kept getting a notification about his website on his phone.PicksLukas RuebbelkeAntifragileChef's Table on NetflixShai Reznik59 SecondsVolunteering - Ari Lerner teaching prisoners to codeWard BellThe "other" Uri ShakedSmart Coffee MachineYouTube video on telling if someone is lyingUri ShakedWard's yet-to-be-made shirtAngularUP ConferenceWebAssemblyCharles Max WoodData Skeptic [email protected] Guest: Uri Shaked. Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacyBecome a supporter of this podcast: https://www.spreaker.com/podcast/adventures-in-angular--6102018/support.
41:5325/07/2017
AiA 148 What's New in NativeScript with TJ VanToll
AiA 148: What’s New in NativeScript with TJ VanTollOn today's episode of Adventures in Angular, we have panelists Alyssa Nicoll, Ward Bell, and Charles Max Wood. We have a special guest, TJ VanToll of Progress. If you want to stay current with NativeScript, tune in![00:01:55] – Introduction to TJ VanTollTJ works as a Developer Advocate for Progress, which is a software development company behind KendoUI, NativeScript, and few other tools.[00:02:20] – NativeScriptNativeScript is completely free, completely open-source tool that lets you build iOS and Android native apps with Native user interfaces using JavaScript. It also provides built-in support for both TypeScript and Angular, as well. If you’re an Angular developer, it’s a tool that you can use to take Angular and build for Native iOS and Native Android.[00:03:15] – Native apps using JavaScript core or v8 on AndroidNativeScript uses Native UI components so they’re not using web view, the DOM, HTML, etc. For people that are coming from an Angular background, your apps look like Native apps. They’re using the same building blocks that you’d use if you’re building your app straight up in Xcode or Android Studio. You’re still building your apps the same way, the same file and folder structure, routing, etc. But the real learning curve that it takes to build NativeScript apps is that you have to use their user interface components to build your apps.[00:05:35] – Template syntaxIf you’re building a fairly complex Angular app, when you have all custom components, it’s going to look exactly like a NativeScript app. It’s basically using a suite of custom Angular components vs. using divs and spans as you’re building blocks.Angular is an optional dependency. NativeScript, at its lowest level, it’s just a technology that’s allowing the communication between JavaScript and these Native objects. The reason why the team spends a lot of time working with Angular integrations is that the model that Angular uses happens to be a really good fit for NativeScript. Any JavaScript developer who doesn’t really like using frameworks at all, using these components and syntax that they’re not familiar with could make their learning curve a little bit heavy.[00:08:05] – What’s new in NativeScript Over the last 6 months or a year, the team’s focus has been performance, tooling, and plug-ins.Performance:In the last release, specifically, NativeScript 3.0 was shipped back in May. That release is really the combination of profiling over the NativeScript source-code based on how fast your apps start up, how you can render your UI, etc. There is a cost to working with NativeScript because we are letting you write your source code in JavaScript. The team’s effort has been in really optimizing how fast you can paint your UI’s, how fast you can transition from one page to the next, the startup time, etc. One of the performance penalties that NativeScript has is because you’re using JavaScript, there is one step that truly Native apps don’t have. Specifically, Angular is not necessarily known for being the world’s smallest JavaScript framework. But Angular is being known for being very tool able. So the team shipped a Webpack plug-in that helps you reduce the footprint of your app, which means faster start-up times when you’re using Angular with NativeScript.Tooling:The other thing that’s related to tooling with NativeScript is the command line interface. You build NativeScript apps with the command line interface. The team is working on adding some more visual tooling, more like a companion to the CLI. There are problems that visual tooling can solve like how do you build your icons? How do you deal with splash screens? How do you deal with some of these Native configuration files? There is a thing called NativeScript Sidekick that can help you with some of these tasks. There’s an early beta out now.Plug-ins:The team purposely try to keep NativeScript core light, trying to keep our footprint small. TJ encourages developers, on your own team, and the NativeScript community to do that to your plugins because the NativeScript plug-in ecosystem explodes over the last few months. There are somewhere over 500 plug-ins. Their new plug-ins market place is plugins.nativescript.org/ that shipped several months ago. Now, they’re trying to work to add some consistencies to the plug-ins and adding some documentation around as well.[00:13:25] – NativeScript 3.0 upgrade and compatibility with NativeScript 2.0It’s like Angular 2.0 to Angular 4.0 in a sense that there are few breaking changes but for most apps, it’s going to be fairly transparent or fairly trivial to update. It had some breaking changes with NativeScript plug-ins and one of the main reasons that they bumped the version number up is part of that performance changes to specifically render your interface faster. They also have to change their layout mechanism and some of the API with the NativeScript visual tree. Those are things that are unlikely to hit your common app because you’re probably just coding using their Angular components, in which case, you don’t necessarily need to know what’s going on under the hood. The team also worked with the plug-in authors of the top 30 or 40 most downloaded plugins out there to make sure that they were absolutely ready to go for the launch date for 3.0.If you are getting trouble with the upgrade, you can reach out on their forums. They’ve been trying to tackle these issues when they come up.[00:15:30] – Communication, upgrade, breaking things, and bugsProgress, as a company, haven’t done project quite like NativeScript before. It’s a project that’s completely open-source and completely free. They want to give people some freedom to of experiment and build their own things. But they try to be as transparent as possible on what we’re trying to do and reach out for feedback.They have a NativeScript Slack channel, which has a lot of people in there. They’re the first point of contact when making changes. And for the actual upgrade process, they try to actually put a good effort to get plug-ins where people have put on a considerable amount of effort into them.[00:17:35] – NativeScript 4.0Debugging:If you’re a Visual Studio Code user, you can now just directly do this step debugging directly within the debug tab in VS Code for your completely Native iOS and Android apps. The team also launched support for the Chrome developer tools for NativeScript but they’re only available at a very limited capacity right now. Right now, in the Chrome dev tools, the console works and you can see network request but it’s not the full experience that you’d expect if you’re using those tools for web apps.Visual tree:One of the big pinpoints when it comes to learning NativeScript is learning how to build a visual tree with NativeScript. You can mess with CSS in your web apps, you can play around with layouts, play around with colors, etc. That’s possible to break that to NativeScript as well.Performance:The other big thing is again related to performance. We’ve got a lot of efforts going on at the moment, specifically, around start-up time. I mentioned we shipped a lot of performance-related things for NativeScript 3.0 but most of those were focused on the runtime experience – how fast we can paint your UI, how fast we can paint more complex Native user interfaces. We’re not turning our attention more to just how fast we can start-up your app and what sort of things we can do to optimize that and bring that number down as much as possible. A lot of that involves how can we fight with web configuration files to get exactly what we want, what are the best ways to reduce the number of files we’re using, use whatever we can to reduce that bundle size.The last that’s related to toolings is some of the visual tooling that we have. They think they can bring some fairly powerful behavior to NativeScript developers. In the past progress, they've had some premium tools for working with mobile apps that let you do things like build apps in the cloud. Say, you are a Windows developer and you want to build iOS apps, we have some premium tooling that could do that today. We think we’re going to be able to bring that to the open-source version of NativeScript, sort of make that work with directly within the NativeScript CLI.[00:21:15] – Store on distribution of appsWith NativeScript, things are going to work exactly the same as if you’re building things from the ground up with Xcode or Android Studio. NativeScript CLI spits out the Native app package - that’s .apk file for Android and .ipa file for iOS. You just head out to the Native stores and actually register your apps and use those stores as the distribution model to get your app out to your users.There are certain people, especially companies, that don’t need to distribute their apps publicly. Think an app that you need your internal people to have, maybe they’re sales rep, maybe they’re doing an inventory job. In Progress, they sell some of the tools that you can use to distribute your apps locally to users. Because it’s generating those exact same Native binaries, once you have that, you can use any iOS or Android distribution model that you want to use.[00:22:30] – Start-up performanceOne of the big performance advantages that Native apps have is you don’t necessarily have to deal with a network. In terms of media files, a web app might need to worry about your initial load of image assets or video assets. But with Native apps, you have the ability to package that in the file.The specific cost when it comes to start-up time is not getting JavaScript from the network. The cost is actually the registration of your JavaScript code with v8 or JavaScript core. It’s the same reason that there’s a cost for that in the browser if you feed Angular into v8. There’s a cost that it will take to be able to parse that thing and run with it.[00:25:30] – Lower cost for low-powered devicesTJ has zerBecome a supporter of this podcast: https://www.spreaker.com/podcast/adventures-in-angular--6102018/support.
38:1318/07/2017
AiA 147 Codelyzer and Static Analysis Tools for Angular with Minko Gechev
AiA 147: Codelyzer and Static Analysis Tools for Angular with Minko GechevThe 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 APIDriving on the right side of the roadMinko 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 Special Guest: Minko Gechev. Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacyBecome a supporter of this podcast: https://www.spreaker.com/podcast/adventures-in-angular--6102018/support.
42:0311/07/2017
AiA 146 10 Ways to Lose a Developer with Bonnie Brennan and Keith Stewart
AiA 146: 10 Ways to Lose a Developer with Bonnie Brennan and Keith StewartOn today's episode of Adventures in Angular, we have panelists Ward Bell, Alyssa Nicoll, Joe Eames, and Charles Max Wood. We have special guests, Bonnie Brennan of ngHouston and Keith Stewart of CollabNet. The discussion ranges from the Most Common Reason for People to Leave to Mandatory Happy Hour that companies have! Stay tuned![00:01:05] Introduction to Bonnie Brennan and Keith StewartBonnie is an Angular architect at Houston, Texas. She is the founder of ngHouston. She also runs Code Bridge Texas with her daughter. They do free programming workshops for girls. She’s going to be at a couple of conferences coming up. They’re going to AngularMix and FrontEnd Connect with Alyssa.Keith, on the other hand, works for a company called CollabNet as a UI Tech Lead. He is working mostly on UI’s for DevOps-related products. He is also a frequent panelist on the ngHouston Meet up broadcast that Bonnie runs and a curator on ngDoc.io with Alyssa and Joe.[00:03:20] – Most common reason for people to leaveIf Bonnie has to narrow down, she thinks it’s the tech stack. Some companies have a lot of legacy code that needs to be maintained but at the same time, when you are a developer who spends a lot of time on emerging technologies, you want to be working on this new stuff that you’re learning.While working on this course on how to find a better dev job, Charles surveyed people on Skype or the phone. They feel stuck and not moving ahead.[00:10:50] – In the culture, if you’re not a performer, then, you’re not trying hard enough?Joe thinks that we have this problem in this industry that if you are not going to be blogging and speaking at conferences, then, you just don’t belong. Ward also thinks that you don’t have to be a performer to contribute to a great development environment. But for Bonnie, being a performer is not exactly about getting up on stage. It really is about caring enough.Alyssa tells about the gradient of the type of person. There’s a person like, “Okay, this is just a job for me but I still take pride in my work.” But if you’re in the mindset of “Hey, I have kids or I have a wife outside of this. But I’m still giving it my all while I’m here.” Then, it’s perfectly reasonable. Keith also tells about the two different types of people. The generalists, the folks who are on the bleeding-edge, they don’t necessarily master one of those, and the other folks who get really good at one particular thing that they’re working on.Ward cites an instance where you’re in an enterprise and you have a lot of very important legacy systems that need a person who cares about the legacy stuff. You can’t have a company that has all people who have to be on the bleeding-edge all the time.[00:18:55] – Type of developers that companies want and how to keep themWard mentions how professional growth is important. The opportunities for people to work on the leading technologies is not always something that every company can offer but they can sprinkle these opportunities here and there. It can be done but if it’s not, there are things that you can do with some of the legacy applications to make them more palatable to work on.Charles suggests to companies to show the developers that you care, you are listening. It’s on the roadmap and you’re going to get there.[00:22:55] – Is boss on your list of Ways to Lose a Developer?Bonnie can’t think of the time that she has left because of her boss. But the company culture is an important thing because however, the upper management feels about culture, that’s going to trickle down.One issue about Charles’ boss is that he is very controlling. Another issue is he was specifying the requirements for the application and he wasn’t very good at staying consistent with it. They wind up building one thing but gets angry with them because they hadn’t built what he wanted, even though it was exactly what he specified.Bonnie also had a situation similar to Charles where the project requirements kept changing while she was writing the code. If you feel like you’re going to work to be frustrated again, it doesn’t matter what technology you’re using, it doesn’t matter how you like the rest of your co-workers, eventually, you’re going to burn out.[00:27:00] – Not being paid enoughWhen you’re not making a whole lot of money, Bonnie thinks it can be a big deal but it’s not the biggest issue. For Keith, if he would be weighing two companies, he’ll also choose the company with the good tech stack instead of the company which pays a little higher. But Ward thinks that it is a privilege to be in an industry where even in the low-end of the salary rank, you tend to be pretty comfortable.[00:29:55] – Effective ways to show your appreciation to a developerBonnie refers to an instance when the boss gives credit for a developer in a meeting on how he did a great job on a feature. And on the flipside, the worst kind of boss is the boss that says, “Look what I did.”But Keith finds it a difficult question because it might be different for other people. Some people like to be called out in a meeting and say, “You did a good job.” But some folks would like that to be a little more behind the scenes. Or some folks might be looking for a bonus instead. So you might be able to read your people.For Alyssa, she likes the boss who regularly checks in even if it’s not a pat on the back because it just shows that they care about the process. Ward speaks of the boss who asks your opinion on an important decision, technical or otherwise.[00:37:40] – RecruitmentKeith never likes the recruitment process of companies which bring a lot of people in and give them coding exercises on a whiteboard. So they built a small application that’s similar to the application that the folks will actually be doing.[00:41:05] – Remote vs. working in an officeAlyssa loves being remote. She mentions she has ADHD so she was distracted in an office setting. It’s important for her to set up her environment to be more productive. Bonnie also has been working remote for 3 years now. It used to be difficult to communicate but now, we can just use video call.But Keith finds people more engaged in a meeting when it’s in person. An office space can add a lot of value to a team. Ward points out that you can also be distracted as well by working remote. In Google, they all work in the office. Even though they have open office plans, sitting right next to each other, they trust the people that they can do well in that environment. People put on headphones when they’re really focusing on something.[00:53:20] – Mandatory happy hourCompanies which have a snack room, ping pong table, foosball can contribute to company culture and make it a much more attractive place for developers. But Alyssa gets scared a little bit when programmers go overboard and sometimes you’re not into it as much as they are.PicksWard Bell- Progressive Web Apps (PWA)- https://www.google.com.ph/url?cad=rja&cd=1&esrc=s&q=&rct=j&sa=t&source=web&uact=8&url=https%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv%3DcmGr0RszHc8&usg=AFQjCNFteiHS7s7K1wYiwwm9_OlD9BsM1A&ved=0ahUKEwiWj_3m6vvUAhVLUbwKHcSeDjMQtwIIJDAAJoe Eames- https://www.google.com.ph/url?cad=rja&cd=2&esrc=s&q=&rct=j&sa=t&source=web&uact=8&url=https%3A%2F%2Fwww.netflix.com%2Ftitle%2F80103734&usg=AFQjCNHF57izk0IQJ8XmF1Ay63ML83JpRg&ved=0ahUKEwjcxtny6vvUAhUBxbwKHYkrAbgQFggwMAE- Keith StewartCharles- Angular Dev Summit- https://www.google.com.ph/url?cad=rja&cd=3&esrc=s&q=&rct=j&sa=t&source=web&uact=8&url=https%3A%2F%2Fwww.amazon.com%2FCamelBak-53843-Eddy-Water-Bottle%2Fdp%2FB01787PW8W&usg=AFQjCNETAQ4PYgXgV_UqLnJdxO5nvn38HA&ved=0ahUKEwjDjYT_6vvUAhWHTrwKHUJMBCcQFggvMAI- https://www.google.com.ph/url?cad=rja&cd=2&esrc=s&q=&rct=j&sa=t&source=web&uact=8&url=https%3A%2F%2Fwww.amazon.com%2FExtreme-Wireless-Speaker-Blue-HX-P430BL%2Fdp%2FB00CDGSNPS&usg=AFQjCNGcC6MiTlBLxq7gRuqMCjOP4b753Q&ved=0ahUKEwjQwdOR6_vUAhVGwbwKHfN1BbcQFggpMAEBonnie Brennan- https://www.pluralsight.com/courses/angular-2-reactive-forms- https://toddmotto.com/ultimate-guide-to-learning-angular-js-in-one-day/- https://twitter.com/bonnster75- https://www.youtube.com/channel/UC3cfVUpgrO5TK6cvH04ieSQKeith Stewart- https://medium.com/curated-by-versett/building-maintainable-angular-2-applications-5b9ec4b463a1- https://en.wikipedia.org/wiki/Rogue_One- https://twitter.com/TheKeithStewartSpecial Guests: Bonnie Brennan and Keith Stewart. Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacyBecome a supporter of this podcast: https://www.spreaker.com/podcast/adventures-in-angular--6102018/support.
01:09:2104/07/2017
AiA 145 Why I'm Still Betting On Angular with Shai Reznik
AiA 145 Why I’m Still Betting on Angular with Shai ReznikOn today’s episode of Adventure in Angular, we have panelists Alyssa Nicoll, Joe Eames, along with Charles Max Wood. We have a special guest Shai Reznik from Hirez.io, a website and video web development course series that mixes information with a few laughs. Today we are figuring out why Shai is still betting on Angular. It’s a fun show, we hope you check it out!Why are you still betting on Angular?Shai has been getting this question a lot. He tells us about working on Angular courses for his website hires.io He has two courses out so far, first being a course on Angular basics, a second course on Why Angular? Shai suggests that picking a framework is essentially gambling. He also gave a talk “Why I’m betting my future on Angular 2,” focused on the non technical reasons that he is sticking with Angular. If you teach someone without experience about web development and ask them to pick a framework without guidance it’s a disservice. Once that person has gained experience, then they can choose on their own.Shai’s Decision MethodAt HiRez.io he had to pick a specific framework. Shai has been working on comparing different frameworks for years, including React and ViewJS. He adds that when you see talks or documentation on framework, you’re seeing a showcase of the best parts. It isn’t until you work with it that you find the quirks and issues. Part of what he did to learn the frameworks were to simulate real life scenarios. He also came up with a set of requirements to help him. The main question being “Does it handle scaling?” He found that React leans more towards libraries while Angular is more of a framework. It comes down to integration. Building your own framework from a library can be a good practice if you want to become a more professional JavaScript developer. Shai suggests that its like building your own computer instead of buying a brand new one. The issue is with JavaScript, the updates come weekly and so building your own framework from a library comes with a cost. Developed frameworks tend to handle that level of integration for you.Less Mental Overhead with AngularCharles adds that Angular allows him to make things without worrying about when to use things like Redux or Mobix and it just works. There is less mental overhead along with available expertise because everyone is generally using the same stack. React can have a shorter learning curve, and both communities have about the same number of proficient users as a resource. Both seem to be equal in those ways. Having choices keep things on the innovative edge. Shai talks about the Angular team and how innovative they tend to be. Aimee adds that their attitude about Angular is also genuine, giving an example of when they are approached with issues, they are open to discussing them.Dependency InjectingViewJS is also a framework. The one thing that is missing is dependency injection ,which in Shia’s opinion is one of the biggest selling features of Angular. It allows for easier code testing and in Angular 2 it has been improved even more. He adds that some developers can be lazy and not write tests and for them it wouldn’t matter. Angular also prides itself as a JavaScript framework, and so no typescript. When working on a big team, being able to see immediately where things are broken is very helpful and is a plug for Angular.Evolving communitiesJoe says that Angular has a great community and he like Angular because of his familiarity. Shai adds that all three are great solutions. Angular just happens to fit well with his current situation. He had to switch from old technologies or communities because they got stuck in the past. ViewJS is picking up popularity and in a couple years will have a strong community. He adds that while the community and support system is great, it’s not the main reason he stays.Will the market for Angular courses be sustainable?Shai mentions that it seems to come in waves, a certain technology will have hype come in every six months or so. That hype leading to adoption and then months later the adoption rate drops down. This is something he witnessed with Angular 1 in 2012 with 1.0. It took 6 months to a year for people to learn about it and adopt it. It wasn’t until 2013 or 2014 when React came out, early adopters jump on React and started creating hype for it. Some of React solved the pain points for Angular. We are getting to the end of the adoption wave of React. It’s hard to tell how long React and ViewJS will be popular. The new Angular will bring a new wave and peak in demand in a year or so. Shai adds that this is his bet and he may be wrong. He sees that it handles small apps or big apps, having the ability to scale and that is important. Charles adds that Ruby on Rails had a similar cycle. Ruby has stop being in the media as much because it’s becoming stable, but the community is strong there either way. Shai mentions that he doesn’t see these frameworks like React going away soon because they solve real issues. If you zoom out from the discussion, these frameworks are all part of a big JavaScript family. Listens can comment on this episode on what frameworks they’ve choose and why.PicksJoe NGDoc.io PersistenceAlyssaHiRez.ioCharles Rush Revere and the American Revolution Palto Alto Firefighter’s Hot Sauce Shia Futur Youtube Decorators HiRez.io Links HiRez Twitter Shai Twitter Special Guest: Shai Reznik. Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacyBecome a supporter of this podcast: https://www.spreaker.com/podcast/adventures-in-angular--6102018/support.
43:1927/06/2017
AiA 144 Azure and Angular with Shayne Boyer
On today’s episode of Adventures of Angular we’ve got panelists Ward Bell, Joe Eames, Alicia Michael, John Papa, Charles Max Wood, and our special guest Shayne Boyer. Shayne is a Senior Developer Advocate at Microsoft and on the Azure team. The last time he was on the show was Episode 082 of Adventures in Angular and we talked about getting started with Angular 2. Today we are going to talk a bit about Angular and Azure. Stay tuned.[3:12] Talk about offerings with Azure.There is a connotation that if you want to use Azure you have to use .NETThat is not the case.Large part of Azure runs linux.There are over 170 type products that Azure offers.noSQL databases, postgres, mongolDB, Azure Cosmos, Azure functionsIt’s more than .NET and VMs.Things you can do this type application are things like - Deployment to web front end, putting apps in Docker container and pushing to container service, scaling those apps etc etc.[5:23] Put your app in Docker container?Talking about just front end. Just the web application.Putting it into a container and deploying the container into a linux instance or web app on Azure.[6:13] Why is it a good thing to use Docker for this kind of thing?Example. NGX for front end services, you can’t NGbuild using ClI do an NGBuild get the disc folder and throw that to a web application service like IAS or Node and have that application just service. Deep linking wouldn’t work.Instead you would want to package something like an express server that requires NodeJS. Then something to handle deep linking. You can easily package that in a container and push it to the cloud and be able to control it without worrying about infrastructure.Essentially it’s the app that has been written as well as the server that serves that app.You can choose the base it runs on. I.e. Node 6 instead of 8. Etc etc.Control those in the container so any time you pull it down it has those same settings.Often developers assume versions of services are the same between the developer and the services used like a cloud service and when it’s not, things break.The concept of “works on my machine” is actually true now. How it works for you, will be exactly how it works where ever you push it.You can set up the version of Node you want, the settings how you’d like, test it on your own machine and when you push it to providers like Azure, Heroku, AWS, etc, it will run the same on all those providers.Takes away complexities when testing.[9:39] Outside of Docker, what other things does cloud bring to the table?Serverless offerings.Takes away issues with - worry about building a node server to serve my app. Building API to serve the data. Building Infrastructure behind the server and deploying it.Building and deploying pains reduced as well.[10:57] “Wait wait, serverless?”It’s the new buzzword.There are servers underneath.Don’t have to worry about infrastructures or the servers themselves.Just write the function.Function will return the data to controller service built in Angular. Just have to build the Javascript (or python, and C#, java is coming) in the portal or in Github, and it’s just the code to run the function.No need to worry about the types of servers, VMs, operating systems, patching or scaling.It will scale based on what the capacity demand it needs.Event driven - event queues, message queues, etc.[13:20] Simple endpointsScalability at endpoint level.Previously when writing APIs on the backend, typically you’re concerned with scaling that API application.Endpoints typically scale at the same level.Serverless functions scale at that typical API level.Paying only for usage.[15:30] How do you orchestrate between the services?Just because you spread things around doesn’t mean it’s better.It’s important to realize that breaking assembly or dll files down into smaller dll files don’t change things much.Minimizing what it takes to think about when it comes to handle and configure a server running the services.It’s easy as “Here it is, go run it for me Azure!”[20:12] How does this relate to angular developers?Be careful about over complicating the ‘concept count’ Having too many systems, front end, back end, VMs, Docker, etc. To many things to learn or to know to get it done.Easier to write API and serverless. So then it’s just Javascript on the front end. Much easier.[21:58] Someone brand new to Azure, what should they try out?Azure functions is a great place for Javascript or Angular.Typescript is coming as well.Understanding it’s just a backend.Learning to connect to a database, or have a static file.Routing, proxies, etc are all built in Azure.[23:13] What JavaScript engine does it support?Chakra Engine.ES 5ES 6Support for TypeScript recently announced. Coming up.Node 8 is now available on Azure service platform.[25:04] More on the portal.The portal is one of the largest typescript platforms available right now.The portal is not the only option.Strong CLI experience.Making VMs and web applications and all products can be done with CLI.If you like CLI then start there.[26:54] Creating a quick web appIf you want to create a new web application.Simple as AZ web create Pass the name of applicationpass the locationin a few commands you can create an appSet it up to deploy from the GitHub RepoFrom there it’s just checking in code and it’s getting the deployment from the CLI pipeline.Write it, check it in, deploy.[27:32] Do you have articles or videos that people can jump to?Did a course in deploying an angular app using GitHub git AzureTalks about how to hook up Azure web app instance to a GitHub repo.It’s easy as checking in code, no worries about the concept count and complicated setup.[28:45] Integrates with Docker and Visual Studio CodeThere is an Azure extension for VS Code that allows you to push all of your code.Demos available to learnHas great extensions for Angular too.[29:28] Simplifies or eliminates complications on the back end, does it also help on the front end.Don’t have to worry about scaling my static site. Data is what makes it scalable.Serverless experience - hitting databases, doing computations, working on triggers or WebHook from other parts of your business.Azure function can listen to WebHooksAzure can aggregate backend in serverless functions.Has database offerings to store data.Infrastructure for hosting Node applications and Node APIsAzure does not = .NET[31:19] How does someone get involved and try it out?Go to Azure.com and try it free.Try the Azure functions portal free as well.Plenty of free experiences from the platform.The tuts and walk-throughs for almost any of the platforms or languages for Azure.PicksJoe John Papa’s course on Angular CLI course. NG Doc. WardTroy Hunt used Azure functions to fight DDOS attacks article. AlexaCharles Serverless framework. NPM serverless. Angular Dev Summit (Now free) Shayne Keyvo Smartlock Angular 2 app to Azure using Git play by play course. Docs.microsoft.com LinksAzureSpecial Guest: Shayne Boyer. Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacyBecome a supporter of this podcast: https://www.spreaker.com/podcast/adventures-in-angular--6102018/support.
40:5720/06/2017
AiA 143 KendoUI with Burke Holland
AiA 143 Kendo UI with Burke Holland Charles Max Wood and Burke Holland discuss Kendo UI. Burke Holland is on the Developer Tools Division at Progress. The discussion ranges from the introduction of Kendo UI to tests used for Angular apps. Stay tuned to discover what Kendo UI can do for you![00:01:50] Shutout for Angular Remote ConfCharles will be picking speakers really soon so get your ticket at the early bird price.[00:02:15] – Introduction to Burke HollandBurke Holland is working for Progress in the Developer Tools Division on the Developer Relations Team. They work on products like NativeScript, KendoUI and all the developer tools that Progress makes, which is mostly UI components and mobile frameworksQuestions for Burke Holland[00:03:00] – What is Kendo UI?Kendo UI is a Javascript UI library. It has open source components (Kendo UI Core), but it’s primarily commercial. It’s more on heavy lifting text scenarios like grid that has sorting and filtering, drag and drop, grouping, scheduler, robust calendar interface, pivot grids, Gantt charts, data visualizations. We’ve rebuilt Kendo UI from the ground up using Angular components. It’s the Kendo UI Core Angular that was released last January.[00:08:00] – How are Kendo UI elements pulled for use into an app?There’s a private npm repo that you would just pull in and bundle some of the widgets together. Inputs can be a drop down list, a combo box, autocomplete, etc. Using npm and install -@progress/kendo-angular-input, you get all of those inside your npm modules folder. We and the team are pushing to move to the public npm repo so that people don’t have to register for an account.[00:13:00] What about mobile development? Does this work with NativeScript?Kendo UI widgets do not work inside of NativeScript for mobile apps. However, we are looking for a possibility of merging their NativeScript UI library with Kendo UI so that you can build a website, a progressive web app, a NativeScript app, etc.[00:16:00] Do you also have to pull in some CSS?Kendo UI has their own CSS that is based on Sass. It has a theme builder to customize themes that you can pre-select from. Integration for Bootstrap 4 was also built because Kendo UI does not have a layout system so it doesn’t provide you with any grid system for layouts or for responsive design.[00:19:00] Do you just import it into my app and then use the components, is it that simple?It is recommended to use Angular CLI to use Kendo UI’s components and import it into an app. First step is to create a new project with the Angular CLI because Kendo UI is designed to work with it. You can work with SystemJS, instead, but it requires some tweaking. Next, you would need to add the private npm repo which registers the end point on the terminal. And then, npm-install to install the components. After that, you can include them in your app module file. Import Kendo grid from @progress/kendo-angular-grid. Then, you can import them into your module so you use it in your templates.[00:23:00] – Can I tie a chart to a grid, update the chart and have the grid change?Everything that Angular updates, Kendo UI just updates too. If you buy two components to the same array and you update that array, both of those components are going to update because they’re using Angular’s binding.[00:24:00] – Does Kendo UI work with the older versions of Angular?Kendo UI works with Angular 1.x. By the way, AngularJS means Angular 1.x. Meanwhile, Angular means Angular 2 and up. Directives for Angular 1.x wrap Kendo UI components.[00:28:00] – When moving my component in AngularJS to Modern Angular, do I have to include both of those in the product?I can’t provide any guidance here, other than I wouldn’t do that. If you migrate, you’re going to be firing up a new project but you should be able to move your application logic over pretty well. However, we still have this idea of services and injection and those things are transferable. And then, when you use Kendo UI components, the only thing that’s really transferable there is the configuration settings.[00:29:00] – How do you write tests if you’re testing Angular app? Are there other things that you should be testing?That would mean there’s some sort of functional testing and unit testing. If we’re talking about unit testing, you should just test the way that you would normally test Angular. For functional test, you need a functional testing tool like Selenium or Test Studio.[00:30:00] – Is there anything else that people need to know about Kendo UI?We’ve got a lot of other components coming so stay tuned on that. We’re also working on some React stuff. We always love to get feedback. We have a github repo.PicksBurke Holland:Server listAzure Functions ChallengeMedium article on Samsung’s weird emojiTwitter at @burkehollandTwitter of Tara Z. ManicsicCharles Max Wood:Serverless library in npmAWS LambdaSlack room for the podcast (adventuresinangular.com/slack)Angular Remote ConfGet A Coder JobStack for Slack automationMemberPress on WordPressSpecial Guest: Burke Holland. Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacyBecome a supporter of this podcast: https://www.spreaker.com/podcast/adventures-in-angular--6102018/support.
38:3213/06/2017
AiA 142 Angular and Electron with Ryan Chenkie
On today's episode, Adventures in Angular features Angular and Electron with Ryan Chenkie. Ryan is a product owner, blogger, and JavaScript trainer. His interests in working on Angular with other technologies led him to using it on desktop apps with Electron. Tune in!Special Guest: Ryan Chenkie. Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacyBecome a supporter of this podcast: https://www.spreaker.com/podcast/adventures-in-angular--6102018/support.
57:5223/05/2017
AiA 141 Migrating a Large Angular 1.x App to Angular 2+
How long do you wait to load regular Angular? Today's episode features Migrating a Large Angular 1.x App to Angular 2+ with Ciro Nunes. Ciro is a frontend engineer at CrossEngage. He appeared on episode 89, where he talked about Angular CLI. Now, he shares how they migrated an app and the challenges they faced. Tune in!Special Guest: Ciro Nunes. Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacyBecome a supporter of this podcast: https://www.spreaker.com/podcast/adventures-in-angular--6102018/support.
42:0109/05/2017
AiA 140 NgDoc.Io with Joe Eames and Alyssa Nicoll
On today’s episode, Charles Max Wood and Ward Bell discuss NgDoc.Io with Joe Eames and Alyssa Nicoll. NgDoc.Io is a website that contains all Angular-related content in the community. It includes sample projects and apps. It's a great resource for everyone who wants to learn about Angular. Tune in! Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacyBecome a supporter of this podcast: https://www.spreaker.com/podcast/adventures-in-angular--6102018/support.
48:1102/05/2017
AiA 139 ng-conf Roundup
On today’s episode, Charles Max Wood, Lukas Reubbelke, Ward Bell, Joe Eames, and Alyssa Nicoll discuss ng-conf Roundup. Stay tuned as they share their meaningful experiences in attending the conference! Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacyBecome a supporter of this podcast: https://www.spreaker.com/podcast/adventures-in-angular--6102018/support.
55:5425/04/2017
AiA 138 Progressive Web Apps with Houssein Djirdeh
On today’s episode, Charles Max Wood, Joe Eames, and Alyssa Nicoll discuss Progressive Web Apps with Houssein Djirdeh. Houssein is a front-end engineer based in Toronto. He works for Rangle.io where he builds mobile web apps strictly focused on JavaScript. Stay tuned to learn more about the web apps he is working on and what he's currently up to!Special Guest: Houssein Djirdeh. Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacyBecome a supporter of this podcast: https://www.spreaker.com/podcast/adventures-in-angular--6102018/support.
52:1911/04/2017
AiA 137 NGRx with Mike Ryan
On today’s episode, Charles Max Wood, Ward Bell, and Alyssa Nicoll discuss NGRx with Mike Ryan. Mike is a senior software engineer at Synapse Wireless, Inc. in Huntsville, Alabama and is a core team member of NGRx. What he does in work is that he builds real-time interactive UIs for industrial applications. Stay tuned to learn more about what NGRx and what he currently enjoys doing related to web development!Special Guest: Mike Ryan. Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacyBecome a supporter of this podcast: https://www.spreaker.com/podcast/adventures-in-angular--6102018/support.
01:01:0004/04/2017
AiA 136 Catalog of Angular Libraries and Components with Romuald Brillout
On today’s episode, Charles Max Wood, Joe Eames, John Papa, Lukas Reubbelke, and Ward Bell discuss Catalog of Angular Libraries and Components with Romuald Brillout. Romuald studied computer science and does freelance in programming for particular clients. Stay tuned to learn more about the topic and what he is currently up to! Special Guest: Romuald Brillout. Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacyBecome a supporter of this podcast: https://www.spreaker.com/podcast/adventures-in-angular--6102018/support.
52:0428/03/2017
AiA 135 Angular Flex Layouts with Thomas Burleson
On today’s episode, Charles Max Wood, Alyssa Nicoll, Joe Eames, John Papa, Lukas Reubbelke, and Ward Bell discuss Angular Flex Layouts with Thomas Burleson. Thomas has been a part of the Angular community since dot 9 and is currently taking the lead on flex layout. Tune in to learn more what this new library from Angular is all about and discover what it has in store for you.Special Guest: Thomas Burleson. Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacyBecome a supporter of this podcast: https://www.spreaker.com/podcast/adventures-in-angular--6102018/support.
01:14:1221/03/2017
AiA 134 When Joe Gets MEAN
On today’s episode, Charles Max Wood, Alyssa Nicoll, Joe Eames, and Ward Bell talk about Joe's experience in building an application with MEAN. Tune in to learn about this JavaScript framework, and hear what happens when Joe gets MEAN. Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacyBecome a supporter of this podcast: https://www.spreaker.com/podcast/adventures-in-angular--6102018/support.
01:05:0414/03/2017
AiA 133 RxJS with Angular
On today’s episode, Charles Max Wood, Alyssa Nicoll, John Papa, and Ward Bell talk about RxJS with Angular. Tune it to learn how to use RxJS directly as an Angular developer rather than inside some library. Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacyBecome a supporter of this podcast: https://www.spreaker.com/podcast/adventures-in-angular--6102018/support.
50:5807/03/2017
AiA 132 The Angular CLI
On today’s episode, Charles Max Wood, John Papa, and Ward Bell talk about The Angular CLI. Tune it to their interesting talk to understand what CLI does, know where it's at, and consider the issues about it. Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacyBecome a supporter of this podcast: https://www.spreaker.com/podcast/adventures-in-angular--6102018/support.
52:0128/02/2017
AiA 131 Security and Angular with Brian Clark
On today’s episode, Charles Max Wood, Joe Eames, John Papa, Ward Bell, Alyssa Nicoll, Jules Kremer, and Lukas Reubbelke discuss Security and Angular with Brian Clark. Brian is a web developer and an architect. He is into secured application development practices. Tune in and learn more about Angular and about security in building applications.Special Guest: Brian Clark. Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacyBecome a supporter of this podcast: https://www.spreaker.com/podcast/adventures-in-angular--6102018/support.
56:1621/02/2017
AiA 130 NG-Conf Speaker Selection Process
On today’s episode, Charles Max Wood, Joe Eames, John Papa, Ward Bell, Alyssa Nicoll, Jeff Whelpley, and Dave Geddes discuss NG-Conf Speaker Selection Process. Tune in and learn how the organizers choose the speakers for the event!Special Guests: Dave Geddes and Jeff Whelpley. Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacyBecome a supporter of this podcast: https://www.spreaker.com/podcast/adventures-in-angular--6102018/support.
01:00:0814/02/2017
AiA 129 How do I Start My Single Page App?
On today’s episode, Charles Max Wood, Joe Eames, John Papa, Lukas Ruebbelke, and Ward Bell discuss How do I Start My Single Page App. Tune in and learn about the major concerns in starting the app! Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacyBecome a supporter of this podcast: https://www.spreaker.com/podcast/adventures-in-angular--6102018/support.
01:10:2107/02/2017
AiA 128 Organizing Non-traditional Developer Events
On today’s episode, Alyssa Nicoll, Joe Eames, Tracy Lee, John Papa, Ward Bell discuss Organizing Non-traditional Developer Events. Tune in to their exciting talk, and learn how these events are organized! Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacyBecome a supporter of this podcast: https://www.spreaker.com/podcast/adventures-in-angular--6102018/support.
54:5231/01/2017
AiA 127 GraphQL and Apollo with Uri Goldshtein
On today’s episode, Charles Max Wood, Lukas Ruebbelke, Joe Eames, and Alyssa Nickel discuss GraphQL and Apollo with Uri Goldshtein. Uri is a core developer at Meteor Development Group.Special Guest: Uri Goldshtein. Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacyBecome a supporter of this podcast: https://www.spreaker.com/podcast/adventures-in-angular--6102018/support.
57:5724/01/2017
AiA 126 Incrementally Upgrading an Application to Angular 2 with Danny Blue
On today’s episode, Charles Max Wood, Alyssa Nickel, Ward Bell, and Joe Eames discuss Incrementally Upgrading an Application to Angular 2 with Danny Blue. Danny is a brand manager at LiveSafe, and is an expert when it comes to web technology. Danny talks about upgrading jQuery spa. Special Guest: Danny Blue. Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacyBecome a supporter of this podcast: https://www.spreaker.com/podcast/adventures-in-angular--6102018/support.
55:4217/01/2017
AiA 125 API Powered Components for Severless Applications with Travis Tidwell
1:25 - Introducing Travis TidwellForm.ioBlogTwitterGithub2:35 - What’s a form and why would you build one?8:30 - Making changes to API-driven formsSwagger13:50 - Forms and GraphQL 15:10 - Working with conditions16:55 - Serverless applications24:20 - Microservices, actions, and web hooks29:15 - Are all PWA’s serverless?31:10 - Building apps API-first instead of mobile-first36:00- The user experience and the API-first approach38:10 - The inspection example42:50 - Rendering widgets using Angularhttps://github.com/formio/ng2-formio46:50 - Teaching the “why” and the “how”Picks:Tools of Titans by Timothy Ferriss (Lukas)Shai Reznik’s HiRez.io (Alyssa)Shai Reznik’s AiA episodes: 046 - Prepping for NG2040 - ng-watObjects of Desire: Design and Society since 1750 by Adrian Forty (Ward)Moleskine notebooks (Charles)Asana (Charles)Westworld (Travis)Special Guest: Travis Tidwell. Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacyBecome a supporter of this podcast: https://www.spreaker.com/podcast/adventures-in-angular--6102018/support.
56:3729/12/2016
124 AiA From Junior to Senior Developer
3:10 - Euphemisms for Junior Programmers5:00 - Is “Junior Developer” a useful label?15:25 - Junior/Senior Developer labels and correlations with knowledge18:00 - Hiring and the interview process as a Junior Developer30:00 - Benchmarks for Senior DevelopersPluralSight Skills AssessmentPicks: Postman (John) National Hour of Code Week (John) “Forgetfulness” by Billy Collins (Ward) Asana (Charles)Standard operating procedures for important tasks (Charles) Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacyBecome a supporter of this podcast: https://www.spreaker.com/podcast/adventures-in-angular--6102018/support.
49:1022/12/2016
123 AiA Upgrading from Angular 1 to Angular 2 with Victor Savkin
3:00 - Introducing Victor SavkinTwitterWebsite3:30 - Making migration gradual4:45 - NgUpgrade6:20 - What is Router/Upgrade? How is it used?9:15 - Iterative and Incremental upgrading11:35 - UI Router13:20 - Making a gameplan for migratingBlog post16:00 - UI Router versus Angular Router20:05 - Angular Upgrade Static21:40 - Why should you upgrade your Angular modules?25:30 - Reviewing the steps26:30 - Step 3: Migrate individual components and services to Angular 228:50 - Leaf components29:50 - Hashtag routing31:00 - Step 4: Divide the routes between the Angular 1 and the Angular 2 routers35:00 - Step 5: Removing Angular 1 from your setup36:10 - When should you do a progressive migration?39:05 - Predictions for the future of upgrading40:40 - Performance implications of upgrading48:00 - Deployment options51:05 - Narwhal Technologies Picks: Rogue One (John)Top Coders Angular 2 cross-country workshops (Joe and John) Ng Conf (Joe) Toby Chrome plug-in (Lukas) The Cook, The Thief, His Wife, and Her Lover (Ward) Ng Cruise (Alyssa) Egghead.io (Alyssa) Newsfeed Eradicator (Charles) Echo Dot (Charles) Ethics in the Real World by Peter Singer (Victor)Special Guest: Victor Savkin. Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacyBecome a supporter of this podcast: https://www.spreaker.com/podcast/adventures-in-angular--6102018/support.
01:05:3115/12/2016
122 AiA Angular 2 Routing
1:20 - What is the Angular router? 4:20 - Router links 5:20 - Child routing 7:00 - Defining a router and a path 10:05 - Controlling browser history 11:05 - Push state versus hash state 15:10 - Style guides and best practices 16:45 - Configuring the routes 19:10 - Router guards 26:55 - Resolve guards 30:20 - Lazy routing and eager routing 38:30 - How to get started with routing Picks: Oakland Raiders (John) Fantastic Beasts and Where to Find Them (John) Rogue One (John) Catalyst by James Luceno (John) The Eagle Huntress (Ward) Evans Mill (Charles) Aaron Walker (Charles) NYC City Pass (Charles) Statue of Liberty (Charles) Ellis Island (Charles) Empire State Building (Charles) Ripley’s Believe It Or Not (Charles) 911 Tribute Center (Charles) Microsoft Connect Keynote (Charles) Javascript Jabber (Charles) iPhreaks (Charles) Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacyBecome a supporter of this podcast: https://www.spreaker.com/podcast/adventures-in-angular--6102018/support.
56:4908/12/2016
121 AiA Dependency Management for Angular Apps with GraphQL Uri Goldshtein
1:40 - Introducing Uri GoldshtienMeteor Development GroupApollo LibraryGithubTwitter6:00 -Intro to Graph QLhttp://www.graphql.com/Community page28:40 - Live demo of using Graph QL35:00 - Demo using example appsInstagraphBlog postsSpecial Guest: Uri Goldshtein. Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacyBecome a supporter of this podcast: https://www.spreaker.com/podcast/adventures-in-angular--6102018/support.
51:4201/12/2016
120 AiA Back End And Front End Teams versus Cross-Functional Teams
2:35 - What types of teams have we worked on?8:30 - Deciding what kind of team to hire14:25 - Issues and concerns with working on back end/front end teams19:00 - Troubleshooting21:00 - Measuring success with split and cross-functional teams25:35 - Benefits of full-stack teams28:45 - Hiring full-stack, front end, and back end31:05 - Hiring experts and specialists34:45 - Mobile teams36:05 - Viability of teams within React and Angular42:55 - The future of web developmentPicks: Doctor Strange (Joe) Hacksaw Ridge (Joe)Major League Soccer finals (Joe) React Native Radio (Charles) Ignite - Infinite Red (Charles) Frontend Masters (Charles) Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacyBecome a supporter of this podcast: https://www.spreaker.com/podcast/adventures-in-angular--6102018/support.
50:1924/11/2016
119 AiA Avoiding Common Pitfalls in Angular2
04:25 - Error message: “Unknown provider”6:00 - Error message: “Can’t resolve all parameters”10:00 - Mistakes from Angular’s framework12:55 - Should I be using relative paths?17:45 - Error Message: “Ng4 let customer end customer”19:35 - Error Message: “Component dashboard component is not part of any module”20:37 - Lazy loading and module errors33:10 - NgModule for data collection errors35:30 - No errors schema39:30 - Syntax errors and decorators45:25 - Forgetting to add a component to your template49:30 - Rating Angular 2’s error messages54:10 -Error Message: Object supporting error for NG456:30 - Mapping result errors1:05:00 - Words for the wisePicks: Artisanal Pencil Sharpening (Ward) Bob and Ray, “Most Beautiful Face Contest Winner” (Ward) Plunker (John) Jamba Juice’s Peanut Butter Chocolate Love Shake (Joe) Smashburger (Joe) Tesla Solar (Joe) Covert game (Joe)Doctor (Lukas) Legoland Discovery Center (Lukas) One Stop Nutrition shakes (Lukas) Bike Prank video (Lukas) Born to Win seminar by Zig Ziglar on Audible (Charles) MindMup2 (Charles)Devchat ConferencesDevchat WebinarsNgConf 2017Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacyBecome a supporter of this podcast: https://www.spreaker.com/podcast/adventures-in-angular--6102018/support.
01:18:0117/11/2016
118 AiA Joe Eames and Charles Max Woods Angular Journeys
2:15 - How Joe Eames got into Angular7:50 - How Charles Max Wood got into Angular12:30 - Being on Javascript Jabber15:00 - Hosting an Angular conference23:20 - Charles’ education and career in Rails34:35 - Joe’s current projectsNgConf 201737:10 - Charles’ current projectsJS Remote ConfUpcoming Remote Conferences40:25 - Getting into programmingPicks: Designated Survivor (Joe)Going to the dollar theater (Charles) The Daily Lasagna (Charles) Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacyBecome a supporter of this podcast: https://www.spreaker.com/podcast/adventures-in-angular--6102018/support.
46:4210/11/2016
117 AiA Hot Loading and Time Travel with Tero Parviainen
2:40 - Introducing Tero ParviainenNgConf Presentation: “Generative Art in Angular 2”WebsiteGithubBuild Your Own AngularJS ebook 4:10 - Hot Loading“Angular 2 Hot Loading with @ngrx/store and Webpack” article by Tero5:45 - Using @ngrx/store8:25 - How is Time Travel possible with reloading?13:40 - Playback17:10 - Backends and Side Effects21:05 - Overloading and discarding of your old application24:40 - Pressing F5 versus Time Travel26:40 - Using Breeze.js27:35 - Workflow setup29:50 - Tero Parviainen and MusicIn-C on Github34:55 - Using the process with NgRX and Redux37:20 - Learning code languages and assembling your toolkitPicks: Carmen Popoviciu’s talk “Neural Networks and Machine Learning: Building Intelligent Angular Applications (Lukas) RxJS free course (Lukas) Hello World using every design pattern (Ward) The 12 Week Year (Charles) JS Remote Conf 2017 (Charles) Angular Remote Conf videos (Charles) RxJS Operator Selector (Tero) Bret Victor “Inventing on Principle” (Tero) Ultimate Angular course platform (Lukas)Special Guest: Tero Parviainen. Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacyBecome a supporter of this podcast: https://www.spreaker.com/podcast/adventures-in-angular--6102018/support.
50:3903/11/2016
116 AiA Angular 2 Compiler with Tobias Bosch
02:20 - Introducing Tobias Bosch03:40 - What does the Compiler do?05:00 - Compiling in Angular 209:15 - Loading templates after using an Angular 2.0 Compiler10:30 - Just In Time and Ahead Of Time compilations15:40 - Advantages of the AOT approach17:40 - Hacker attacks19:45 - Dynamic scenariosComponent Factory Resolver21:35 - Functions of the Compiler: Tree shakingGoogle Closure Compiler25:50 - Angular 2.0 Compiler and end modules26:40 - AOT and sizing27:40 - Rollup bundles30:10 - Using RxJs32:00 - Router outlets and siblings34:40 - Plans for rolling out features for developersLucidchart37:40 - Motivations and driving forces39:20 - Rendering targetsPicks: Ship To Hawaii (Jules) TensorFlow (Tobias) Your Inner Fish by Neil Shubin book and the PBS Series (Ward) “Cross Site Request Funkery” talk by Dave Smith (Lukas) Professor Frisby's Mostly Adequate Guide to Functional Programming by Brian Lonsdorf (Lukas) Life Expectancy by Dean Koontz (Joe) NG Cruise (Joe) Source Map Explorer (John) Angular 2.0 Ultimate Workshop (rescheduled) (John) The 12 Week Year (Charles) AST Explorer (Joe)Enter the lottery to win the opportunity to buy a ticket to NG-Conf (Joe)Call for presenters for NG-Conf will open November 1st (Joe)Special Guest: Tobias Bosch. Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacyBecome a supporter of this podcast: https://www.spreaker.com/podcast/adventures-in-angular--6102018/support.
53:3727/10/2016
115 AiA Polymer and Web Components with Angular 2 with Rob Dodson
2:15 - Introducing Rob DodsonPolycasts with Rob DodsonA11ycasts with Rob DodsonTwitter2:35 - What are Web Components?5:00 - Using Web Components10:05 - Why material design hasn’t focused on Web Components11:55 - Making Web Components smaller14:45 - Standards of work18:10 - What is “Shadydom”?21:05 - Benefits of using Web Components and custom elements26:05 - Web Components and Angular 2.031:05 - Eventing and lifecycle models for Web Components33:55 - Testing Web Components35:30 - Benefits of using Polymer38:50 - Clearing up confusion between Polymer, polyfills, and Web Componentshttp://webcomponents.org/SkateJSPolymer Project41:20 - What does Rob Dodson do?Polymer Summit London 201642:40 - Seeing how Angular 2 and Web Components connecthttps://github.com/webcomponents/angular-interophttps://github.com/robdodson/angular-custom-elementsCustom Element Inter-op with Angular 2 by Danny BluePicks: Men Explain Things to Me by Rebecca Solnit (Ward) Angular Remote Conf videos (Charles) Web Components Remote Conf (Charles) Elon Musk: Tesla, SpaceX, and the Quest for a Fantastic Future by Ashlee Vance (Rob) Stranger Things (Rob)Special Guest: Rob Dodson . Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacyBecome a supporter of this podcast: https://www.spreaker.com/podcast/adventures-in-angular--6102018/support.
51:1420/10/2016
114 AiA Life Lessons from Angular Air - Jeff Whelpley - Angular Remote Conf
1:50 - Introducing Jeff Whelpley at Angular Remote ConfTwitterGithubAngular Air3:40 - Working on Angular Air6:25 - Lessons from Ben LeshEpisode Link8:20 - Lessons from Gleb BahmutovEpisode Link11:50 - Lessons from Aaron FrostEpisode Link14:00 - Lessons from Shai ReznikEpisode Link16:50 - Lessons from Joe EamesEpisode Link19:10 - Lessons from Uri Goldshtein21:40 - Lessons from Wesley Cho and Jesus RodriguezEpisode Link25:40 - Lessons from Brad Green28:50 - Lessons from Igor Minar31:40 - Lessons from Victor Savkin and Dan AbramovEpisode Link34:30 - Lessons from Amy Knight36:05 - Lessons from Patrick Stapleton39:00 - Lessons from Jamie King and Kyle NewmanFanboys movieEpisode LinkSpecial Guest: Jeff Whelpley. Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacyBecome a supporter of this podcast: https://www.spreaker.com/podcast/adventures-in-angular--6102018/support.
46:2913/10/2016
113 AiA Angular 2 in a .NET World
1:25 - Introducing Marcel [email protected]:15 - Introducing Steve SchmittIdeaBladeGithub4:00 - Why replace a MVC with Angular 2.0?6:30 - Transitioning platforms9:50 - Projects on Angular 2.014:50 - Visual Studio and other tools for Angular 2.024:50- Debugging27:30 - Using Webpack in Visual Studio30:20 - Structuring an application in .Net34:20 - Managing app data39:20 - Managing changes49:15 - Examples of Visual Studio working with Angular 2Picks: Silicon Valley Code Camp (Ward) DEVintersection conference in Las Vegas (Ward) Brian Lonsdorf - “Oh Composable World!” Keynote speech (Lukas) Michael Vey Series by Richard Paul Evans, specifically book six: Fall of Hades (Charles) myVEGAS Slots iPhone game (Charles) Temphire Angular 2.0 Examples (Marcel) Google Trips (Marcel) 8 Days A Week Beatles documentary on Hulu (Steve)Special Guest: Marcel Good. Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacyBecome a supporter of this podcast: https://www.spreaker.com/podcast/adventures-in-angular--6102018/support.
57:2206/10/2016
112 AiA Upgrading from Angular 1.x to Angular 2
2:20 - Should everybody update to Angular 2?3:50 - Defining migrationNGUpgrade6:30 - Is migration worth it?12:30 - Schedule for rewriting large and small apps17:10 - Business versus Technology: Rewriting apps19:00 - Process for migrating from Angular 1 to Angular 230:00 - Migrating routers40:00 - Module loading40:30 - Role of testing in a migrationJoe Eames’ Pluralsight Course45:05 - Transferring Angular 1 code to Angular 2Picks: Eat The World show on Amazon Prime (Lukas) Pluralsight course on migrating from Angular 1 to Angular 2 (Joe) The Last Starfighter (Joe) Shannara series by Terry Brooks (Charles) Webinar Jam Studio (Charles) Five Mistakes That Are Keeping You From Getting Hired Webinar (Charles) Angular Remote Conf Archives (Charles) Angular 2 Workshop (Joe) Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacyBecome a supporter of this podcast: https://www.spreaker.com/podcast/adventures-in-angular--6102018/support.
58:1529/09/2016
111 AiA Redux and Angular 2 with Nate Murray
1:50 - Introducing Nate MurrayTwitterBlogFullstack.io TwitterNg-book 2 download2:45 - Redux and Angular 25:45 - Using Redux with apps16:20 - Practical applications with Redux24:35 - What problems does Redux solve?28:00 - Mutable state31:30 - Challenges in Redux32:25 - Tradeoffs using NgRxDan Abramov’s Github43:15 - Flow changes in Redux45:40 - Redux and observables52:45 - Simplifying data structures without using ReduxBreeze.jsPicks: Alexander Hamilton by Ron Chernow (Ward) “Out of the Tar Pit” by Ben Moseley and Peter Marks (Lukas) RxJS Overview (Lukas)Fishing and fish frys with family (Charles) Using Angular 2 Patterns in Angular 1.x Apps by Lukas Ruebbelke (Nate) Building Angular 2 Applications with Immutable.js and Redux by Houssein Djirdeh (Nate) “A Cambrian and Explosion of Consensual Realities” by Venkatesh Rao (Nate)Special Guest: Nate Murray. Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacyBecome a supporter of this podcast: https://www.spreaker.com/podcast/adventures-in-angular--6102018/support.
01:02:0422/09/2016
110 AiA Special Angular 2 Final is Released
2:00 - Introducing Angular 2.0!7:30 - Release plan for updates11:25 - Angular 3.0?13:50 - What to expect from 2.016:15 - Angular within the Javascript world18:00 - Updates to Angular’s Ecosystem18:45 - Patch releases and docks19:55 - Why did Angular 2.0 take so long to come out?24:40 - Top three things to know about Angular 2.026:15 - CLI, AOT, and Lazy Loading30:22 - Angular 1.0 to 2.036:05 - Promoting Angular 2.038:25 - Plans for NG Upgrade39:40 - Impact of AngularPicks: Stranger Things (Kara) Three Body Problem by Cixin Liu, translated by Ken Liu (Brad) Hamilton (Ward) Starship’s Mage by Glynn Stewart (Joe) Gulp (John) Rogue One (John) Angular Connect (Lucas) Maggie Appleton (Lucas) Get to Work Book (Lucas) Angular 2.0 Workshop with John Papa and Dan Wahlin (Lucas) Angular Remote Conference (Charles) Webinars (Charles) Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacyBecome a supporter of this podcast: https://www.spreaker.com/podcast/adventures-in-angular--6102018/support.
50:1315/09/2016
109 AiA Ionic 2 with Mike Hartington and Justin Willis
Angular BootcampAngular Remote ConferencePanel: Joe Eames, John Papa, Jules Kramer, Lucas Reubelki, and Charles Max Wood1:50 - Introducing Mike Hartington and Justin WillisMike’s GithubMike’s BlogMike’s TwitterJustin’s TwitterJustin’s Github3:00 - Updates to Ionic Creator5:00 - Choosing between Ionic 1 or Ionic 29:15 - Updating Ionic with Angular’s changes11:25 - Using Ionic CLI to create projects13:00 - Overlap between Angular CLI and Ionic CLI15:20 - Progressive web apps vs Ionic18:35 - Ionic with PWA’s and Ionic with Cordova20:05 - What is a PWA?22:30 - Dispelling the rumors around Ionic and CordovaUntappd social drinking appSworkit workout app24:50 - Gaming and Ionic26:15 - Lessons learned from beta testing Angular 229:15 - Limitations to Cordova31:10 - Coding and Platform34:50 - Using RXJS and Promises36:50 - Animations37:40 - Testing Story for IonicPicks: Ionic extension for VS Code (John)Gene Wilder and Young Frankenstein (Joe) ServiceWorker Cookbook (Justin) Reddit DIY (Mike)Special Guests: Justin Willis and Mike Hartington. Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacyBecome a supporter of this podcast: https://www.spreaker.com/podcast/adventures-in-angular--6102018/support.
43:1508/09/2016
108 AiA Web Workers in Angular with Torgeir Helgevold
1:50 - Introducing Torgeir HelgevoldBlogGithubTwitter3:05 - Defining and using Web Worker8:55 - Web Worker and value communication between threads15:05 - Booting an app in Web Worker vs a browser20:15 - Web Worker and mobile browsers23:55 - Reality and perception of running apps on mobile devices29:00 - Multi-threading and Web WorkersPicks: Angular NgModule Doc (John) Tinker Crate (John) Angular 2 Router by Victor Savkin (Lukas) “Out of the Tar Pit” by Ben Moseley and Peter Marks (Lukas) Hardcore Henry (Joe) Vid Angel (Joe) Angular 2 Class with John Pop and Dan Moleen. Use code “AIA” for $200 off registration (Joe) Angular 2 Gitter chat (Tor)Special Guest: Torgeir Helgevold. Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacyBecome a supporter of this podcast: https://www.spreaker.com/podcast/adventures-in-angular--6102018/support.
12:3301/09/2016
107 AiA NgModule
1:55 - Public Service Announcement: Moving past RC54:40 - Advice for an easy transition9:40 - Modules and smaller apps14:15 - Process for moving folders and modules16:30 - Sharing code between projects19:40 - Ahead Of Time Compiler 27:00 - Non-Javascript back-end systems29:25 - Functions of the NgModule31:00 - Components and TemplatesJavascript Jabber episode on Rollup.js36:40 - Providers38:50 - Ordering Components41:50 - Building a small app with no use for modulesPicks Stranger Things on Netflix (Joe) Game of Thrones (Jules) Angular 2 Class with John Pop and Dan Moleen. Use code “AIA” for $200 off registration (Joe) Gboard for iPhone (Jules) Factorio game (Steve) Electric Knife Sharpener (Ward) IdeaBlade (Ward) Freshdesk (Charles) Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacyBecome a supporter of this podcast: https://www.spreaker.com/podcast/adventures-in-angular--6102018/support.
53:3725/08/2016