Using multiple libraries in a single project during development

I’m currently working on developing a new software tool for my office HR team. In order to build the tool, I have been reading so many things and learning lots of things while doing the coding. While doing this project I have been observing so many things about development. When we gather requirements and when we know that it is doable, it gives great confidence. When I sit and write the actual code, then only I realize how exhausting it is to complete a feature in the software tool.

The request was to complete the project as soon as possible so, I even work during weekends casually to complete the project. My manager is not very happy about me spending my weekends and working extra hours on this project because this is not my regular project. This is something that I have accepted to help the HR team so I cannot project this work in my timesheets. But this project really keeps me so busy and highly motivated.

Why is this project interesting for me?

I have been a developer for the past 8 years and gradually becoming a software architect. In the 8 years journey so far, I have almost worked on all the parts of the Software development life cycle, starting from requirement gathering till customer support. It has always been an interesting journey for me in every project I have worked so far. Similarly, this new project is also very interesting for me because I get a chance to work with new technology where along with the development that I do, I’m also learning so many new things. I have full freedom here to choose the technology stack that I want.

One great thing about this project is that it makes me learn so many new concepts on the new technology stack that I have taken to build the application. As this software is for internal company purpose, I cannot share the code with the open community unfortunately. But after the project is fully complete I’m planning to remove the confidential informations/data from the code and make the code open source so that people who search for similar projects can easily find my tool and make use of it.

Flexibility to use multiple libraries

The great advantage that we have today with modern development practices is that we have the flexibility to use multiple libraries in our project. Few years before if we need a feature in the software that we build, we might have to sit and write code exclusively for that feature or functionality. Even if we write the code, it used to be mandatory that we have to use the same programming language to write the code. But with the introduction of node js and modern development practices, we can even make use of libraries that are in different programming language inside one project. It will either be as an API that speaks with the current software or it will stay as an additional code to the existing project.

For example, Node Js with Express can be used to write a server-side web API in Javascript and at the same time, we can also write a web API using .net core libraries with C# as the programming language. Both of these can exist together in a single software. When you are writing a front end, you can define which one to use. But at the same time if it exists as an API, then it will not be having any issues but if we are using two different libraries for our front end design, then it can create some problems.

Problems in using multiple font end design libraries

In the current project that I’m talking about, I have been using multiple libraries and templates. I use Bootstrap 4 along with Angular 7 CLI for my UI design and datatables for my grid tables design. For the past two weeks, I have been breaking my head with an issue in the datatables that I use. The data is loaded to the grid section inconsistently. There are references online about the issue that I’m currently facing but none of the solutions specified there is working for me.

So from what I observed, mixing up different libraries in the same project can create problems like this. Though I cannot conclude straight away that the problem is because of mixing without knowing the root cause of my issue, I’m just saying that it is not very easy to build applications with different libraries doing similar tasks.

Today just to try an alternative, I have started using material from angular. The only problem with angular material is that I have to write some additional code to create functionalities that are available in datatables. Today only I have started exploring angular material and my knowledge is not very great yet on that. Maybe it can be even more robust than datatables.

So far in using the angular material, the only confusion that I have now is to continue using bootstrap 4 or fully use angular material for all my UI designs. I have not decided on that part yet. I read about using both Bootstrap 4 as well as angular material in the same project but people mentioned that there were issues if they co-exist in the same project. Looks like most of these things are only on an experimental basis.

Image Source:

Be the first to comment

Leave a Reply