Tuesday, July 26, 2016

Fresh Guides from Victor Savkin

Since the early days of Angular 2, core team member Victor Savkin has posted his personal thoughts on the platform to his own blog. These offer an internal perspective on how someone who builds Angular thinks about its core concepts.

Victor just refreshed his older posts with the latest and greatest from the current release candidate, at a new location on vsavkin.com. He's also added some new posts.

Check out his writing on a variety of Angular topics:

Wednesday, July 20, 2016

A dedicated team for AngularDart

Until now, the multiple language flavors of Angular 2 were written as TypeScript source, and then automatically compiled to both JavaScript and Dart.  We're happy to announce that going forward, we are splitting the Angular 2 codebase into two flavors—a Dart version and a TypeScript/JavaScript version—and creating a dedicated Angular Dart team.

While this single-source multi-language approach worked in theory, in practice it made it much harder for new contributors to add to the project. Even simple changes could quickly become complicated by cross-language compatibility concerns, and many changes could only be made by someone who understood the entire compilation process and both language targets.

For developers, this doesn't really change much about how you use our APIs, except that it will become easier to contribute changes, and we'll be able to fix issues faster. Both versions will share the same template syntax and, where appropriate, the same API. But you'll have the freedom to submit pull requests in the language that you know best, and changes can be made and reviewed without the added burdens of compilation and cross-compatibility to downstream languages.

For Dart developers, the Angular Dart source code will become cleaner and more Dart-y.  With a dedicated team of Dart experts, we'll be able to close issues more quickly, and finally update all of the documentation with a Dart focus. You'll also be able to use many Dart-specific features that weren't compatible with the TypeScript flavor. And it will be faster. Read more on news.dartlang.org.

If you're a TypeScript or JavaScript developer, you'll also benefit from cleaner JavaScript APIs and performance gains as we simplify the TypeScript codebase to remove the need for compilation to Dart.

We're all excited about this change, and we believe it'll make Angular 2 more useful for everyone involved.

— the Angular team & the Dart team

Monday, July 11, 2016

Angular in China and beyond: Introducing angular.cn

Please welcome Ralph Wang (汪志成) and Rex Ye (叶志敏), joining our blog as guest authors. Ralph is a developer, author, community lead, and Angular GDE in Beijing, China. Rex is an entrepreneur based in London. Together, they have led the first localization of angular.io for developers in China. We're excited to share the newly-launched angular.cn with you! Read on to learn how they did it, and how you can get involved in bringing Angular to your locale.  --Naomi Black,  Angular TPM

Angular.cn - our official site in China

The language barrier does not stop Angular getting all the love from Chinese developers. There is new blood joining our community everyday. Some of them are newcomers, some of them have been using Angular in isolation for a long time without the support from the community. There are more than 4000 active users in our two Angular QQ chat groups, which is nothing compared to the sheer size of the whole Angular community in China. We felt that we needed to do more to enhance the influence of the community so that it could reach and help more developers.
语言的障碍并没有阻挡住中国的开发者们对Angular的热情。每天都有新人加入我们这个社区。他们有的是初学者、有的是在并没有社区支持的情况下自学了Angular很久的人。在我们两个Angular QQ群里,有4000千多名活跃的成员,但是他们仍旧远远比不上全中国Angular社区的巨大数量。我们认为我们需要加强Angular社区的影响,使得它能够影响到以及帮助更多的开发者。

We chose official document localisation as a starting point.

As a large open source project, Angular 2 is in continuous development and its documents will also be constantly updated. “Complete the localisation and leave it alone” obviously does not meet the requirement as a copy of an obsolete document could be misleading. We needed a new approach.
作为一个大型开源代码的项目,Angular 2处在不断的开发中,它的文档也将会被不断地更新。显然,“一次性翻译完,然后再也不管”的模式是无法满足需求的,一份过时的文档有时候甚至会误导读者。我们因此需要采用一种新的、能够保持持续更新的翻译方式。

The new approach we adopted is Git-based. We forked a copy of angular.io and appended the translations right next to each of the corresponding paragraphs. This way, our repository is structurally identical to angular.io. We can pull and merge any changes from angular.io easily and update our translations accordingly. Git has enabled our effective collaboration across time zones. We have created a script to hide the original text post compilation. It also allows our users to toggle the original text by simply clicking on the translated text, or by clicking the (Show English) button in the upper right corner. This is extremely handy for us and community contributors when it is time to review the work.

After over a month of hard working, our localised docs site finally caught up with angular.io.

Without knowing anyone on the Angular team yet, we sent an email to Naomi in the evening, Beijing time. She was online early, California time, and replied right away. A few hours later, we were collaborating with the core Angular team and the project was officially under way . This is an interesting case of effective global collaboration. Ralph was in Beijing, Luke was in Shanghai, Rex was in London and Naomi was in San Francisco.
虽然我们并不认识Angular产品部门的人,但我们还是于北京时间的晚上给Naomi发了个邮件告知她我们的工作结果。加州还是当地的早晨,Naomi很快就给我们回复了热情洋溢邮件,并把我们介绍给了程路。几个小时后, 我们和Angular产品部门的核心团队的协作就开始了。这是个有趣的在全球范围内进行有效合作的案例。汪志成在北京、程路在上海、叶志敏在伦敦,而Naomi在旧金山。

We joined the Angular organisation on github,created the angular/angular-cn repository for our project, and were welcomed to Angular's doc authoring team on Slack so that we could speak to the authors directly regarding their articles and be informed of any future updates. This greatly increased the accuracy and timeliness of our translation. We were also able to contribute ideas to help the authors improve their articles.

To ensure that developers in China would have consistent access from a locally-hosted official domain, Google China's Developer Relations team helped us to secure angular.cn and we launched the site. When we made our work known to our Chinese community, more than 10% subscribers instantly “liked” the news in Ralph’s personal WeChat channel. Many volunteers started to provide valuable feedback on our work, many of whom preferred to be kept anonymous.  All they wanted was the feeling of being able to contribute to the community. Our work has also attracted many new Angular developers to the the community.

Although we expected a positive response from the community according to our past experience with Angular 1, we were still surprised with the overwhelming praises and positive feedback received. Bear in mind that some developers were skeptical about Angular 2’s brand new design approach initially. It looks like Angular 2 has eventually won their heart.
虽然早就从Angular 1的经验中就对社区的正面反响有所期待,但是这个新的网站的发布以及获得的反应仍然超出了我们的想象。要知道,有些人对Angular 2的全新设计曾经是持怀疑态度的。看来,Angular 2的这些优异特性还是赢得了他们的心。

Our work has received great acceptance and recognition in the community. It has helped many developer teams overcome the language barriers. Many teams have started or are preparing to adopt Angular 2 in their projects. There are also a huge amount of developers starting to learn and play with angular 2 in their open source projects.  The Chinese Angular community has become more active than ever since the launch of angular.cn. More and more developers have become involved in the community by actively exchanging ideas and helping solve other people’s issues.
我们的努力和工作成果获得了开发者社区的接受和认可,它帮助了中国的开发者们克服了语言的障碍。已经有不少项目团队开始在筹备或使用Angular 2开发他们的项目,也有大批的开发者们在开始学习或尝试在他们的开源代码项目中使用Angular 2。自从Angular.cn网站发布之后,中国的Angular开发者社区变得更加活跃,越来越多的开发者们参与到我们的社区中来积极进行分享、交流、以及互相帮助解决开发问题。

We have also organised a team of Angular experts to translate the new ng-book 2. We will retain the same quality standard and we aim to publish the book shortly after the official release of Angular 2. We hope this will help Angular 2 take off to a flying start in China!

The workload for the localisation is not the lightest, however it has given us great sense of accomplishment and helped us build influence in our community. If you want to contribute and at the same time obtain recognition from the community, this is the opportunity you do not want to miss. If your local community is not yet strong, this could be the starting point to build a better and stronger one. Would you like to try replicating this effort for your language? The Angular team is looking for leads to bootstrap similar projects in other countries, and we would love to help you.
虽然翻译的工作确实相当繁重,但其成就感和影响力也同样非凡。如果你想付出努力并取得所属社区的认可,这将是一个难得的机会。如果你的社区尚且孱弱,这也是一个建设并发展它的绝好时机。你愿意为Angular技术文档的翻译工作提供你的贡献吗?  Angular产品部门正在寻找更多的志愿者们来做为其它国家市场类似的翻译工作,我们很期盼有更多的志愿者们来加入我们。

There is only one Angular community and that is the global Angular community. Let us work to build up our local communities and connect them together through the Angular team, to form an ever growing Angular community worldwide.

One flower does not bring the spring, one tree does not make a forest. Only a prosperous community could make a technology succeed. The work we have done has not only brought us a great sense of achievement, more importantly it has helped form the building blocks of a stronger community. In this day and age, only a strong community can prevent a technology from becoming obsolete quickly. Only a strong community can help us get support from each other whenever we need. Only a strong community can feed the ever growing job market, which is crucial for business success. More importantly, in the process of building up our community, we will meet countless good friends - maybe, we are already friends, we are just waiting to discover each other.
一花不成春,独木不成林。只有繁荣的社区才能让一项技术发扬光大。我们所做的这些工作,除了给个人带来荣誉之外,更重要的是它有助于建设并保持一个强大的社区。只有强大的社区,才能让我们之所学不至于成为夕阳技术;每个人都有思维盲点,只有强大的社区,才能让我们在将来遇到问题时,可以向他人求助;而将来当我们无论是以技术骨干的身份还是以创业者的身份求贤若渴时,也只有强大的社区才能为我们提供源源不断的高质量的小伙伴儿。最重要的是,在建设社区的过程中,我们结识了很多原本陌生的朋友 —— 或许,他们原本就是我们的朋友,只是在世界的某个角落等待我们去发现而已。

Contributing to a strong community is the best way to pay back to the Angular team for their continuous investment in Angular.

If we can do it, you can!

Dear friends, we look forward to joining forces with you soon!

Ralph Wang and Rex Ye
汪志成 & 叶志敏