For a while now, and since SuiteCommerce Advanced has become more and more popular, we have been in contact with many developers that are just new to NetSuite and about to embark on building and extending SCA websites. In an attempt to contribute with these devs SuiteCommerce Advanced training I thought I could write a short post introducing tools that our development team use everyday to build awesome SCA online stores and hope that can be of some value to them.

As a disclaimer, I would say that the right tools will depend on the environment, the dev processes, activities and team. The following are tools that I personally find of value.
Hope you think alike!

ATOM.io

The reason why I like this coding text editor is because of its clean UI and the already out-of-the-box integrated features such as Git integration. It’s also simple to customize the tool and even build new packages that extend the way you use Atom.io on your daily coding.

Useful packages available: autocomplete-netsuite , atom-backbone , docblockr , pigments , themes.

Sublime Text is another popular text editor for code and it falls in the same range of easy to integrate features. It may be a very personal subconcious thing or simply a perception but I rather work with ATOM.io for its simple and intuitiveness. Plus, the supporting community is larger.

If the above didn’t make it for you, maybe this short video will:

Node.js

This is almost a required tool when developing on SuiteCommerce Advanced – reason is that Developer Tools for developing on SCA are built on top of many packages and tools that run on Node.js (such as gulp, expressjs, among others).

For those who are not familiar with this tool, Node.js is a JavaScript runtime built on Chrome’s V8 JavaScript engine that uses an event-driven, non-blocking I/O model. Bottom line, it’s awesome for any skilled javascript developer, that’s all you need to know, javascript. What’ also great about it, is that you can find, share and reuse hundreds of thousands of packages of code. Also, a large community – it’s said that Node Package Manager (NPM) is the largest ecosystem of open source libraries in…

 

Bower.io

Another tool that I love is Bower. Defined as a package manager for the web it helps me and my team to keep track of packages versions and make sure they are up to date. Also I can define a specific version range and have it seamlessly updated for my team, allowing us to be working under the same context.

Bower is optimized for front-end and if multiple packages depends on a package, Bower will catch that and resolve it using a flat dependency graph.

Beyond that, it’s simple to install packages and pull all packages versions (from my team projects) right from your development environment. You can install and manage Bower right from the console, which is always a plus for me.

JSDoc

Chances are that if you are reading this, you call yourself a developer, hence you rather code than spend time writing documentation, right? From personal experience, I can say that automated documentation generators such as YUI Doc and JS Doc can become life savers.

JSDoc is a tool that runs over Node.js which will help us to generate automated documentation from our javascript source code.

It’s really simple to use – we have to tell which files needs to be ridden and with a simple command the tool will inspect it for us and generate documentation from our comments. Yes, certain standards have to be followed as you write your code, but it’s totally worth it.

Another thing to consider is that it seems NetSuite will be delivering SCA components based on JS Doc. So you might get familiar with the architecture documentation.

Jasmine

Not so long ago I had to implement new effective ways to test my team’s code and so I came to know Jasmine – a testing framework for JavaScript.

More specific, Jasmine is a behaviour-driven development framework where you can test your JavaScript code with no dependency on other frameworks or libraries and it doesn’t require DOM.

A similar tool to Jasmine is Mochajs if you would like to explore.

Leave a Reply