As ARK ferociously churns out new developments, it is only appropriate that the ARK Desktop Wallet moves beyond version 1.x with an overhaul as well. We are currently working on v2 of the desktop wallet. These upcoming changes are focusing on making it easier to maintain and create greater adaptability for future upgrades, with built in support in preparation for bridgechains.
Angular 1 was used to create the current version of the ARK wallet. Over time, this has become a restriction to development, as the framework is no longer actively maintained. Some of the libraries are no longer being updated and bugs are no longer being fixed by their developers. As a result, adding new features to the ARK wallet becomes increasingly harder and more time consuming.
Maintenance of the current ARK desktop wallet (1.5.1) will continue, but only for critical bug fixes or to release a version with the latest merged pulls and commits.
ARK UI modules
After analyzing our current projects, we have modified our workflow. Since there are several projects that provide similar features, they will be split into components that can be shared across the entire ARK Ecosystem. By developing in Vue.js these shared features can be modularized. Developers, testers, hackers and hobbyists will be able to use just the components of the modularized code that they need for their specific use case. This is preferable to using an entire projects code, or having to code from scratch.
The other benefits of replacing Angular 1 with Vue:
Simplicity : Vue is very easy to learn. Ease of understanding will allow others to become more involved, contribute to ARK development, and move ARK in the right direction.
Performance : Vue is faster and lighter than Angular. Increased speed and a more compact size will use less resources compared with Angular.
Maintenance : Vue has a vibrant, high-quality ecosystem of plugins, libraries and components that are regularly updated.
Tooling: Modern tools are utilized to improve our development workflow, such as a proper live-reload that also works on Electron and makes reviewing changes a breeze. A tool to inspect the inner state and behavior of the application has also been included.
Extensions: Build your own wallet! Now YOU can decide the features you need. The codebase will allow the community to develop and share their own plugins and extensions. Our main focus is to create a secure and stable foundation that is extremely powerful and customizable.
One component that will not change is the use of Electron to wrap the application logic and communication channels with the Operating Systems. Electron has an extensive API that permits the access of USB ports necessary to support hardware wallets (eg. Ledger).
In the new ARK desktop wallet, Mocha and friends will be replaced with Jest for component and desktop application testing. This is a continuation of the push to create a common base for developers (see: Core testing in v2) and to increase uniformity across projects. Developers will be able to quickly grasp concepts that are applicable when switching from one repository to another.
Help Us Build The Next Gen ARK Wallet
Do you think something is missing, is counter-intuitive, or do you want to see more options added? Get involved, after all, we are building this for you, the end-user.
In a few weeks we will publish the code on our GitHub repository of this new desktop wallet (Alpha) so others can jump in, provide input or code and help us improve the new version of the wallet before making the first release candidate publicly available.