“To support and inspire other developers and companies to launch their products for everyone, at the same time, on every platform” —these words greet guests visiting Callstack office. It’s easy to write such a sentence on the wall, but it means nothing without people that truly believe it. It is something that we appreciate the most, people that are supportive and ready to share their knowledge. People that always seek new knowledge and want to constantly develop their skills. People that are specialists in their domain and inspire others to explore different areas of expertise. That’s what Callstack is about…

At Callstack we’ve been working with open source React Native repositories for a while. We’ve shipped several libraries such as Linaria, Paper, Haul or React Native Testing Library. Besides that, we are constantly helping other maintainers in the community to improve their libraries. There’s a lot of work out there and we are trying to encourage everyone to join our efforts. 💪

Perhaps you remember your first contribution or even a moment before that. Have you found yourself shy to ask questions and propose ideas? …

If you like to stay up to date with the latest trends in web development (or you’re React Native geek like me 😅), you probably heard something about React Hooks. They leverage the ability to write functional components by providing an ability to use state or lifecycles without writing the class that is extending React.Component. If you want to learn more about them, make sure to read this article.

The idea behind hooks sounds excellent, and it should clean up a lot of boilerplate from our React codebases. …

Introduction to Callstack’s Special Forces

Callstack has been on the market for over 2 years now. Today, we have almost 20 world-class developers on our team. They are dealing with most complex React and React Native projects on a daily basis, as we consistently follow our motto:

To support and inspire other developers and companies to launch their products for everyone at the same time on every platform.

That means going out of our comfort zone and explore the unexplored. Our team is made of people who like coding, solving problems and creating most efficient algorithms. That’s a great thing, but sometimes passion is not…

Have you ever been in a situation when you had to fork the library to apply some fix to your app? While working with JavaScript and all the environment around it I found this situation to occur quite often. Especially when it comes to react-native which changes rapidly and the dependencies are often broken due to framework updates (0.40 iOS headers or 0.47 @Override annotation did a lot of damage to non-maintained libs).

Let’s think about the other situations. You’re working with a team of few developers. One guy from your team has to make a change in one of…

Improve your code quality with few simple tools

In my daily job, I see various codebases and collaborate with a lot of developers from all over the world. I’ve noticed that many programmers don’t pay enough attention to things like code cleanness, tests or typings. All of those things are “optional” in JavaScript so you can develop apps without them, but it’s not the way to go if you’re collaborating with other devs or if your project grows larger. There are a few tools build around React which can help you improve your code quality in no time. I’ll try…

How to handle gestures with PanResponder

Pan Responder

Animations are really important part of modern applications. But sometimes animation is not enough. If we want to respond to screen gestures, and apply some animation as well (ie. create drag and drop component) — then we need to use PanResponder. It is designed to work with Animated API, and you can have stunning results after combining those two.

This is last part of series. Here you can check previous ones if you missed some:

PanResponder might be quite complicated, especially if you’re on the…

Amazing Animated API

In this part I would like to cover a bit different cases than LayoutAnimation. It is really great tool, but it has some limitations. We’ll try to implement something more with Animated. This is second part of React Native animation series:

Animated API

To do more complex and interactive animations, you’ll need to use Animated. Basic knowledge of CSS animations and transitions could be a plus, but don’t worry if you don’t know them. …

Simple and pretty LayoutAnimation

Almost every modern app contains dynamic UI elements. When it comes to animating React Native components, platform gives us many useful APIs. Animations are something what can be quite confusing for new developers, so I would like to make life easier for all of you who are struggling with those.

This is a series consists of 3 topics:


First approach I would like to talk about is the easiest one.

Metaprogramming with ES6

Have you ever wondered about how do the things work in JavaScript under the hood? I think it’s a very interesting topic for everyone who’s ever touched this language. But before you spend hours digging through TC39’s ecma262 specification and the core.js repository maybe, it’s a good idea to take a look at what we can achieve with simple knowledge of ES6 APIs. Back in the day we used to use eval() function that let us evaluate JavaScript code in a string.

So expression like this:

Would work pretty much everywhere where you can execute JS (there are some…

Michał Chudziak

Lead Software Engineer @callstack | React, React Native, Swift & Kotlin ❤

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