Skip to content

Methodology

Unitools is a collection of tools that help you to build your projects. It is designed to be simple and easy to use. At the same time higly independent with-in itself. This means that you can use only the tools you need and leave the rest behind. Hence the first choice we made was to make it a collection of packages and not a single package.

Why not a single package?

The main reason is that we want to keep the tools abstract and independent. This means that you can use the tools you need and leave the rest behind. This also means that you can use the tools in any project you want and allows you to use @unitools/link package without the peer dependencies of the @unitools/image package for example.

Because of this approach you can use them in a React project, a NextJS project, a React Native project, and a Expo JavaScript project as well without any complications in managing dependencies.

Why should I use Unitools?

If you’re building a project with Next.js, there’s no reason not to use the various tools it provides. Unitools offers a collection of packages that can enhance your development experience. It includes utilities like @unitools/link and @unitools/image, which can be used in different projects without complications in managing dependencies.

If you’re building a React project, a NextJS project, a React Native project, or an Expo JavaScript project, Unitools can be seamlessly integrated. It allows you to use the tools you need and leave the rest behind, just like Solito. Plus, Unitools ensures that the tools are abstract and independent, giving you the flexibility to choose the packages that suit your requirements.

And so, the short answer is, why not use Unitools? If you think you’ll ever work on different types of projects or want to easily switch between your expo app and a nextjs web app, Unitools is future-proof. It provides a simple and easy-to-use solution for building your projects, regardless of the platform you choose. Unitools glues it all together.

Web vs. Native patterns

With the introduction of React Native to the world, we have seen a lot of patterns that are used in web development being used in native development as well. This is a great thing because it allows us to use the same codebase in both worlds i.e. “The start of Universal apps”.

But as things progressed we realised the differences between the two worlds and the patterns that are used in them. For instance consider how the Link component is implemented and used in React Native as compared to web. They are both used to navigate between screens but the way they are used is different. Also if you consider the Image component, the way it is used in web is different from how it is used in React Native. The local asset source is served in web from a self hosted endpoint in web but in React Native you are required to use the require function to get the local assets.

There are a lot of fragmentation in both worlds and we want to bridge that gap. We want to provide a single source of truth for both worlds. This is where Unitools comes in and solves the problem.