It feels so good having an application along with Vuex. The application is growing, we add more and more logic into Vuex till we realise that some things went horribly wrong… our app getting slower and harder to maintain — we could have though “We have Vuex! Everything is in it! No more need of passing any business logic as a prop. What could have gone wrong? I’ve realised… everything went WRONG!

Let’s back to basis. Vuex was created to manage shared state across application — just like singleton pattern. We add something to one instance and it’s accessible in every page till we don’t remove it from there or do page reload by pressing f5. By considering example having three store modules: Cart, Product List and Authentication only one of it has place to be — otherwise you will always have to have in mind to clean module: visiting Cart, fetching all of needed data in Cart and then going to Product List. Wait, wait… we need to clear data between those pages, Product List has nothing with Cart module, as we do not do anything within it the data will be growing — we all know who works with e-commerce Product List may have enormous numbers of data. You may ask, but what’s wrong within it? Each data stored consuming browser memory, everything is getting slower, loading next pages, resetting all of the data, remembering to clean after your dirty code — what a pain! …


Writing imports/exports to different channels might be difficult in many aspects. Once the documentation is out of dated nor readable or even close for community. Sometimes you may have to try by matter of trial and error. Luckily someone did the hard job!

Introduction

Aspose.Tasks is a product with built trust along community. It provides solution for managing Microsoft Project tasks.

The product we are working on requires to merge many projects made in Microsoft Project — yeah, we can connect them already inside soft and make some hyperlinks between files and as we know, nobody wants to do that. You may ask why? Sharing project to your people might be not so trivial. They would need to keep the same structure of catalogues. …


Drag & drop might be a nightmare for some reason, the API is pretty limited and the technology progress is way too fast

Facing business might be tough in many aspects, clients always want to reach impossible things so do I! Have you ever though to speed up dragging with GPU? The goal is to limit layout recalculations — they are way too expensive in real time applications.

Business requirements are to create interactive (kinda “sortable”) table with being able to reorder columns. To achieve it we are going to use display grid instead of table.

Whole project is written in Vue.js, it could be improved with Vuex/EventBus to reduce emitting hell. …

About

Maciej Kaczorowski

I am hard working with full programming passion. My goal is to step forward with doing that what I love to do.

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