Although I have never been an Adobe 'fan-boy' I do concede to the fact that they have done a lot for the web in years long past... and they do have some pretty awesome software.
Why Brackets
Now they have finally embraced the open source community for this little gem of a project! I would almost say it was love at first sight! Three features that jumped right out of the proverbial box:- Inline editor that eliminates the need to jump from file to file.
- Written in JavaScript, html and css so no need to tap into different languages to create your own cool extensions.
- Built in test suite for when you are hacking or building extensions.
Testing Code
As for testing user code; there is talk about extending the built in test for this purpose, but while we wait for that there are some pretty cool extensions out there that we can use in the mean time:- brackets-xunit to create all sorts of tests using different systems.
- karma-brackets to run tests inside a docked window within brackets.
Contribute to Brackets
Anyway I can't wait to start hacking and that is exactly the reason for starting this blog! I will try to document my journey on how to get to know the brackets architecture and source code so that it may help others to find their way.Following the instructions from the brackets.io website:
- Explore the repo to get an idea of the source.
- Set up a DEV environment using the repo.
From an introductory video I learned that the Adobe team decided to group some of the issues reported on the github repository as 'starter bugs'. Those could help a starting hacker to get to know the code by solving easy bugs. Awesome idea, but in practice it does not quite work as expected.
In all reality, at the time of this writing there are 15 open starter bugs, most of which have been open for quite some time, some have already been fixed by the Adobe developers on their local code, others are actually pebkac issues where users can't follow instructions. All in all there really isn't that much to choose from.
Brackets Architecture
Searching for different resources...As described in the first link, one soon finds out that Brackets is written using modules in a CommenJS format inside AMD-compatible wrappers and uses RequireJS to load these modules. David Deraedt recommends all who want more information on modules and module loading to checkout Addy Osmani's blog on Writing Modular JavaScript.
David continues to point out another interesting aspect about the Brackets source code; there is a queue system to handle asynchronous requests using a deferred-promise mechanism. recommended reads are jQuery - Deferred Objects and CommonJS - Promises/A proposal.
Taking it all in
That is a lot too take in, all in one go. Tuns of information...
I know one thing though, this will make me a better JavaScript coder altogether!
Time to dig in!
I know one thing though, this will make me a better JavaScript coder altogether!
Time to dig in!
No comments:
Post a Comment