EasyEngine is refueling

3728242273_2f1a25fac1_b

(image by Darryl Moran)

It has been more than a month since we last released EasyEngine’s major version. This delay got many users thinking that the project has been abandoned.

I am writing this post to specifically inform all users that EasyEngine is being actively developed. In fact, we now have 3 full-time developers working on its codebase. You can see all the action in refactor branch.

Refactoring is like a pit stop in racing. You stop for a while, but only for betterment!

Why refactor?

Like a pit stop has different goals/needs like refueling, changing tires and repairs, our refactoring has reasons as well.

In the current stable release, main EasyEngine source codes are present in a single file with more than 3000 lines!

One major goal of the new release is to divide codes into modules and commands scattered over different files.

This will make it:

  1. Easy to contribute/send pull requests
  2. Easy to test/maintain (we are planning to add some kind of unit testing. Any help with this will be highly appreciated)
  3. Easy to build third party plugins (your own modules/commands) in future
  4. Easy to develop multiple modules in parallel

We have also extracted common codes into libraries which other bash projects can use. Reusing these code libraries internally reduces code size significantly.

How will it affect the future?

The first and most important question existing users may face is how it will work on current setup.

The good news is that we will be maintaining backward compatibility, so 99% commands will work without any change. There might be a few very small changes, but less than 1% users will encounter them. In any case, we will publish them in advance. We will have a public beta release as well, where you can test  the new EasyEngine.

Developer Community

EasyEngine has many contributors. Its new code base will be totally different, starting from files and folder hierarchy. We believe that the new structure is self-explanatory, but we will not make this an excuse to shun away from documentation.

I am documenting every aspect of the new EasyEngine, so that developer friends can catch up with the new code base easily, and contribute more often in the future.

ETA/Release Date?

For most users, this remains the most important question.

We do not have any fixed release date, but we are working hard to release Easy Engine around June 20. At the very least, we will release a public beta by then.

We have set up a public chat forum for EasyEngine using gitter.im. Please do not use it for general technical support.

Links: EasyEngine refactor branch | EasyEngine Home