Photo by Jeremy Bishop on Unsplash, Logo by Sascha Nuissl

As Angular 9 has been released, NgRx Ducks also provides a new version 9 that is compatible with Ivy. Furthermore, a new API for creating dynamic facades landed that is more straight forward and more flexible than the previous one.

This articles briefly goes through the changes. Before the two most frequently asked questions about NgRx Ducks 9 are answered

Short answer: Nothing

👍 The Decorator API is still there and can be used. If you already use NgRx Ducks you do not have to worry about breaking changes in your app.

Short answers:

  • Better compatibility with NgRx’s types
  • Reduction…

📷 by Alfons Morales on Unsplash, Logo by Sascha Nuissl

In my previous Articles about NgRx Ducks, I have shown how a Duck-service can be used to easily dispatch actions or handle side-effects. These techniques belong to the write-API the needs to be implemented if you are using Redux. This article focuses on the read-API. You will learn how NgRx Ducks integrates NgRx selectors seamlessly to provide a simple API for consuming components.

🏃‍♂️ Let’s start.

Update 🥳

Now, NgRx Ducks has its own Docs-Page showcasing all features.
Happy Reading:

Show me the code

The code discussed in this article is available on ⚡️ StackBlitz. …

Photo by Rodney Minter-Brown on Unsplash

NgRx 8 has introduced new possibilities to create actions, reducers and effects. This article will summarize the new APIs that are available. 🎊

Show me the code

You can check out a full working demo with the new creator-methods hosted on ⚡️ StackBlitz.

Action Creators — createAction

There will be a new way of creation actions in NgRx. Instead of creating a class for each action the method createAction can be used.

// Before
export class LogInfo {
readonly type = '[Logger] Info'
// After
export const logInfo = createAction('[Logger] Info');

For specifying the payload createAction accepts a second parameter expecting a method called props<T>. …

📷 by Alexandre Godreau on Unsplash

Recently, I faced the challenge of getting Jest to work with Ionic 4. This article shows each step of the configuration. I will explain where I struggled a bit and what I have done to get my tests to run.

😇 I am no Ionic expert. Please use the comment section below to let me know if anything could be done better. Thanks!

Show me the code

The project setup discussed in this article is hosted on GitHub.

Setting up a new Ionic project

As I am new to ionic I first installed the Ionic CLI to generate a fresh new project.

# Install CLI
npm install --global ionic

Photo by Pawel Nolbert on Unsplash, Logo by Sascha Nuissl

Hello again 👋, in the previous article we discussed the basic features of NgRx Ducks. If you haven’t read it yet you may want to check it out.

Show me the code!

You will find the code discussed in this article at ⚡️ StackBlitz.

The benefit of @Effects in general

I love how NgRx encapsulates side effects. It automatically makes you separate the responsibilities of your Angular application handling different state concerns. Of cause, you need to maintain @Effect-Services and local UI logic in multiple files. I found out that this little “trade-off” helps to find bugs faster than doing service composition.

Improve Effects with NgRx Ducks

As I started the development of NgRx Ducks…

Photo by Banter Snaps on Unsplash, Logo by Sascha Nuissl

While chatting with colleagues from different companies I have learned that a lot of developer teams ❤️ NgRx. During the discussions, one wish meets me again and again.

🗣 “It would be great if we had less maintenance but more guidance to write code that scales better.”

This motivated me to learn more about different refactoring techniques regarding Redux. I went through videos, articles and the Redux docs. I learned a lot from studying these sources. Finally, I came up with a plug-in for NgRx called NgRx Ducks. 🎉

The goals

Basically, ngrx-ducks is built to simplify the work with NgRx.

  1. ⚡️…

Do you know the feeling if you want to solve something with RxJS but somehow you end up with a complicated solution? — Well, I do. 😃

I am about to write a library that makes it easy to integrate keyboard shortcuts in your webpage.

Pressing keys over time produces a stream. I only need to have a look after every pressed key. After that, I am able to execute a callback that has been registered before.

Did you ever think: “I really know that I have to test this code but the setup is too hard. Thinking about arranging everything makes me mad.”

San Francisco — Picture by @egnerflorian

In many projects we have to deal with highly nested data structures. For example you can think of the state tree inside a Redux Store. It can cost a lot of time to do the test arrangement right and easy to understand for your team members.

Today I am happy to announce kentan. 🚀

This library provides a more efficient way to generate test data based on TypeScript classes or interfaces. It reduces…

The world’s biggest Angular conference

In this article I am going to talk about the topics beeing covered in the keynote given at the very beginning of NG Conf. You can find all the slides on Google Drive.

It is the 18th of April in Salt Lake City, Utah. The ng-conf 2018 is about to start. Before the talks start Kara Ericson (@karaforthewin), Brad Green (@bradlygreen) and Misko Hevery (@mhevery) give a quick overview about the journey the Angular team and the community has taken so far.

🎥 The whole keynote is available on YouTube: Day 1 Keynote


The Angular Comunity counts over a…

I had the pleasure beeing invited to Angular & Beyond. This is a huge “conference-ish” meetup in Nuremberg organized by the usergroup FrankenJS.

I was honored to be there and I loved how everything was organized. ❤️

In this talk I speak about the reasons why you should care about state management in your Angular Applications and which impact this can have on your software projects.

My goals for this talk

When I setup a talk my one and only goal is to provide useful and beneficial information to the audience.

In this talk I focus on the following four points:

  1. Draw attention to the…

Gregor Woiwode

Gregor loves to build tools 🛠 that enable developers to be more productive. He also enjoys 🏃‍♂️ or trying his hand at hobby cooking 👨‍🍳.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store