Analysis / News

Google Preps Angular 2 for Final Release

2 Mar 2016 10:57am, by

Título: Sem Título
Autor: Athos Bulcão
Ano: 1978 
Técnica: Painel escultório em madeira laqueada
Dimensões: 5m x 5,28m

When Google first announced back in late 2014 that major syntax changes would be coming for their popular Angular.js JavaScript framework, the developer community expressed some concerns. “Screw You, Angular” was the title of one widely-shared, and actually thoughtful, blog post. Another popular post, on Reddit, admonished developers that,”If you take development seriously, you need to stop griping about Angular 2.0.”

But the strong feeling seems in part just a reflection of the strong attachment to Angular. Compared to other frameworks like Ember and React, Angular remains consistently more popular, and Angular’s usage among the top sites has continued to climb over the last six months, according to LibScore.

Now Google is almost ready to release a faster and smaller version of Angular 2, according to Brad Green, Google’s engineering director for AngularJS.

Google’s been promising the beta version will become a bit faster and a lot smaller than the Angular 1.x line. “The ‘bit faster’ is going to land in about two weeks,” Green said, “and the ‘quite a lot smaller’ in about a month and a half.”

“We’ve got this big conference coming up in May, and we certainly want stuff done by then,” Green added, possibly referring to Google I/O, May 18 – 20 or the NG Conference May 4 – 6.

Though the final release was originally scheduled for the end of 2015, “That’s the big thing people are waiting for… Most people would consider that the end of the beta period.” And to help the community follow along, this week Google will also release an end-of-beta tracker — “a set of milestones, so people can see how far along we are.”

“In Angular 2, we have some very clear idioms and APIs for doing all the things that web developers used to do” — Brad Green, Google.

There will still be many smaller improvements to come during the rest of the beta period — localized content, animations, a command-line interface and “a little bit of improvement to the APIs on the router,” says Green. And of course, there’ll be some big improvements too.

“Angular 1 was a framework, something you could just drop into a web page and get going,” says Green. “With Angular 2, we’re really attacking it from a ‘platform of capabilities’ standpoint. We’re still doing the framework, but we’re improving our ability to handle different languages. Our plan is to have versions that will work with many server-side technologies, from Java to Python.”

Microsoft has already demonstrated how its building Angular into ASP.NET and Google is also working with the Drupal team. “We’ve got a Slack channel. We’re working with them daily,” Green said. 1,418 developers have contributed to Angular 1, and there’s 213 contributors working on Angular 2 — including 20 full-time folks on Google’s Angular team, plus another 10 contractors and “a ton of other contributors.”

It’s all part of a massive push to prepare to bring the next major release of Angular for a smooth landing, which also includes working closely with teams using Angular 2 both inside and out of Google.

 

Angular vs Embed and React (cropped)

Angular usage, as measured by Libscore.

Angular 2’s UI architect-team lead Kenny Yates posted on Twitter that he’s “continuing to see an uptick” in companies that are contacting him about Angular 2, and in an interview, the moderator of Reddit’s Angular forum even said that he’s already part of a team that’s using it on a $1.5 million project.

The Old Angular

Meanwhile, Google’s Angular lead says they’ll also continue supporting Angular 1 for at least another year. “What we’ve said on that is we’re going to support Angular 1 until the majority of folks come over to Angular 2,” says Green. Right now based on unique visits over a 30-day period, there’s 1.3 million developers using Angular 1, compared to just 300,000 people using Angular 2, so “We’ve got a ways to go…

“A lot of our effort this year is helping people learn, migrate their apps if it makes sense, or start making new apps on Angular 2,” Green said, pointing to the Google Developers Expert program, where top contributors are groomed, and occasionally even brought to Google for visits.

“We have a special Slack channel — they do a lot of discussion on their own, but they can ping us. So we really try to give them all of the information they need to take to the community, and we work with them to resolve issues,” Green said.

To make the transition as smooth as possible, the development team is also collecting feedback from “a bunch of big teams” who are currently using Angular 2, both inside and outside of Google.

Angular

Google Fiber is already using Angular 2 for its online account management pages, and Google has also started using Angular 2 for its internal CRM solution, Greentea, a Salesforce-like application to manage contacts and meetings and other workflow tasks for their billion-dollar advertising business. Over 100 developers work on the application — and the Angular team is working beside them.

And Google AdWords — another billion-dollar business — will also be switching to Angular 2 soon. “The things that Google dev teams seem to really like is it’s much clearer how to write a component, how to interact with the browser,” said Green, “whereas in Angular 1, we kind of left it up to your own sensibility.

“In Angular 2, we have some very clear idioms and APIs for doing all the things that web developers used to do. We have a new dependency injection that makes it very easy to do ‘lazy loading’. You don’t want the user to have to wait to download,” Green said.

Angular 2 and Weather.com

Google is also keeping a close eye on the experiences of The Weather Channel, which is using Angular for its own website, weather.com. Their first Angular 2 pages will go live next month, though they first began exploring Angular back in 2012, and made a full switch to Angular 1.3 in late 2014. “There’s definitely a ramp-up period,” says Wendy Frazier, the site’s vice president of software engineering. “We’re actually in the process of evaluating our next steps. Do we pursue Angular 2 or ‘roll our own’ ?”

Her team’s experiences are being communicated back to Google’s Angular team through a variety of channels. The weather.com team has visited Mountain View to meet with Google’s Angular engineers, and “We did Google Hangouts, face-to-face, exchanged emails and left comments on GitHub,” said Jeff Lu, The Weather Channel’s front-end development lead for Angular implementation.

In fact, in at least one case Google modified the framework to address one of their specific use cases. “When we bootstrap, there’s not a way to say ‘I want to bootstrap the second component out of the three’ when they’re identical!’ I sent them an email asking how can we have a unique identifier so we can bootstrap that particular component, and they had a workaround for us for the time being until the next release when it’s official,” Lu said.

Frazier applauds the responsiveness of Google’s Angular team. “You can tell they have a road map on where they’re trying to get to with the app and they’re constantly evolving that. They’re listening to our use cases and they’re taking our feedback and incorporating that into their roadmap. They’re not just assuming they know. They actually pivot and make changes.”

So what’s her advice for other teams exploring Angular 2? Google has added new ngUpgrade module to Angular 1 which allows Angular 1 applications to also mix in the new Angular 2 syntax.

“The ngUpgrade is definitely a good bridge during the transition,” Frazier said, “but it’s a bridge you should leverage for a very small amount of time, about three to six months.” And in their case, they’re just writing everything from scratch, rather than adapting Angular 1 code, because of the new syntax and constructs.

A Faster Final Release

But with the major changes come major improvements, according to Brad Green. “On rendering, it’s five to 10 times faster, depending on your use case. We’re going to make it even faster by the final release. We’re going to change from having a library you load to actually generating code that’s just what you need. Bits of the library drop away and it’s much faster,” he said.

And their long-term goals for are even more ambitious. “We would like to work to make Angular future-proof. As we have new releases for Angular, it would be nice if we could give just an upgrade script, so on every release, it would be stress-free.” But what happens if there’s new browser features or old features get deprecated? “There could be an Angular upgrade script that came with that … making this sort of a free upgrade environment.”

Green remembers one Angular developer who says “It’s like it’s just about Christmas, and he can’t wait for it all to happen.” He laughs, then adds, “There are other folks who are a little more stressed. Depends on who you are on the team …

“We’re all very excited,” Green said.

Feature image: “Painel escultório em madeira laqueada Dimensões” by Athos Bulcão via New Old Stock.


A digest of the week’s most important stories & analyses.

View / Add Comments