Hi, and welcome to Google I.O. We hope that you are enjoying the show so far. I'm Mark from the Angular team, and my colleague M&I are here to tell you all about the state of Angular. Angular is a framework designed to support developers as they build scalable web applications, whether it's scaling your product as user demand increases or scaling your teams to meet the growing technical needs. Angular has been there and will continue to be there for you and your teams. Our team has been hard at work delivering great features to support developers all over the world building scalable performance applications. Recently, we've completed some major projects that we're very proud of. I can't wait to share more, so let's get started. We rewrote from the ground up Angular's runtime and compiler. Apps are now powered by the better, more efficient IV rendering engine. IV offers numerous advantages. There's improved type checking and error reporting, better debugging, smaller bundle sizes, and so much more. Let's dive into some of the enhancements made possible by IV. We wanted to give developers even better integrated tooling when authoring Angular code. So we introduced the IV-powered Angular Language Service plugin for VS Code. It boosts developer productivity by providing type checking, syntax highlighting, and error reporting while you're writing code. This level of integration was only made possible by the IV compiler. And with more than 3.1 million installs, we think that it's safe to say that, well, developers are enjoying it. IV also enabled us to build the Angular DevTools browser extension, giving developers more detailed insights into an Angular app at runtime than ever before. Now, developers can get data for individual change detection cycles. This provides the type of information required to build and maintain performance production applications. While Angular DevTools is already in a great position, we think that we can do more. Thus, the team is working on adding Firefox support and debugging dependency injection. Along with better tooling, IV also makes Angular faster and more efficient. Let me explain. When IV became the only Angular compiler at Google, we saw internal applications reduce resource usage by 90% during build times. Angular apps also saw a reduction of 30% in bundle size. One of our top goals is to provide an evergreen solution. And this was true for IV as well. To accomplish this, we migrated the entire ecosystem with automated migrations to ensure that we didn't leave any teams or their products behind. This was a challenge that at times felt like we were changing the engine of a car while it was still running. Now that IV has landed, we can continue to build the future of Angular. Speaking of which, let's talk about where Angular is going next. Here on the Angular team, we've heard lots of feedback from the community, and we've been in deep discussions about what's next for Angular. We believe that in order to serve the most developers, we have to create a simpler, more frictionless Angular for existing developers and those new to the framework. We have a pretty good idea where to start and we think that you're really going to like this change. Meet standalone components, a new, simpler way to build components in Angular. Building components is a core part of the Angular developer experience. Right now, building components requires extra configuration. You have to create the component and then ensure that it's imported in the correct NG module. This means that developers have to understand multiple concepts before building an application. We want to improve this part of the developer experience. Standalone components are designed to simplify application building and streamline the steps to getting started. Let's take a moment to investigate the new API. In the component typescript class, we import the dependencies we need for our component, for example, other components, modules, and pipes. Next, we add the standalone property to the component metadata. This allows us to bootstrap our component without an NG module. We then update the imports property of the component metadata to reference our dependencies. Now, our component is ready to be used in our application. We're working hard to polish this new API to ensure that it can integrate seamlessly with your existing code in a backwards-compatible way. There's more to the simpler Angular story. We're also creating an all-new, modern, getting started journey for developers new to the framework. This new guided path in the documentation will include the most important Angular concepts needed for developers to start building new, exciting applications. We're so thrilled about what's to come and we can't wait for everyone to try it out. We're not stopping there with updates to the documentation. We're making other changes to the documentation that will help ensure that the content is a resource to light a path forward for your Angular journey. We're revamping guides, API references, examples, and more. Angular is an opinionated framework with best practices built in by default. We've been proudly serving developer communities with this focus for some time now. Conformance is all about building in strong defaults and best practices to help developers build wonderful, performant applications. This next initiative fits right in line with those strong defaults. We're actively building support for typed forms in Angular templates. This is the number one most requested feature and we're close to making it a reality. Developers will be able to build complex, even nested forms in a safe, backwards compatible method which supports the incremental migration of your applications. What's more is that this feature leverages type checking as a best practice. We want to make sure that the adoption of this new feature is smooth for everyone. So we're testing it on Google's 2,500 plus projects. Let's check out some example code to find out more. Type forms allow form groups to throw compile time errors based on common problems like undefined properties. In this example, the CAD form group doesn't have a defined property called email. Now developers can find this error while writing code and not during runtime where users may come across this error causing unexpected behavior. We think this is a better experience for everyone involved, developers, and users alike. There are more types of errors that we can surface with typed forms. We can count on type checking for existing properties of a form group as well. The live's property is a number but the code attempts to call the substring method which is invalid for form types. Again, the best time to find a problem like this is during compile time. Paired with the TypeScript language service, developers will be treated to error highlighting to help quickly identify the problem. Just as we've seen type forms highlight potential problems with undefined properties and with type checking, we can also expect it to catch errors with missing properties. This example demonstrates the issues that arise when a value of a form group is attempted to be set with an object literal that's missing properties defined in the form group's creation.  Just imagine how your experience with Angular will improve as these features and more land in the future. But this is only a small preview of what's to come. Emma is going to share even more about Angular and Angular Future with you right now. Emma, you're up. Thanks, Mark. You're right. One of Angular's strengths is its ability to scale. I'm Emma from the Angular team. Let's talk about scaling Angular for applications of all sizes. For new developers, we focus on a simpler Angular. As a solo developer, we want to take care of the hard stuff to support you in quickly building your vision. The Angular command line interface, or CLI, makes getting started as easy as typing ng new. Create new components quickly and make use of simplified standalone components or single component Angular modules to build fast. You provide the idea and we'll provide native solutions for all the things you don't have time to think about, like routing and forms. I MissMyCafe.com relies on provided Angular material components and built-in accessibility to go viral and provide a virtual cafe experience for over 1.7 million lifetime users. For startups and small teams, Angular establishes best practices. The Angular language service, a built-in code editor tool, ensures that developers write consistent code. Strong typing and tooling allows developers to catch errors prior to deployment. As your project starts to scale, we provide out-of-the-box solutions for common functionality like internationalization and progressive web apps to reach a more global audience. Coffee table talks uses Angular's built-in best practices and internationalization to grow with their podcast fan base. Angular is opinionated, which means all apps follow a familiar pattern and ecosystem. One of the things I love to hear is I can open a project and know exactly what I'm looking at. As projects scale, we understand that debugging becomes trickier. Angular DevTools supports debugging and profiling performance to keep your app's lifecycle running smoothly. And don't forget, every PR we merge into Angular is tested against all of Google's monorepository first, ensuring that we deliver backwards compatible features and migration schematics tested against many edge cases. As your team grows, Angular makes it easy to onboard new developers. ClickUp uses Angular to scale quickly and confidently for over 800,000 teams and millions of users worldwide. Angular helped this series C company with a $4 billion valuation meet the global demand for their scalable productivity platform that flexes to the way people want to work. As your users scale, the framework scales with the increasing complexity of your application. We are invested in research and development guides for monorepositories and micro-frontends as we partner with large-scale businesses to support their growing teams. How can build stay fast even as the team grows? And what does improved team autonomy look like? At this point, we're still discussing, but we're happy to be having these conversations and look forward to sharing what we learn from them. Firebase uses Angular at scale with over 1.4 million lines of code, all while upholding high-code quality with linting and testing, while keeping build times low. No matter the size of your application, we want to provide a path to the latest version of Angular. The Angular CLI's ngUpdate command unlocks all that the newest Angular has to offer. Let's take a look at how we prioritize the application updating journey and backward compatibility of Angular. Many new features are no op as they come out of the box to all projects that update, or their small developer experience-driven featureettes. Our goal is to deliver these changes with a minimal transition cost. Update.angular.io maintains a record of our recommendations for how to move your app forward with clear bite-size steps. So what featureettes are on the horizon? We release features as they're ready, which means something as revolutionary like standalone components can be in a minor so long as it meets our rigorous testing and breaking change requirements. Angular wants to enable developers to build for everyone. In addition to our set of accessibility tools we offer together with static checks and the component development kit, Angular's newest version will introduce streamlined management of your app's page title. This built-in router feature allows developers to define unique page titles, more simply, tackling a common accessibility issue in web frameworks. Extended diagnostics allow code editors to warn developers of common mistakes before you deploy to production. This provides an extendable framework for continuing improvements in developer productivity. Catch when knowledge coalescing is applied to non-knowlable values and find when a template has a banana in a box error, all within your code editor. In addition to the latest RxJS, TypeScript, and ES2020, Angular's newest version introduces standardized arguments parsing to ensure the Angular CLI is consistent and provides better output. This also introduces two new commands, NG Analytics, a better way to control and print analytics settings, and NG Cache, a way to control and print cache information directly from the command line. In addition to these feature ads, we're continuing to partner on innovation and exploration of the web. The team has had the wonderful opportunity to partner with Chrome's Project Aurora to help Angular improve user-centric web performance metrics. As a result of this partnership, Angular saw a 110% improvement in their core web vital score. This means faster page loads and a better user experience for end users for all Angular applications. Currently, Angular implements destructive hydration. The second part of this year will spend time investigating hydration. Our focus is on further improving the user experience and performance of all applications and utilizing hydration to further innovate in that space. We're committed to moving the framework forward while providing a backwards compatible experience. We'll keep the community posted on our updates, so make sure you follow us on social media and keep an eye on our open requests for comments. Finally, Better Together is our latest partnership to provide a more complete development experience for Angular applications with the power and resources of Google Cloud, Firebase, TensorFlow, and Bazel. Interested in what else we're working on? Our public roadmap means you have a direct vision into our prioritization. Requests for comment and GitHub discussion are also a great resource for checking the status of current projects. Excited about everything we just covered? Us too. There's never been a better time to be an Angular developer and we're excited about moving the web forward together. Make sure to follow us on Twitter and YouTube and head to angular.io to learn more about joining the party. Thank you.


Good afternoon everyone and thank you so much for being here. I'm Councilwoman Tamika Isaac Devine your current Mayor Pro Tem and I want to welcome you to the 11th annual Together We Can Read press conference. This is a great way to celebrate National Reading Month which is recognized in the month of March. I want to thank everyone first of all for being here and participating in this 11th annual day. This is a complete labor of love by the City of Columbia. We have been doing this it's hard to believe 11 years but when we started this it was an opportunity for us to partner with our great local school district, Richmond School District 1 and an opportunity to bring community leaders into each and every third grade classroom in Richmond 1 in order to not only share the love of reading with our students but also to interact with them and show them the positive role models that we have in this community and it has been a lot better than we could have ever hoped 11 years ago. Over the last 11 years we have directly enriched the lives of over 22,000 Richmond 1 school children and approximately 1,300 guest readers and that is the direct implication. That's not even to mention the number of students that we've touched when these kids go home and they share their book with their siblings and their family members and their other relatives so we do know that this program has touched thousands and thousands of kids and we're looking forward this year to reaching even more. During the annual reading day in March, community leaders from across the Middle East go into every single third grade classroom in Richmond 1 and this engagement sparks an interest in reading and we also leave with every third grader their own copy of the book that is selected for the year. We value our partnership with Richmond School District 1 and over the 11 years we could not have done this without their leadership, their participation and their enthusiasm. We also could not do it without community leaders like the ones that have standing with me and there are a hundred more that could not be here this afternoon but are looking forward to joining Richmond 1 tomorrow morning at 9 a.m. as they read to the students. We have nonprofit leaders. We have local business leaders. We have neighborhood association leaders. It runs the gamut and not only have we been able to introduce these leaders into our schools and get them interested in working with the schools but over the years we have learned that our readers sometimes it's the first time if they don't currently have students or children or grandchildren in the schools might be their first time in the school but it's not their last. We've had together we can read volunteers become volunteers at the school lunch buddies and mentors in Richmond 1 schools and so the impact of this program has been tremendous and so it is indeed my honor and privilege to announce this year's books. We always try and kind of keep it a secret until we get to this point. So this year this year selection and thanks to you know the USC Press University of South Carolina has also been a partner through this in the last few years they have helped us select the book and we're excited again that this year's book is by Martha Dunski illustrated by Monica Wyrick and it's called Fire and Forgiveness A Nun's Truths with General Sherman. And so this book we always want to select a book that has a South Carolina sometimes a Columbia focus so that the kids not only are getting to expand their minds through reading but they also get to learn something about the community and city that they live in. And so this book is no different. This book Fire and Forgiveness A Nun's Truths with General Sherman is about is based on first hand personal accounts of the burning of Columbia. It teaches about making peace with a spiteful classmate. It uses a spiteful classmate and making peace with the spiteful classmate as an opportunity to encourage and teach children about peace about loving their neighbors and about forgiveness and we think so important in this day and age where there's so much negativity there's so much going on and our kids are learning and seeing what goes on when people are spiteful and when they're not forgiving and so we're going to use this look not only as an opportunity to encourage their love of reading but also to spur a conversation about love and forgiveness and working with one's neighbor. So again tomorrow Tuesday March twenty six our reading day every single student will get read this book and they will get their own copy of the book to take home and add to their home libraries. So we are excited about this book. We're excited about reading day and most importantly we're excited about this continuing partnership with Richland One. So at this time I would like to introduce my other half the chairman of Richland One School Board Mr. Jamie Devine to speak on behalf of the school district. Mr. Devine. Thank you Councilwoman Devine. At this time I just want to say thank you all so much for coming out. This is the eleventh year of together we can read and again on behalf of my colleagues Ms. King and Ms. Anderson behind me and my other board members as well we say thank you to the City of Columbia for this partnership for this great initiative put on by our own Councilwoman Tamika Isaac Devine and again I want to thank the one hundred plus readers that are here today to be with us on tomorrow to read to our third graders we know it's so important that the community comes out and to support us each and every time there's an opportunity that we open our school doors and so again we say thank you to them and just want to say 10 things real quick while reading it's so important just talking to some of our principals and some of our admin team they gave me a list of things to talk about and so I said well give me some things that we can tell the public why reading is so important so those 10 things that that they gave to me was first is is imagination imagination is so important and that reading helps that focus and concentration is another thing that reading is important reading helps improve your memory reading helps with communication reading helps with entertainment you get to entertain yourself on reading a variety of things and reading helps with language development and then lastly reading helps make you smarter it doesn't matter what you read as long as you read something every day and we encourage our parents community leaders our guardians of our young people to read each and every day to our young people because if they see us read they will read and reading is fundamental to any and everything that we do so again thank you on behalf of the risk-wander board of school commissioners we thank the city of columbia mayor benjamin and particularly our council woman to make us divine for this initiative and at this time we'll introduce our superintendent dr craig witherspoon for some words as well thank you thank you chairman divine and mayor pro tem divine this is a divine moment absolutely uh i would just uh like to again say thank you certainly to uh the city for this uh partnership that has been going on for 11 years and uh while commissioner divine talked about those 10 things around reading i would like to add one more thing and that's about connections as we've seen we're connecting our community to schools we're collecting we're connecting what has happened uh either in the city of columbia or in south carolina with this reading initiative so we're bringing all of those pieces together through words through books to to engage our students to enhance their learning and to make our community a better place and over these 11 years we've heard about the number of students that have been impacted the community that is impacted and we're seeing that change we're seeing those conversations those discussions those things that help our young people grow and become adults in our community to continue to move us forward so this is another year of us to read to our students to celebrate this activity these events that we have and to make our community a better place so great activity uh we look forward to being in each and every one of our schools tomorrow and across third grade and if you want to see a treat see the smiles of our young people when they not only hear the story and hear our adults read to them but when they get their own copy and this is my book that they can add to their libraries and they can enhance their learning so a great opportunity and we're looking forward to this year as well thank you thank you mr divine and uh superintendent uh with a spoon and so at this point um i would like to ask um councilman um howard devolve another at-large council person to join me for a special presentation all right just making sure no one else has come in i know we've got every council member we'll be reading tomorrow not everyone was able but um you come on the side on behalf of the mayor and the members of columbia city council um it is under our indeed pleasure uh to present this proclamation which i'm going to ask mr devolve to present you don't have to read it off because i know it's small okay the mayor always complains about the frank do you want me to read it can you yeah yes i'll read it okay uh whereas together we can read is a joint partnership between the city of columbia and richland county school district one to provide guest readers for every third grade classroom in the district and whereas march of 26 2019 is the 11th annual together we can read initiative which has impacted more than 22,000 students through the volunteerism and energy of more than 1200 guest readers and whereas the month of march is set aside as national reading month to celebrate the love of books among the children and whereas third grade is a transitional year for students in obtaining critical reading skills for future success in education and life and whereas the books selected for each reading day make tribute pay tribute to south carolina authors culture history and landmarks and whereas this year's book fire and forgiveness by martha dunski who loves delving into history and finding inspirational true stories and illustrated by her sister monica wirick who is the illustrator of crabbing dreaming with animals the hl-hundry submarine and art smart science detective all published by the university of south carolina press now therefore ist benjamin mayor of the city of columbia along with my fellow council members of city council will do hereby proclaim that this city honors and recognizes the efforts of richland county school district one and the city of columbia on tuesday march the 26 2019 is together we can read today signed by the mayor and the captain we will be presenting this to our our richland one representative thank you thank you and so that is it so if anybody has any questions we're happy to read um answer them but other than that every reader will get their books this afternoon and their assignments and then tomorrow morning at nine a.m we will have readers in every single third grade classroom in richland school district one