I'm Alain Chautard, Google Developer Expert in Web Technologies / Angular, ask me anything!

Alain Chautard
Aug 8, 2018

I'm the man behind angulartraining.com where I blog a few times per month. I also co-organize the Google Developer Group chapter in Sacramento, California. I have published a few video courses, speak at conferences, live and breathe web development, and teach Angular as well as other web technologies for a living.

Curious about where the web is going? What about progressive web apps? Needs some insights on web development frameworks and the direction the industry is taking? Ask me anything!



What is the Vibe of this AMA? What is AMA Vibe?

This AMA has finished, no more comments and questions can be posted and votes submitted to those. Check other similar AMAs here or host your own AMA!

Conversation (58)

In three easy steps and under a minute you could be hosting your own AMA. Join our passionate community of AMA hosts and schedule your own AMA today.

Let's get started!

What prerequisites does one have to meet before taking your courses about Angular?
Aug 10, 3:34AM EDT0

I would say that knowing a little bit of Javascript and HTML helps. Being familiar with a langugage such as Java or .Net also helps understand Typescript concepts.

Last edited @ Aug 10, 11:59AM EDT.
Aug 10, 11:51AM EDT0
What are a few sites you admire from web development perspective and why?
Aug 8, 8:37PM EDT0

That's a very good question, and actually fairly difficult to answer, because when a website looks well designed from a UI perspective, it doesn't necessarily mean that the code behind it is beautifully written.

Furthermore, we can't really access the original source code to judge it from a web development perspective. As a result, I would say that as a rule of thumb, I would admire a web site developped with very little code and almost no external library. Minimalism would be the main quality I'd be looking for.

Aug 10, 11:55AM EDT0
What are the web application security risks that a web developer should avoid while doing development using AngularJS?
Aug 8, 8:27PM EDT0

The main thing that people forget to do is to build their code for production. And when you fail to do so, you're basically publishing a bigger than needed build to production, which is both slow and unsafe, as anyone can read the original source code.

People new to Javascript tend to forget that their code is going to run in the browser, an as a result anyone can access that code and read it. Because that code is "public" in many ways, it is very important to obfuscate it and minify it in order to minimize the risks.

Another good practice (for the same reason) is to have the bare minimum of business logic in the browser, and isntead have the server code perform any business-related task.

Aug 10, 11:58AM EDT0
How did you manage to survive at the beginning when you started at Google?
Aug 8, 7:58PM EDT0

I've never worked at Google so that was easy :-) I'm a Google Developer Expert, which is a title given to experts that are not working for Google.

Aug 8, 8:04PM EDT0
How is AngularJS compilation different from other JavaScript frameworks?
Aug 8, 6:25PM EDT0

First, AngularJS refers to Angular 1.x, which didn't need any compiler as it was pure Javascript.

The current version of Angular is 6.1, which is written in TypeScript, and requires compilation to Javascript. This is different from other frameworks that rely on Babel to "compile" ES6 Javascript to ES5 Javascript, which is merely a translation of that code rather than actual compilation.

On the other hand, the Angular compuler performs what is called tree-shaking, a feature that removes as much dead code as possible from the end deliverable for production. This means that static code analysis is performed to remove any code that is actually not used by the app. As a result, performance of Angular applications is greatly improved.

Aug 8, 7:48PM EDT0
Which are the common ways of communication between modules of your application, using core AngularJS functionality?
Aug 8, 6:04PM EDT0

in Angular, communication is easily achieved via services, since services are instantiated as singletons that can act as a cache for data to be shared between different modules of your application.

Another increasingly popular framework to achieve this is NgRx, Angular's implementation of Redux, which allows to translate the entire state of your application into reactive code. That way, components can easily susbcribe to state updates and react accordingly when changes happen, thus achieving communication between different modules.

Aug 8, 8:23PM EDT0
What exactly is a Google Developer Expert? How did you become a Google Developer Expert?
Aug 8, 2:10PM EDT0

Good question! Google Developer Expert is a title given by Google to experts in the industry. The goal is to reward these experts for their contributions in a given field, like web technologies, marketing, Google Analytics, etc.

Such contributions could be open source code, public speaking, basically anything that the expert does to help other people adopt/learn that technology easily.

I became a GDE because I published several video courses on Angular, I organize the Sacramento Angular meetup group, and I speak at conferences as well.

Aug 8, 2:48PM EDT0
Is there an upcoming event where you will be speaking? If so, What is it and what subject or topics will you be covering in this event?
Aug 8, 11:16AM EDT0

Yes, I'll be speaking at GDG Sacramento tomorrow, and I'm going to talk about RxjS Observables: https://www.meetup.com/gdgsacramento/events/253495372/

Aug 8, 12:45PM EDT0
What is data binding in AngularJS and What is the difference between one-way and two-way binding?
Aug 8, 4:45AM EDT0

Data bindings are a way to connect your data to UI elements in the HTML, and when data gets updated over time, the data binding automatically reacts by re-rendring the HTML that has to be refreshed.

One-way data bindings refer to bidnings that would only work in one direction. For instance:

Data changes => HTML get updated

or the opposite:

User enters data in the HTML => Data gets updated in javascript.

On the other hand, a two-way data-binding will keep the HTML and the data in sync no matter which "side" gets updated:

HTML changes <=> data changes.

Aug 8, 8:20PM EDT0
What are a few personal web projects you've got going on?
Aug 8, 2:56AM EDT0

The most recent one is http://8020running.app, a simple Progressive Web App built with Angular and Bulma. It's an app I use to plan my workouts as I prepare myself for a half-marathon race.

I'm also building a video course on Progressive Web Apps that is going to get published in September on http://www.angulartraining.com

Aug 8, 8:01PM EDT0
What's your favourite development language and why? What other features do you wish you could add to this language?
Aug 8, 1:11AM EDT0

I used to do a lot of Java work, but these days I work with Angular much more and as a result TypeScript became one of my favorites. 

The reason why I like it is because it is super flexible and allows for different coding styles. Another huge benefit of it is that it compiles down to ES5 Javascript, which can run in any browser. So you can use modern features in TypeScript that will work even wih older browsers because the TypeScript compiler takes care of that, which is fantastic.

Aug 8, 12:41PM EDT0
How long does it take to cover your online course Getting Started With Angular? What do you teach in it? Do you need previous knowledge of Angular? What is your approach?
Aug 6, 9:38PM EDT0

The video course itself is 2 hours and 32 minutes long. It probably takes a good 4 hours to go through it and understand the concepts.

No prior knowledge of Angular is needed as the course goes through all of the basics: What Angular is meant to do, how to use it, and we build examples step by step during the course.

Aug 8, 3:09PM EDT0
Where do you hold your Sacramento Angular Meetups and what kind of topics do you address in these meetings?
Aug 6, 9:45AM EDT0

These meetups happen at the VSP HQ offices in Rancho Cordova. We meet there monthly and cover any topic relevant to web development in general, and Angular in particular.

For instance, our next meetup is scheduled for August 9th and I'll be speaking about RxJS Observables: GDG Sacramento August 2018 meetup

Aug 8, 12:44PM EDT0
How would you define the target market of your company?
Jul 21, 10:21AM EDT0

Angular Training helps web development teams get started and become fluent with the Angular framework. As a result, any company where developers are new to Angular is in the target market for my services.

Aug 8, 7:57PM EDT0
What is your role as the organizer of the Google Developer Group chapter in Sacramento?
Jul 21, 6:30AM EDT0

As a co-organizer, my role is to find speakers for our monthly meetups, or even prepare a talk and deliver it at the meetup when we can't find other speakers.

Other duties include finding sponsors, announcing and promoting our talks, as well as planning our events.

Aug 8, 7:40PM EDT0
What examples can you provide with regards to the kind of apps that should use Angular’s framework?
Jul 21, 4:49AM EDT0

Angular is made to build single page applications. Any web application that you can think of that has a "single page" where everything happens, such as Twitter, Gmail, Facebook, etc. is a perfect candidate to be built with Angular.

Aug 8, 7:42PM EDT0
How do you think people will experience the mobile web in the future and what will be the role of PWA in this future?
Jul 20, 11:44PM EDT0

Everything is connected these days, and the web goes to places that we didn't event think of a few years ago: Watches, cars, glasses, thermostats, light bulbs... Everything can be connected!

Of course, not all of these devices have displays, but for those that do, PWAs are going to be an increasingly popular platform as a standardized way to bring consistent experiences no matter the device.

Aug 8, 8:16PM EDT0
Are progressive web apps built exclusively for mobile sites?
Jul 20, 7:10PM EDT0

No. A progressive web app is a regular website that is enhanced to play well on mobile devices as well. As a result, the user experience is consistent on all devices and all platforms, whether that platform is a PC, an iPhone or an Android tablet for instance.

The app itself is the same no matter the platform.

Aug 8, 7:38PM EDT0
Can you describe the types of consulting, mentoring and training options that your company offers?
Jul 20, 3:56PM EDT0

Sure. Training usually happens on-site at the client's office where we sit in a conference room for a few days and work full-time on learning everything there is to know about Angular.

This training sometimes happens remotely too, when teams are in differents countries or time zones.

Consulting and mentoring usually happen through code reviews and direct questions from developers to me. Some clients will want me to code the hardest parts of their application, others will want me to architect everything, while others won't even ask me to write a single line of code.

In the end, I'm always flexible and will work in the way that works best for my clients. 

Aug 8, 8:09PM EDT0
What is the performance lift from a progressive web app? Is it faster than a responsive website?
Jul 20, 5:56AM EDT0

There is no difference, a progressive web app is a responsive website. The only thing that makes a PWA is the addition of a manifest file that brings additional native features like the ability to install the app on the home screen of a smart phone, have a splash-screen when loading and have the application load full-screen rather than in a browser window.

Aug 8, 7:56PM EDT0
About #TechAMA

Your source for anything and everything in the world of technology.  From cellphone reviews to the Oculus Rift. You won’t want to miss one AMA Event here!

Interested in participating? Our user-friendly channel makes it possible for anyone to create an AMA on just about any imaginable topic that’s relevant to technology--and you. Just click the button on top right called CreateAMA.

The #TechAMA channel is owned and operated by AMAfeed, LLC.