ANGULAR NEWS: Using the Wordpress API, Developer Advocacy, PrimeNG, NgUpgrade & RxJS
Tags: angular, wordpress
Published: 2019-07-03 21:03:11

The Angular community is continuously rolling out new tools and resources to help increase the capacity of its members. Keep up with current Angular news as Tracy Lee (@ladyleet) and Taras Mankovski (@tarasm) discuss a variety of topics with Angular experts.

Featured in this article are interviews with Roy Sivan ([@royboy789](http://twitter.com/royboy789)) from Walt Disney, John Papa ([@John_Papa](http://twitter.com/john_papa)) from Microsoft, Kito Mann ([@kito99](http://twitter.com/kito99)) from Virtua, George Kalpakas([@gkalpakas](http://twitter.com/gkalpakas)) from the Angular core team and Ben Lesh ([@benlesh](http://twitter.com/benlesh)) from Google.

## **Wordpress’ API for Mobile App Development & Content Management**

*The benefits of using WordPress API with Roy Sivan*

Roy Sivan is a Senior WordPress developer at Walt Disney. He is a technology expert on WordPress and using WordPress in SPA and mobile development.

WordPress is still a strong contender a CMS solution. It has never been easier to decouple applications from WordPress and allow those working on site content to build out material which can then be used to create applications with any framework of choice, including Angular.

The WordPress API has recently become a popular choice for companies looking to build mobile apps. Because the WordPress API is decoupled from WordPress, you can use AppPresser to pull data from the main site and display it in a native mobile application.

If you have looked into WordPress before and been concerned about security, the open source community has been hard at work solving this problem. Security has always been an important consideration for WordPress due to the large size of the platform, but because of a recent uptick in contributions to this concern, there are now a variety of options for authentication.

Roy encourages those interested in pursuing WordPress to review the new developer handbook to better understand the variety of customization possibilities. It serves as a great resource with in-depth tutorials that walk you through everything from advanced customizations to building your own API endpoints. Chances are, whatever you are trying to accomplish with WordPress has already been thought out and is in the documentation.

{% youtube uWnTyg4pfSA %}

## **The Life of a Developer Advocate and How to be a Better Developer**

*Using advocacy to propel development in the community with John Papa*

Working as a Developer Advocate is all about sharing experience and showing people new ways of doing things. John Papa has been coding for most of his life and a developer advocate for the past 10 years. He loves making contributions that make code easier so developers can focus on the real problems.

John Papa’s work as an advocate includes a variety of methods to promote development in the community.

In Angular, John’s work has played a key role in developer’s lives. He recently wrote VS Code snippets for Angular to help make writing Angular code easier. His snippets allow Angular developers to get rid of much boiler plate and add consistency to their code.

John also played an integral part in creating the style guide for Angular and AngularJS. His style guide work for Angular played significantly into the opinions Angular-CLI gives developers.

John is always encouraging people to get more involved in their development communities. He recommends getting on social media and engaging in conversations, contributing to open source projects, building extension tools, and finding other ways to help developers in their work.

You will often find him presenting at conferences and events. He stresses the importance of participating in hallway conversations and views this as a great way to see what people are saying about different tools. By talking to people between sessions and listening to people’s concerns as a developer advocate, he is able to help give that feedback to core teams and make improvements all around.

{% youtube e0ipsapraDA %}

## PrimeNG

*Getting started with PrimeNG with Kito Mann*

If you’ve done development in Java, you may be familiar with PrimeFaces, a popular Java component library. We sit down with Kito Mann, a technology trainer and mentor at Virtua to discuss PrimeNG.

PrimeNG is an Angular component library that is a derivative of PrimeFaces. The library offers over 70 open source native Angular components along with a variety of theming options for developers.

PrimeNG has become popular amongst developers in organizations as small as 2–3 person shops and large organizations. The primary benefit developers see when using PrimeNG is help with developing complicated UI such as grids, charts and calendar components.

{% youtube mw2G3fclPLY %}
## NgUpgrade

*Integrating ngUpgrade and the latest developments in Angular* *with George Kalpakas*

Constant innovation in the Angular team has recently brought us ngUpgrade. NgUpgrade works by enabling upgrades (making AngularJS components available in Angular) and downgrades (making Angular components available in AngularJS) between components. The goal and vision of the ngUpgrade project is to make it easier for developers working with large AngularJS applications to upgrade to the latest version of Angular. To use ngUpgrade, developers simply need to add upgrade to their projects and bootstrap both frameworks using a sequence of operations.

George Kalpakas, a member of the Angular core team and core contributor to the ngUpgrade project, speaks with us about the project and the plans the Angular team has in store for developers.

There have been a significant amount of improvements to the ngUpgrade project as of late. Recently, ngUpgrade was re-written to incorporate AOT compilation. Another recent addition was improving the interoperability of things like ngModel and control access monitor in order to make it easier to use components and interpolate between Angular and AngularJS.

The path to creating ngUpgrade has not been an easy one. Some of the challenges the team has faced through this process was getting both frameworks to be aware of each other. Current challenges the team is working on is the debugging story for ngUpgrade and solving challenges around users not configuring ngUpgrade correctly and running into errors.

Looking forward, the ngUpgrade team is working on docs and other resources to help people get started using ngUpgrade. Additional plans include improving the performance of ngUpgrade apps and providing more tooling and more boiler plates for various use cases.

If users have questions or feedback through the upgrade process, you can reach George through the ngUpgrade GitHub project where the Angular team is always looking to hear more from their users.

{% youtube IIW5IxhHhVk %}

## RxJS

*RxJS 6 and 7, Testing, and more with Ben Lesh, Author and Project Lead of RxJS 5+*

Ben Lesh is a Software Engineer at Google and is the author and project lead for RxJS 5+. He provides us with an update on the current state of RxJS. Currently, the size of RxJS (minified, bundled, and gzipped is 33k. However, Ben has created a library that shrunk the size of RxJS to only 3k!

To do this, he moved all the error handling into one central spot so v8 can inline all the other functions without having to deal with the de-optimized functions that you get if you have a tryCatch block in a function.

There were some compromises that Ben had to make in order to get it to a smaller size, but the new improvements to the library should be roughly the same speed and about 10x smaller.

Though RxJS does not currently take advantage of Angular’s compiler, an ideal scenario would be to get Angular’s template compiler and use it at build-time to produce functions able to handle updates in the DOM based on the compiled template.

Many who use RxJS wonder about RxJS’s testing story. RxJS has a great testing suite that runs a battery of more than 2,500 tests within a second. Unfortunately it does not provide much utility to the average user yet. The test suite currently schedules synchronistic tests on things that would normally run asynchronistically but does it in a determinate way. It makes some assumptions based off the fact that it is only really used in RxJS’s core library, but there is work being done to make this more useful externally. A lot of challenging problems remain to be resolved before it is successful.

New updates on the testing story include a prototyping of a testing suite in T-Rx. Ben tells us he was able to re-write the schedulers meaning that he had access to a brand new virtual scheduler that he wrapped in a high order function that gives users access to everything you might need for testing. This automatically sets up the other schedulers so they work in an expected way with the test scheduler.

{% youtube r416kcmmuek %}

There is more to come, so keep up to date with RxJS on the latest developments on the project in Github.

*Co-written by Necoline Hubner and Tracy Lee.*

*Need JavaScript consulting, mentoring, or training help? Check out our list of services at [This Dot Labs](thisdot.co).*