Offering many out of the box solutions for complex use-cases, Angular is one of the best frameworks for developing single-page applications. Another great thing about Angular is that it’s very opinionated about architecture. This is especially important for bigger development teams since it facilitates the on-boarding of new members and communication between different teams throughout an organization.
The Angular CLI (command line interface) is another amazing tool. It allows us to scaffold an entire Angular application with one command and perform common tasks such as extending, linting, testing, and building our application.
Nest JS, on the other hand, is a framework to develop backend applications with TypeScript. It's based on express JS. If you never heard of Nest JS, I recommend you to check out this…
Asynchronous code is hard! It’s hard to write and to test.
RxJs has changed the way we think about asynchrony. Instead of using Promises, we nowadays deal with streams in the form of Observables or Subjects. RxJs provides us with many out of the box operators to create, merge, or transform streams.
But we do not only get great tools for runtime code, but we also get amazing tools to test streams.
Marble diagrams are a great way of modeling streams. They are used throughout many tutorials and can now also be used in tests to assert streams.
In case you never heard of marble testing I recommend you to checkout the following article. …
Front-end-end development is booming! Nowadays, almost every business owns a web application. Web applications ease continuous delivery and support multiple devices, an important aspect of IoT (Internet of things).
For a long, JavaScript was not considered a serious programming language by many enterprise developers. Often it was seen as a “script kiddy” language. With the new requirements, JavaScript has evolved a lot. Modern front-end development contains much more than classic web development with just HTML, CSS, and JavaScript.
In the past, we were building rich servers with thin clients. …
Angular libraries are a great way for open source projects or companies to share code across multiple applications.
Thanks to the Angular CLI, creating a library is easy. However, by default, your library may not be as tree shakable as you might think. In most cases, this is not a big deal, but sometimes, it can have a considerable impact on consumer’s performance. In other words, your library can slow the (initial load) of an application.
This happens mainly when your library includes third party libraries packaged in another format then ESModules
like moment
for example.
If you are not familiar with the points mentioned in the introduction I recommend you to check out the following article which explains such scenarios in detail. …
Simultaneously to the Angular 9 release, a new version of the Material component library was released. This release includes an absolute highlight feature, Angular Material test harnesses.
Good tests are the backbone of every application. They ensure that our app runs the way we expect it. Moreover, a robust test suite facilitates refactorings. Reliable tests allow us to change things under the hood without affecting the behavior.
In Angular, we distinguish between different types of tests; unit tests, component tests (integration tests) and end to end tests.
Recently, during coffee, I had a chat with a developer about Angular 9. I told him how excited I am for the upcoming release. In particular, because of Ivy.
Even though he already played around with Ivy in version 8, he couldn’t understand my excitement.
“All that hype for a bit smaller bundles!”
Well, there’s a lot more to it. Let’s explore why I am excited about Ivy and why you should be too?
Let’s start with the feature most developers are aware of. With Ivy, we get smaller bundles. …
About