The Angular Team at AngularMix
Several members of the Angular Team were able to attend AngularMix last week. All of the conferences (including ng-conf and Angular Connect) that the Angular Team attends are organized and run by the community, and AngularMix was unique this year in the organizers’ focus on Angular at scale in the Enterprise.
Angular Labs
During the conference we announced a new idea called Angular Labs. The goal of Angular Labs is to more clearly communicate the balance between new explorations by the team, with the normal stability that our community has come to expect since the release of Angular in September of 2016.
There are three current initiatives that are now labeled with Angular labs:
- Schematics — The Angular DevKit / CLI team’s efforts to build generic tooling for transforming your code. Schematics can be used to scaffold out parts of your application like
ng new
orng generate
, but can do a lot of other very cool things, such as querying backend APIs and generating code based on what they find. - Component Dev Kit — The Angular Material team has been working hard to extract some of the core solutions to common component development problems, and to expose them via the CDK. The CDK includes extensible tools for component authors, such as mechanisms that create and manage overlays, in a way that works well with Angular and also supplies a high degree of accessibility and quality.
- ABC — The ABC (Angular + Bazel + Closure) project encompasses our efforts to add Bazel and Closure as high quality tools that you can use to build high quality Angular applications.
We also announced one new Angular Labs project:
Angular Elements
Angular Elements will (when it’s ready) allow you to extend the reach of your Angular code. By allowing you to package your Angular components as Custom Elements, we hope that this will add the capability to leverage your Angular efforts outside the context of an Angular application.
Many Angular developers are building applications today, but want to provide widgets and components that can be embedded in applications by other developers, on other teams, and even using other technologies. Angular Elements will make this possible and straightforward.
Session Content
At the event, the team gave several talks that you can access right now online:
- Keynote Session by Brad Green
- ngUpgrade by Miško Hevery
- What’s up With the Web? by Stephen Fluin
- Software Engineering as an Engineering Discipline by Igor Minar
- Advanced Angular Concepts by Alex Rickabaugh
- Angular Labs: A Glimpse at Angular Elements by Rob Wormald
- Angular CDK: The Component Dev Kit by Jeremy Elbourn
- Angular with Bazel and Closure by Alex Eagle
Panel with the Team
At the end of day 1, the team hosted a panel. During the panel, there were some great questions from the audience. Here some more detailed responses to a few of the questions.
“I started with an Angular seed project, how do I start using the CLI?”
Angular code is generally very portable between different seeds and build systems. As long as you don’t have a lot of custom SystemJS or Webpack code, you should be able to move your application into the CLI by following a relatively straightforward process. We have this process documented on the CLI wiki:
https://github.com/angular/angular-cli/wiki/stories-moving-into-the-cli
“How do I contribute?”
There are tags on each of the Angular repositories in GitHub that are designed to help individuals get up to speed faster with Angular or any of the subprojects.
- https://github.com/angular/angular/labels/hotlist%3A%20community-help
- https://github.com/angular/angular-cli/labels/help%20wanted
- https://github.com/angular/material2/issues?q=is%3Aopen+is%3Aissue+label%3A%22good+for+community+contribution%22
Beyond working on issues, you can also help the community by building and sharing your own libraries for Angular to share your solutions to any problem that you may face. Finally, the addition of Schematics to the DevKit means that you can create your own custom Schematics and share them to help the community build great things faster.
“I’m facing performance issues with ngUpgrade, what should I do?”
We talked about this directly during AngularMix. Watch Miško Hevery’s talk on ngUpgrade to learn all about the current situation with ngUpgrade and combining AngularJS and Angular.
We’re working on documenting this further, but by restricting the way AngularJS and Angular interact, you can ensure that your AngularJS code doesn’t trigger any Angular change detection cycles. When using this mode for faster performance, AngularJS can’t consume Angular Services, and Angular can’t consume AngularJS Components.
“What is the status of Angular Material and Flex Layout when it comes to server side rendering with Angular Universal?”
Angular Material should now be compatible with Server Side Rendering with Universal. If you encounter any issues, let us know by filing an issue on GitHub!
Our Flex Layout implementation operates at runtime by looking at the viewport size. It should be a no-op on the server. In the upcoming v5 release of Angular, we’ve added Domino to our platform-server implementation to improve the overall flexibility of Angular Universal to run more of your code on the server.
“When will Angular Material / the CDK be stable?”
Any date would be subject to change, so let’s just say “real soon now”. :)
Don’t wait for a conference to reach out to us!
Conferences are a great way for you to interact with the team, but you shouldn’t wait for a conference to get involved with the community. We have a fantastic group of over 750 different meetups all over the world talking about Angular. As Brad Green is a fan of saying, you can sit with us!