We’re very proud of Astrum and how it’s helped so many developers and designers create great pattern libraries. We’re also proud of how stable it’s been since we launched. In this post, I’ll discuss how we’re planning on doing some big updates to the Vue application that powers Astrum.
Time has flown by!
Internally, we’ve had a very busy period launching our own product, Leeve, and also working very hard on client work. Time has flown by (I’ve been here 6 months already 😱) and with that, the technologies that we use to power Astrum have come a long way. There’s some amazing newer features of Vue that will work well for us. These new features have also encouraged a lot of discussion about Astrum.
These discussions have focused on how we see Astrum evolving into an even more useful tool. What is now possible with Vue simply wasn’t available when we first build Astrum 2 years ago.
We’ve come to the inescapable conclusion that we need to rebuild from the ground up.
A rebuild of the application
Suggestions from the community and our own ideas would benefit from better granular control of the content and data within the Astrum application.
Because of this change in our approach to state, the new application structure will be centred around Vuex. By abstracting state into its own system, we’ll be able to improve speed with a more asynchronous approach to loading components and content. We’ll also be able to toy with ideas such as implementing web sockets to help with live reload and a command-line based node-server.
With this in mind, we’re looking to abstract the logic from components as much as possible, to keep things focussed and hopefully, more maintainable. This should also open up opportunities to introduce different types of patterns, along with pattern-level state and icon systems.
Work is already underway
The rebuild has been discussed, planned and is currently underway. Because of this, we’ll gradually be doing housekeeping around the project in terms of pull requests and issues.
We really appreciate the efforts the Astrum community go to, but unfortunately, some of the pull requests and issues that don’t align with this new rebuild will be closed. This is mainly down to the fact that we don’t want to have to delete your work straight after merging it into the core. We think that would be unfair. We’ll also work on our contributing guide so there’s no animosity about contributing to Astrum. We want to be as transparent as possible about how people can help in the most effective way.
We’re going to start organising the projects section of the repository into smaller sprints that are well labeled. This will all begin once the rebuild is in-place though. We’ll communicate when these issues are ready to be worked on for those who are keen to get involved in the project.
A note on backwards compatibility
One thing we want to reassure the community on is backwards compatibility. Although we’re re-writing the core application—we won’t break existing instances of Astrum.
When you run
astrum update you’ll get the new and improved Astrum with all the new features it provides, but everything you’d setup previously will just work as it did before.
Lastly, we want to take this opportunity to thank the Astrum community for all of their involvement over the last couple of years. The community helps to make this product as good as it is and our focus is and always willbe making Astrum both feature-rich and portable, so it can be dropped into any web project.
We’ll be periodically updating you all on the progress of the rebuild. As things progress, we’ll be able to let you all know when this will be ready to launch. For now though, we’ve got lots to do, so we’d best get cracking!